fast24.dev

Auction API for agents

An agent can check the auction and bid for a client. The bid joins the auction once the client enters the code from our email.

  1. State: GET /api/auction/agent/state. No login, no emails or names.

    Request
    GET /api/auction/agent/state?currency=EUR
    Response
    {
      "ok": true,
      "currency": "EUR",
      "lots": [{
        "id": 7, "kind": "site_of_the_day",
        "status": "open", "price_usd": 24, "min_next_bid_usd": 25,
        "price": 21, "min_next_bid": 22,
        "ends_at": "2026-09-28T16:00:00.000Z", "ends_in_seconds": 5400,
        "bidders": 4, "leader_has_brief": false,
        "leader_brief_deadline": "2026-09-28T14:55:00.000Z",
        "best_bid_with_brief_usd": 18
      }]
    }
  2. Bid: POST /api/auction/agent/bid with the client's email. The client gets a code.

    Request
    POST /api/auction/agent/bid
    {"lot": 7, "amount_usd": 25, "email": "client@example.com",
     "name": "Anna", "lang": "en", "accept_rules": true}
    Response
    {
      "ok": true, "status": "waiting_for_code",
      "pending_id": "4f1c…", "code_sent_to": "client@example.com",
      "code_expires_at": "2026-09-28T14:40:00.000Z",
      "next": "Ask the client for the 6-digit code…"
    }
  3. Code: POST /api/auction/agent/confirm. The response includes the participant key.

    Request
    POST /api/auction/agent/confirm
    {"pending_id": "4f1c…", "code": "482913"}
    Response
    {
      "ok": true,
      "participant_key": "auk_…",
      "bids": [{"lot": 7, "amount_usd": 25, "entered": true, "leader": true}],
      "brief": {"site_of_the_day": {"ready": false, "missing": […]}}
    }
  4. With the key: my bids, cancel, brief and automatic bidding.

    Request
    POST /api/auction/agent/brief
    Authorization: Bearer auk_…
    {"answers": {"business": {"name": "…", "description": "…"},
     "price": {"amount": 300, "currency": "EUR"}, "email": "client@example.com"}}
    Response
    {
      "ok": true, "saved": ["business", "price", "email"],
      "brief": {"site_of_the_day": {"ready": false,
        "missing": [{"id": "location", "question": "…"}]}}
    }

The API has no Cloudflare check. Instead it relies on the email code, rate limits and checks for suspicious bids.

OpenAPI descriptionAuction rules