Get an offer's engagement
The offer's engagement rollup: delivery/open/click totals across recipients, plus a per-artwork view/click/dwell breakdown (most-engaged work first) folded from the tracking event log. Answers 'which works is this offer landing on'.
The offer's engagement rollup: delivery/open/click totals across recipients, plus a per-artwork view/click/dwell breakdown (most-engaged work first) folded from the tracking event log. Answers 'which works is this offer landing on'.
Authorization
bearerAuth offers:readA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: offers:read
Path Parameters
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "offer_id": "string", "status": "draft", "totals": { "works": -9007199254740991, "recipients": -9007199254740991, "delivered": -9007199254740991, "opened": -9007199254740991, "clicked": -9007199254740991, "total_opens": -9007199254740991, "total_clicks": -9007199254740991, "total_dwell_ms": -9007199254740991 }, "artworks": [ { "artwork_id": "string", "title": "string", "artist_name": "string", "views": -9007199254740991, "clicks": -9007199254740991, "total_dwell_ms": -9007199254740991 } ]}{ "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}Duplicate an offer POST
Copies an offer's composition (subject, intro, template, and its works) into a new draft, and returns the audience to carry forward: `template_only` (none), `recipients` (the full original audience), or `non_openers` (only those delivered who never opened). The copy is not sent — pair this with `POST …/send` using the returned `audience` to actually re-send.
Get an offer GET
Returns the offer with its composed items and resolved recipients.