Gallery Platform API
Reference

Create an offer

Creates a draft offer, optionally with its initial set of works (offer items).

POST
/gallery/offers

Creates a draft offer, optionally with its initial set of works (offer items).

Authorization

bearerAuth offers:create
AuthorizationBearer <token>

A gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).

In: header

Scope: offers:create

Header Parameters

Idempotency-Key?string

Optional. Send a unique key per logical operation to make retries safe: a retry with the same key replays the stored success for 14 days instead of re-running the write. Reusing a key with a different body returns 400.

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Create an offer (optionally with its items).

Response Body

application/json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

application/problem+json

{  "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",  "items": [    {      "offer_id": "string",      "artwork_id": "string",      "position": -9007199254740991,      "caption_override": "string",      "price_shown_cents": -9007199254740991,      "currency": "string",      "price_visible": true,      "created_at": "string"    }  ],  "recipients": [    {      "id": "string",      "offer_id": "string",      "contact_id": "string",      "email": "string",      "expires_at": "string",      "delivery_status": "pending",      "sent_at": "string",      "first_opened_at": "string",      "last_activity_at": "string",      "open_count": -9007199254740991,      "click_count": -9007199254740991,      "created_at": "string"    }  ]}