Skip to main content
PATCH
This API is in Beta. Endpoints and schemas may change without prior notice.
The body carries any combination of name, description, status, and is_default — at least one field is required. Metadata (name/description) is editable in any status, including ARCHIVED; configuration and styling of an archived checkout stay frozen (the Publish endpoint rejects it).

Lifecycle state machine

  • Publish (status: PUBLISHED) is only valid from NOT_PUBLISHED.
  • Restore is two-step: an ARCHIVED checkout goes back to draft first (status: NOT_PUBLISHED), then can be published (status: PUBLISHED). A direct ARCHIVED → PUBLISHED patch is rejected with 400 INVALID_STATUS_TRANSITION.
  • Patching to the current status is also rejected with 400.
  • Promote (is_default: true) force-publishes the checkout from any state — including ARCHIVED — and atomically demotes the previous default. When sent together with status, the promotion wins and status is ignored. is_default: false is rejected with 400; demote a default by promoting another checkout.
  • The default checkout is guarded: archiving or unpublishing it is rejected with 409 so the account’s storefront is never left without a live checkout.

Authorizations

PUBLIC-API-KEY
string
header
required

Merchant public API key. Found in Yuno dashboard → Settings → API Keys.

PRIVATE-SECRET-KEY
string
header
required

Merchant private secret key, paired with the public key. Never embed in client-side code.

X-Account-Code
string
header
required

UUID of the merchant account scope for the request. The tenant is resolved only from this header.

Headers

X-Idempotency-Key
string

Optional client key, up to 64 characters. Best-effort — re-sending the same key is not guaranteed to be de-duplicated.

Path Parameters

checkout_code
string
required

The unique identifier of the checkout to update (UUID, 36 chars). Non-UUID values are rejected with 400 before processing.

Body

application/json
name
string

New checkout name. Unique per account (a duplicate name is rejected with 409). Editable in any status, including ARCHIVED.

description
string

New checkout description. Editable in any status, including ARCHIVED.

status
enum<string>

Target lifecycle status. PUBLISHED is only reachable from NOT_PUBLISHED; NOT_PUBLISHED is reachable from PUBLISHED (unpublish) or ARCHIVED (restore); ARCHIVED is reachable from PUBLISHED or NOT_PUBLISHED. Any other transition — including patching to the current status — is rejected with 400. Unknown values are rejected with 400.

Available options:
PUBLISHED,
NOT_PUBLISHED,
ARCHIVED
is_default
boolean

Only true is accepted: promotes this checkout to account default, force-publishing it from any state and atomically demoting the previous default. false is rejected with 400 — demote by promoting another checkout instead.

Response

The updated checkout summary. The identifier is exposed as the top-level id. Read the resulting status with the Fetch endpoint.

id
string

Checkout identifier (UUID).

name
string

Checkout name.

description
string

Checkout description.

is_default
boolean

Whether this checkout is the account's default.

is_active
boolean

Whether the checkout is active (serving traffic).

created_at
string<date-time>

Creation timestamp (ISO-8601).