Skip to main content

Overview

OAuth writes run as durable operations. The API rechecks scopes, accepted admin membership, operation fields and current state on every call. Every execution needs a stable idempotency_key; completed retry records are kept for 30 days. Any write accepts mode: "preview" as a dry run that returns proposed and consequences without changing anything.

Direct Writes

Send the operation fields with mode: "execute" and a stable idempotency_key. No review_token or confirmed is needed. Save the returned operation_id. Go Live makes the event live for participants; tell the user before calling it. Unpublish moves it back to draft.

Reviewed Writes

confirmed: true is the client’s assertion that the user approved the exact preview, including the credits it uses. It is not backend proof of human presence.
  1. Submit the operation fields with mode: "preview".
  2. Show the user proposed.effective_count and proposed.credits_consumed.
  3. After confirmation, repeat the same fields with mode: "execute", the returned review_token, confirmed: true and a stable idempotency_key.
  4. Reviews expire after 15 minutes. A changed payload or event state requires a fresh preview.

Retries

After an ambiguous timeout, query the recorded operation or repeat the identical execution with the same retry key. Do not invent a new key. Reusing a key for a different action returns 409. Pending or queued means accepted, not completed. dispatch_unknown requires status checks and support review before another operation; do not infer failure from an uncertain dispatch.

Endpoint

OAuth only, requiring events:read and accepted membership. Operations are scoped to the signed-in principal as well as the organiser: another user cannot read them even with the same organisation membership.

Path Parameters

Example Request

Example Response

Operation States

Response Models

ReviewedWriteRequest and GuardedOperationData.

Error Responses

See Errors and Conventions.