POST /v3/auction/{auctionId}/access — exchange invitation code (private events)
Exchange the organizer’s invitation code for a 72h access grant (accessToken), then present it in the X-Auction-Access header on the gated reads (HAN-2505). Anonymous or authenticated alike.
400 invalid_invitation_code covers a wrong code, wrong-length code, or blank stored code — deliberately indistinguishable so it is not an oracle. 400 not_a_private_event, 503 when the grant secret is unconfigured. Two limiter budgets: auctionAccessExchange (backstop) and auctionAccessExchangeFail (after a failed compare).
Success body: {accessToken, expiresAt} (the by-key route additionally returns auctionId).
Auth: none.
Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Example
AB-12!Responses
Section titled “ Responses ”Grant issued.
object
Example generated
{ "accessToken": "example", "expiresAt": 1}Validation error.
Unified error envelope. retryAfter is present only on transient (429 / 503) responses.
object
Stable machine-readable error code (e.g. unauthorized, forbidden, not_found, validation_error, unavailable).
Human-readable explanation.
Seconds to wait before retrying. Present on 429 and 503.
Example generated
{ "error": "example", "message": "example", "retryAfter": 1}Rate limited; Retry-After seconds.
Unified error envelope. retryAfter is present only on transient (429 / 503) responses.
object
Stable machine-readable error code (e.g. unauthorized, forbidden, not_found, validation_error, unavailable).
Human-readable explanation.
Seconds to wait before retrying. Present on 429 and 503.
Example generated
{ "error": "example", "message": "example", "retryAfter": 1}Access-grant secret unconfigured (access routes only).
Unified error envelope. retryAfter is present only on transient (429 / 503) responses.
object
Stable machine-readable error code (e.g. unauthorized, forbidden, not_found, validation_error, unavailable).
Human-readable explanation.
Seconds to wait before retrying. Present on 429 and 503.
Example generated
{ "error": "example", "message": "example", "retryAfter": 1}