List an offer's recommended recipients
Returns the contacts the recommendation engine would add to this offer: anyone whose stored match on one of the offer's works clears the visible floor, best first, with the works they matched and the strongest evidence item. Contacts already on the offer are omitted. Empty until the engine has judged the offer's works.
Returns the contacts the recommendation engine would add to this offer: anyone whose stored match on one of the offer's works clears the visible floor, best first, with the works they matched and the strongest evidence item. Contacts already on the offer are omitted. Empty until the engine has judged the offer's works.
Authorization
bearerAuth offers:read, contacts:read, artworks:readA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: offers:read, contacts:read, artworks:read
Path Parameters
The offer id.
Query Parameters
Page size. Defaults to 20; the maximum is 100.
1 <= value <= 5020Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "data": [ { "contact_id": "string", "name": "string", "email": "string", "probability": 0, "artworks": [ { "artwork_id": "string", "title": "string", "probability": 0 } ], "top_reason": "string" } ]}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}{ "type": "../dictionary", "title": "string", "status": 0, "detail": "string", "code": "invalid_request", "retry": "permanent", "details": null}List offers GET
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.
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.