diff --git a/spec/openapi.yaml b/spec/openapi.yaml index 8a5f4c1..de293dd 100644 --- a/spec/openapi.yaml +++ b/spec/openapi.yaml @@ -1,9 +1,8 @@ -# Comfy API v2 — public spec, vendored into this SDK. +# Comfy API v2 — public specification. # -# GENERATED / VENDORED ONE-WAY — DO NOT HAND-EDIT. +# GENERATED ONE-WAY — DO NOT HAND-EDIT. # Projected automatically from the canonical Comfy API v2 contract and -# synced in by CI. Change the upstream contract, not this copy: the SDK's -# own CI regenerates its low layer from this file and FAILS ON DRIFT. +# synced by CI. Change the upstream contract, not this public copy. openapi: 3.0.3 info: @@ -15,11 +14,12 @@ servers: description: Self-hosted (comfy-api-proxy) - url: https://cloud.comfy.org description: Comfy Cloud -- url: https://{deployment}.comfy.org - description: Serverless deployment (URL shape not final) +- url: https://{deployment}.run.comfy.app + description: Serverless deployment variables: deployment: - default: my-deployment + description: DNS-safe deployment id (subdomain label). Staging uses {deployment}.stg.run.comfy.app. + default: dep-1234abcd-56ef-7890-abcd-ef1234567890 security: - bearerAuth: [] - {} @@ -394,7 +394,7 @@ paths: schema: $ref: '#/components/schemas/ErrorEnvelope' '429': - description: '`queue_full` — bounded queue depth reached.' + description: '`queue_full` (bounded queue depth reached) or, on deployment-scoped surfaces, `deployment_not_ready` (deployment still provisioning/starting). Disambiguate by `error.code`; both mean back off and retry after `Retry-After`.' headers: Retry-After: $ref: '#/components/headers/RetryAfter' @@ -755,7 +755,7 @@ components: ' JobUrls: type: object - description: Embedded follow-up links — follow these, don't build URLs. + description: Embedded follow-up links — follow these, don't build URLs. A link is either an absolute URL or a host-relative reference (leading `/`) that already includes any prefix the serving surface is mounted under (e.g. a serverless gateway's `/deployment/{deployment_id}/api/v2`). Clients MUST resolve a host-relative link against the request origin (scheme + authority), never against a configured base URL — joining it to a base URL that carries the same mount prefix duplicates the prefix. required: - self - events @@ -899,6 +899,18 @@ components: `not_found` (404), `unauthorized` (401), `forbidden` (403). + Deployment-scoped surfaces add: `deployment_not_ready` (429 + + + Retry-After — the deployment can still reach ready; retry) and + + `deployment_stopped` (422 — terminal deployment state; a retry + + cannot succeed without operator action). A 429 is disambiguated + + by `error.code` alone; clients should treat any 429 + Retry-After + + as "back off and retry". + ' required: - error