Create a fair portal recipe
Saves a learned mapping for a portal domain (optionally pinned to a fair list). Unique per (gallery, portal domain, fair); use PATCH to revise an existing one.
Saves a learned mapping for a portal domain (optionally pinned to a fair list). Unique per (gallery, portal domain, fair); use PATCH to revise an existing one.
Authorization
bearerAuth artworks:createA gallery API key, sent as Authorization: Bearer gpk_… (or the x-api-key header).
In: header
Scope: artworks:create
Header Parameters
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.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
application/problem+json
{ "id": "string", "portal_domain": "string", "fair_list_id": "string", "version": -9007199254740991, "field_map": [ { "source": "string", "target_ref": "string", "target_label": "string", "transform": "string" } ], "upload_steps": [ { "image_slot": "string", "target_ref": "string" } ], "submit_step": { "target_ref": "string", "confirm": true }, "confirmed_by": "string", "learned_at": "string", "created_at": "string", "updated_at": "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}List events GET
Lists the gallery's domain events, newest first, with cursor pagination — the poll/replay backstop for webhooks. Every event a webhook delivers is retrievable here by its `evt_` id, so a receiver that missed a delivery can reconcile. Filter by `type` (e.g. `artwork.created`); walk older pages with `cursor`.
Delete a fair portal recipe DELETE
Permanently deletes a recipe.