List offers
Lists the gallery's offers with cursor pagination. Filter by `status`, fetch an explicit set with `ids` (comma-separated, max 50), and sort by created/updated/sent.
Lists the gallery's offers with cursor pagination. Filter by status, fetch an explicit set with ids (comma-separated, max 50), and sort by created/updated/sent.
Authorization
bearerAuth offers:readA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: offers:read
Query Parameters
1 <= value <= 100201 <= items <= 50Value in
- "draft"
- "scheduled"
- "sending"
- "sent"
- "canceled"
length <= 2001 <= items <= 10Sort by one of: created, updated, sent (default created).
Value in
- "created"
- "updated"
- "sent"
Sort direction (default desc).
Value in
- "asc"
- "desc"
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "data": [ { "id": "string", "title": "string", "subject": "string", "intro": "string", "template_id": "string", "status": "draft", "track_engagement": true, "scheduled_at": "string", "sent_at": "string", "cc_emails": [ "string" ], "bcc_emails": [ "string" ], "created_by": "string", "metadata": { "property1": "string", "property2": "string" }, "created_at": "string", "updated_at": "string" } ], "next_cursor": "string"}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "string", "retry": "permanent", "details": null}Set an offer's items PATCH
Replaces the full set of works in a draft or scheduled offer (the compose surface's save).
Send an offer POST
Resolves the audience (explicit contacts, a static list's members, and/or ad-hoc emails), snapshots each work's price, mints a per-recipient tokenized link, enqueues the sends, and flips the offer to `sending`. The dispatch worker delivers each email asynchronously.