{"openapi":"3.0.3","info":{"title":"Pencil Public Design API","version":"1.0.0","description":"Owned designs, account upload library, typed family-aware editing, persistent AI conversations, and scoped browser sessions. External Pencil AI is disabled by default per partner account; contact Pencil to enable it. All AI endpoints return 403 PUBLIC_DESIGN_AI_DISABLED while disabled, including for previously issued tokens. Existing read/write scopes still apply. REST design editing and regular editor AI are unaffected. Optional landingPageSlug associates a design with its shop. An explicitly authorized viewer prepares current geometry for pricing; a backend then creates an idempotent cart snapshot through the shared shop workflow. Discover supported commands and ready sources for the current design before editing. New public exports, checkout/payment endpoints and MCP are excluded."},"servers":[{"url":"/public-api/v1"}],"tags":[{"name":"REST Designs"},{"name":"REST AI"},{"name":"Preview Sessions"},{"name":"Uploads"},{"name":"Pricing and Cart"},{"name":"Outputs"},{"name":"Viewer Geometry"}],"paths":{"/designs":{"post":{"operationId":"createDesign","summary":"Create a blank design or copy an account-published template, with an initial read-only viewer URL for read/write credentials","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"modelBuilder":{"type":"string","enum":["RING","PENDANT","NAMEPLATE","GENERIC"]},"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"templateId":{"type":"string","format":"uuid"},"sourceDesignId":{"type":"string","format":"uuid","description":"Owned public design ID to copy at expectedSourceRevision."},"expectedSourceRevision":{"type":"integer","minimum":1,"maximum":2147483646,"description":"Current source revision, required when copying an owned design."},"landingPageSlug":{"type":"string","minLength":1,"maxLength":80,"pattern":"^[a-z0-9](?:[a-z0-9-]{0,78}[a-z0-9])?$","description":"Optional exact slug of an enabled landing page in the authenticated account. The design stores its stable ID; omit for an unpriced design/cart (fixed product prices still apply)."}},"required":[],"anyOf":[{"required":["templateId"],"not":{"anyOf":[{"required":["sourceDesignId"]},{"required":["expectedSourceRevision"]}]}},{"required":["modelBuilder"],"not":{"anyOf":[{"required":["sourceDesignId"]},{"required":["expectedSourceRevision"]}]}},{"required":["sourceDesignId","expectedSourceRevision"],"not":{"anyOf":[{"required":["templateId"]},{"required":["landingPageSlug"]}]}}]}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"landingPageId":{"type":"string","format":"uuid","description":"Resolved stable page ID returned when creating a design with landingPageSlug. Retained by identical retries even if the page is renamed."},"viewerUrl":{"type":"string","format":"uri","description":"Ready-to-embed read-only viewer URL on the configured Pencil app origin. Included when the backend credential also has designs:read. Contains a temporary secret in its fragment; do not log or persist it. Each successful create retry returns a fresh URL for the same design."},"viewerExpiresAt":{"type":"string","format":"date-time","description":"Expiration of viewerUrl, up to 15 minutes after this response and capped by the issuing credential expiration. This is not the design expiration. Renew through POST /designs/{id}/browser-sessions."}},"required":["apiVersion","id","revision"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}":{"get":{"operationId":"getDesign","summary":"Read the current authoritative design snapshot","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"name":{"type":"string"},"modelBuilder":{"type":"string"},"partnerId":{"type":"string","format":"uuid"},"landingPageId":{"type":"string","format":"uuid","nullable":true,"description":"Saved landing-page association, or null for a design without page-based pricing. Association alone does not imply price or cart readiness."},"partnerPath":{"type":"string","nullable":true,"description":"The owning account’s actual partner path, or null when unavailable. Match this or partnerId to the viewer route before rendering."},"model":{"type":"object","additionalProperties":true,"description":"Opaque read-only Pencil viewer snapshot. Pass to the Pencil viewer; use public design fields for integration logic."},"preparation":{"type":"object","additionalProperties":false,"properties":{"allowed":{"type":"boolean"}},"required":["allowed"]}},"required":["apiVersion","id","revision","name","modelBuilder","partnerId","partnerPath","landingPageId","model"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/parameter-options":{"get":{"operationId":"getDesignOptions","summary":"Discover materials, actions and controls for a selected customization","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"componentId","in":"query","required":false,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"materials":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":true}},"modelParameters":{"type":"object","additionalProperties":false,"properties":{"finish":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"required":["finish"]},"materialRoles":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"primaryMaterialId":{"type":"string","format":"uuid"},"settingRule":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["ALL_SETTINGS","BY_STONE_TAG"]},"allSettings":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"untagged":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"tagAssignments":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"customizationTagId":{"type":"string","format":"uuid"},"materialSelection":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."}},"required":["customizationTagId","materialSelection"]}}},"required":["mode","allSettings","untagged"]},"tags":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"]}},"settings":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"tagId":{"type":"string","format":"uuid","nullable":true},"materialId":{"type":"string","format":"uuid"}},"required":["componentId","tagId","materialId"]}}},"required":["supported","primaryMaterialId","settingRule","tags","settings"]},"bandStack":{"type":"object","additionalProperties":false,"properties":{"spacingMm":{"type":"number"},"parameters":{"type":"object","additionalProperties":false,"properties":{"spacingMm":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"required":["spacingMm"]}},"required":["spacingMm","parameters"]},"supportedCommands":{"type":"array","items":{"type":"string"}},"component":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["RING_BAND","STONE"]},"values":{"type":"object","additionalProperties":true},"proposedParameters":{"type":"object","additionalProperties":true},"parameters":{"type":"object","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"morphOptions":{"type":"object","additionalProperties":true}},"required":["componentId","kind","values","parameters"]}},"required":["materials"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}},"post":{"operationId":"evaluateDesignOptions","summary":"Evaluate customization controls for proposed selections without saving or generating geometry","tags":["Viewer Geometry"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"parameters":{"type":"object","additionalProperties":true,"description":"Use the parameter names, values and limits returned by parameter-options for the selected component."},"morphs":{"type":"object","minProperties":1,"maxProperties":30,"propertyNames":{"pattern":"^[a-z][a-zA-Z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string","maxLength":100}]},"description":"Band-only proposal at the top level beside componentId, not inside parameters. Use exact keys from the selected band morphOptions, for example {\"bandWidth\":3}. Saved values and revision stay unchanged."}},"required":["componentId"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"materials":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"],"additionalProperties":true}},"modelParameters":{"type":"object","additionalProperties":false,"properties":{"finish":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"required":["finish"]},"materialRoles":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"primaryMaterialId":{"type":"string","format":"uuid"},"settingRule":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["ALL_SETTINGS","BY_STONE_TAG"]},"allSettings":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"untagged":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"tagAssignments":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"customizationTagId":{"type":"string","format":"uuid"},"materialSelection":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."}},"required":["customizationTagId","materialSelection"]}}},"required":["mode","allSettings","untagged"]},"tags":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"}},"required":["id","name"]}},"settings":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"tagId":{"type":"string","format":"uuid","nullable":true},"materialId":{"type":"string","format":"uuid"}},"required":["componentId","tagId","materialId"]}}},"required":["supported","primaryMaterialId","settingRule","tags","settings"]},"bandStack":{"type":"object","additionalProperties":false,"properties":{"spacingMm":{"type":"number"},"parameters":{"type":"object","additionalProperties":false,"properties":{"spacingMm":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"required":["spacingMm"]}},"required":["spacingMm","parameters"]},"supportedCommands":{"type":"array","items":{"type":"string"}},"component":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["RING_BAND","STONE"]},"values":{"type":"object","additionalProperties":true},"proposedParameters":{"type":"object","additionalProperties":true},"parameters":{"type":"object","additionalProperties":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["string","number","integer","boolean","object","array"]},"enum":{"type":"array","items":{}},"minimum":{"type":"number"},"maximum":{"type":"number"},"items":{"type":"object","additionalProperties":true},"anyOf":{"type":"array","items":{"type":"object","additionalProperties":true}},"automatic":{"type":"boolean"},"suggestedRange":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"},"step":{"type":"number"}},"required":["minimum","maximum","step"]},"nullable":{"type":"boolean"},"minProperties":{"type":"integer"},"exclusiveMinimum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"properties":{"type":"object","additionalProperties":{"type":"object","additionalProperties":true}},"additionalProperties":{"type":"boolean"},"description":{"type":"string"},"label":{"type":"string"},"unit":{"type":"string","enum":["mm","ct","ratio","%"]},"group":{"type":"string","enum":["BASIC","ADVANCED"]},"editable":{"type":"boolean"},"unavailableReason":{"type":"string"},"currentValue":{},"defaultValue":{},"dependencies":{"type":"array","items":{"type":"string"}},"edit":{"type":"object","additionalProperties":false,"properties":{"command":{"type":"string","enum":["SET_RING_BAND_PARAMETERS","SET_STONE_PARAMETERS","SET_RING_BAND_SPACING"]},"field":{"type":"string"}},"required":["command","field"]},"reset":{"type":"object","additionalProperties":false,"properties":{"supported":{"type":"boolean"},"reason":{"type":"string"},"value":{"type":"string","nullable":true,"enum":[null]}},"required":["supported"]}},"required":["type"]}},"morphOptions":{"type":"object","additionalProperties":true}},"required":["componentId","kind","values","parameters"]}},"required":["materials"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/component-options":{"get":{"operationId":"getComponentOptions","summary":"Discover account-accessible ready shapes, stones/settings and attachment hardware for this design family","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"parentComponentId","in":"query","required":false,"schema":{"type":"string","format":"uuid","description":"For ring stones, restrict choices to this owned parent band. Automatically selected for a one-band ring."}},{"name":"kind","in":"query","required":true,"schema":{"type":"string","enum":["MAIN_SHAPE","STONE","BAIL","JUMP_RING"]}},{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$","description":"Page size from 1 to 100; defaults to 20."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["MAIN_SHAPE","STONE","BAIL","JUMP_RING"]},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"source":{"type":"string","enum":["BASE_CONFIG","CUSTOM_BASE_CONFIG"]},"cut":{"type":"string"},"shape":{"type":"string"},"settingType":{"type":"string"},"type":{"type":"string"},"size":{"type":"string"},"parameters":{"type":"object","additionalProperties":false,"properties":{"shape":{"type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"string"}}},"required":["values"]},"caratWeight":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":["minimum","maximum"]},"width":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"}},"required":["minimum"]},"length":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"}},"required":["minimum"]},"depth":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"}},"required":["minimum"]}},"required":["shape","caratWeight","width","length","depth"]},"gemTypes":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"name":{"type":"string"},"quality":{"type":"string","nullable":true},"baseStoneTypeId":{"type":"string"},"baseStoneTypeName":{"type":"string","nullable":true}},"required":["id","name"]}}},"required":["id","name"]}},"nextCursor":{"type":"string","format":"uuid","nullable":true}},"required":["kind","items","nextCursor"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/ring-options":{"get":{"operationId":"getRingOptions","summary":"Discover ring templates, page-builder morphs, defaults and editable ranges","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["RING_BAND"]},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"parametricKey":{"type":"string"},"defaults":{"type":"object","additionalProperties":false,"properties":{"parameters":{"type":"object","additionalProperties":true,"description":"Use the parameter names, values and limits returned by parameter-options for the selected component.","minProperties":1},"morphs":{"type":"object","minProperties":0,"maxProperties":30,"propertyNames":{"pattern":"^[a-z][a-zA-Z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string","maxLength":100}]}},"ringSize":{"type":"string","enum":["US_2","US_2.25","US_2.5","US_2.75","US_3","US_3.25","US_3.5","US_3.75","US_4","US_4.25","US_4.5","US_4.75","US_5","US_5.25","US_5.5","US_5.75","US_6","US_6.25","US_6.5","US_6.75","US_7","US_7.25","US_7.5","US_7.75","US_8","US_8.25","US_8.5","US_8.75","US_9","US_9.25","US_9.5","US_9.75","US_10","US_10.25","US_10.5","US_10.75","US_11","US_11.25","US_11.5","US_11.75","US_12","US_12.25","US_12.5","US_12.75","US_13","UK_F","UK_F0.5","UK_G","UK_G0.5","UK_H","UK_H0.5","UK_I","UK_J","UK_J0.5","UK_K","UK_K0.5","UK_L","UK_L0.5","UK_M","UK_M0.5","UK_N","UK_N0.5","UK_O","UK_O0.5","UK_P","UK_P0.5","UK_Q","UK_Q0.5","UK_R","UK_R0.5","UK_S","UK_S0.5","UK_T","UK_T0.5","UK_U","UK_U0.5","UK_V","UK_V0.5","UK_W","UK_W0.5","UK_X","UK_X0.5","UK_Y","UK_Z","UK_Z0.5","EU_44","EU_45","EU_45.5","EU_46","EU_47","EU_47.5","EU_48","EU_48.5","EU_49","EU_50","EU_50.5","EU_51","EU_52","EU_52.5","EU_53","EU_54","EU_54.5","EU_55","EU_56","EU_56.5","EU_57","EU_58","EU_58.5","EU_59","EU_60","EU_60.5","EU_61","EU_61.5","EU_62","EU_63","EU_63.5","EU_64","EU_65","EU_65.5","EU_66","EU_67","EU_67.5","EU_68","EU_69","EU_69.5","EU_70"]},"bandWidthMm":{"type":"number","exclusiveMinimum":0},"bandHeightMm":{"type":"number","exclusiveMinimum":0}},"required":["ringSize","morphs"]},"morphOptions":{"type":"object","additionalProperties":true},"parameters":{"type":"object","additionalProperties":false,"properties":{"ringSize":{"type":"object","additionalProperties":false,"properties":{"values":{"type":"array","items":{"type":"string"}}},"required":["values"]},"bandWidthMm":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":["minimum","maximum"]},"bandHeightMm":{"type":"object","additionalProperties":false,"properties":{"minimum":{"type":"number"},"maximum":{"type":"number"}},"required":["minimum","maximum"]}},"required":["ringSize"]}},"required":["id","name","parametricKey","defaults","morphOptions","parameters"]}},"nextCursor":{"type":"string","format":"uuid","nullable":true}},"required":["kind","items","nextCursor"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/nameplate-options":{"get":{"operationId":"getNameplateOptions","summary":"Discover account-accessible nameplate templates, defaults, fonts and parameter bounds","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"kind":{"type":"string","enum":["NAMEPLATE"]},"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"parametricKey":{"type":"string","enum":["NAMEPLATE"]},"defaults":{"type":"object","additionalProperties":false,"properties":{"text":{"type":"string","minLength":1},"fontFamily":{"type":"string","enum":["Roboto","Inter","Poppins","Playfair Display","Source Sans Pro","Great Vibes","Pacifico","Allura","Dancing Script","Satisfy"]},"fontWeight":{"type":"integer","minimum":100,"maximum":900},"letterSpacing":{"type":"number","minimum":-1,"maximum":1},"textThickness":{"type":"number","minimum":1,"maximum":7},"targetWidthMm":{"type":"number","minimum":10,"maximum":100,"nullable":true},"includeBackplate":{"type":"boolean"},"backplateScale":{"type":"number","minimum":0.1,"maximum":7},"backplateThickness":{"type":"number","minimum":0.5,"maximum":5},"engrave":{"type":"boolean"},"engraveDepth":{"type":"number","minimum":0.1,"maximum":5}},"required":["text","fontFamily","fontWeight","letterSpacing","textThickness","targetWidthMm","includeBackplate","backplateScale","backplateThickness","engrave","engraveDepth"]},"parameters":{"type":"object","additionalProperties":true}},"required":["id","name","parametricKey","defaults","parameters"]}},"nextCursor":{"type":"string","format":"uuid","nullable":true}},"required":["kind","items","nextCursor"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/components":{"get":{"operationId":"getDesignComponents","summary":"Read component handles and supported operations at one revision","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"components":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"componentId":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["MAIN_SHAPE","STONE","BAIL","JUMP_RING","UPLOAD","UNSUPPORTED"]},"configId":{"type":"string","format":"uuid","nullable":true},"parentComponentId":{"type":"string","format":"uuid","nullable":true},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"nullable":true},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"nullable":true},"ringParameters":{"type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string","format":"uuid"},"parameters":{"type":"object","additionalProperties":true},"morphs":{"type":"object","minProperties":0,"maxProperties":30,"propertyNames":{"pattern":"^[a-z][a-zA-Z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string","maxLength":100}]}},"ringSize":{"type":"string","enum":["US_2","US_2.25","US_2.5","US_2.75","US_3","US_3.25","US_3.5","US_3.75","US_4","US_4.25","US_4.5","US_4.75","US_5","US_5.25","US_5.5","US_5.75","US_6","US_6.25","US_6.5","US_6.75","US_7","US_7.25","US_7.5","US_7.75","US_8","US_8.25","US_8.5","US_8.75","US_9","US_9.25","US_9.5","US_9.75","US_10","US_10.25","US_10.5","US_10.75","US_11","US_11.25","US_11.5","US_11.75","US_12","US_12.25","US_12.5","US_12.75","US_13","UK_F","UK_F0.5","UK_G","UK_G0.5","UK_H","UK_H0.5","UK_I","UK_J","UK_J0.5","UK_K","UK_K0.5","UK_L","UK_L0.5","UK_M","UK_M0.5","UK_N","UK_N0.5","UK_O","UK_O0.5","UK_P","UK_P0.5","UK_Q","UK_Q0.5","UK_R","UK_R0.5","UK_S","UK_S0.5","UK_T","UK_T0.5","UK_U","UK_U0.5","UK_V","UK_V0.5","UK_W","UK_W0.5","UK_X","UK_X0.5","UK_Y","UK_Z","UK_Z0.5","EU_44","EU_45","EU_45.5","EU_46","EU_47","EU_47.5","EU_48","EU_48.5","EU_49","EU_50","EU_50.5","EU_51","EU_52","EU_52.5","EU_53","EU_54","EU_54.5","EU_55","EU_56","EU_56.5","EU_57","EU_58","EU_58.5","EU_59","EU_60","EU_60.5","EU_61","EU_61.5","EU_62","EU_63","EU_63.5","EU_64","EU_65","EU_65.5","EU_66","EU_67","EU_67.5","EU_68","EU_69","EU_69.5","EU_70"]},"bandWidthMm":{"type":"number","exclusiveMinimum":0},"bandHeightMm":{"type":"number","exclusiveMinimum":0},"morphOptions":{"type":"object","additionalProperties":true}},"required":["templateId","ringSize","morphs","morphOptions"]},"canEditRingParameters":{"type":"boolean"},"nameplateParameters":{"type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"fontFamily":{"type":"string","enum":["Roboto","Inter","Poppins","Playfair Display","Source Sans Pro","Great Vibes","Pacifico","Allura","Dancing Script","Satisfy"]},"fontWeight":{"type":"integer","minimum":100,"maximum":900},"letterSpacing":{"type":"number","minimum":-1,"maximum":1},"textThickness":{"type":"number","minimum":1,"maximum":7},"targetWidthMm":{"type":"number","minimum":10,"maximum":100,"nullable":true},"includeBackplate":{"type":"boolean"},"backplateScale":{"type":"number","minimum":0.1,"maximum":7},"backplateThickness":{"type":"number","minimum":0.5,"maximum":5},"engrave":{"type":"boolean"},"engraveDepth":{"type":"number","minimum":0.1,"maximum":5}},"required":["templateId","text","fontFamily","fontWeight","letterSpacing","textThickness","targetWidthMm","includeBackplate","backplateScale","backplateThickness","engrave","engraveDepth"]},"canEditNameplate":{"type":"boolean"},"pendantParameters":{"type":"object","additionalProperties":false,"properties":{"templateId":{"type":"string","format":"uuid"},"widthMm":{"type":"number","minimum":0.1,"maximum":1000},"depthMm":{"type":"number","minimum":0.1,"maximum":1000},"scalePercent":{"type":"number"},"heightMm":{"type":"number"},"canScale":{"type":"boolean"}},"required":["templateId","widthMm","depthMm","scalePercent","heightMm","canScale"]},"canEditPendantParameters":{"type":"boolean"},"uploadRole":{"type":"string","enum":["MAIN_SHAPE","ADDED_COMPONENT"]},"canSetStone":{"type":"boolean"},"canSetRingPlacement":{"type":"boolean"},"canScale":{"type":"boolean"},"canAddRingStone":{"type":"boolean"},"canFitProngClearance":{"type":"boolean"},"canFitCathedral":{"type":"boolean"},"canFitRingClearance":{"type":"boolean"},"ringStack":{"type":"object","additionalProperties":false,"properties":{"order":{"type":"integer","minimum":0},"hidden":{"type":"boolean"},"editable":{"type":"boolean"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"nullable":true},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"nullable":true}},"required":["order","hidden","editable","positionMm","rotationDegrees"]},"ringPlacement":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["RING"]},"locationDegrees":{"type":"number"},"heightMm":{"type":"number"},"sideOffsetMm":{"type":"number"},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]}},"required":["mode","locationDegrees","heightMm","sideOffsetMm","rotationDegrees"]},"scalePercent":{"type":"number"},"stoneParameters":{"type":"object","additionalProperties":false,"properties":{"lowerGallerySize":{"type":"integer"},"basketHeightMode":{"type":"string","enum":["STONE_DEPTH","PAVILION"]},"airholes":{"type":"boolean"},"airHoleSize":{"type":"number","exclusiveMinimum":0},"centerJoinHeight":{"type":"number","minimum":0.25,"maximum":8},"bottomJunctionWidth":{"type":"number","minimum":0.5,"maximum":12},"panelThickness":{"type":"number","minimum":0.48,"maximum":2.24},"crownHeightPercent":{"type":"number"},"bezelWallThickness":{"type":"number","minimum":0.45,"maximum":2},"bezelGalleryStyle":{"type":"string","enum":["SOLID","AIRLINE"]},"airlineBridgeSetting":{"type":"string","enum":["PRONG_2","PRONG_2_ALT","PRONG_3","PRONG_4","PRONG_4_ALT","PRONG_4_ALT_2","PRONG_5","PRONG_6","PRONG_6_ALT","PRONG_7","PRONG_8","PRONG_8_ALT","PRONG_2_SHARED","PRONG_1_SHARED"]},"airlineSpacePercent":{"type":"number","minimum":10,"maximum":50},"airlineBridgeWidthPercent":{"type":"number","minimum":50,"maximum":200},"halfBezelPattern":{"type":"string","enum":["OPPOSING_CAPS","TIP_AND_ROUNDED_END","TIP_AND_SHOULDERS","THREE_CORNERS","TIP_AND_OPPOSITE_EDGE","OPPOSING_TIPS","FULL_PARALLEL_EDGES","FULL_CHAMFERED_SIDES"]},"halfBezelSideCoverage":{"type":"string","enum":["LONG_SIDES","SHORT_SIDES"]},"halfBezelCoveragePercent":{"type":"number"},"bezelProngCoveragePercent":{"type":"number"},"haloBaseDepth":{"type":"number","exclusiveMinimum":0},"haloWallThickness":{"type":"number","minimum":0.9,"maximum":3},"prongShape":{"type":"string","enum":["ROUND","TRIANGULAR"]},"galleryDecoration":{"type":"string","enum":["PLAIN","HIDDEN_HALO","MILGRAIN"]},"lowerWidthRatio":{"type":"string","enum":["1.5:1","2:1"]},"doubleProngGap":{"type":"number","exclusiveMinimum":0},"haloSize":{"type":"number","exclusiveMinimum":0},"haloStoneDistance":{"type":"number","minimum":0},"sideWidth":{"type":"number","exclusiveMinimum":0},"sideLength":{"type":"number","exclusiveMinimum":0},"sideDepth":{"type":"number","exclusiveMinimum":0},"hasHiddenHalo":{"type":"boolean"},"hiddenHaloZOffset":{"type":"number","minimum":-0.5,"maximum":0.5},"hasProngPave":{"type":"boolean"},"prongPaveStyle":{"type":"string","enum":["PRONG","SCALLOP"]},"prongPaveSize":{"type":"number","minimum":0.3,"maximum":1.5},"prongPaveStart":{"type":"number","minimum":0},"prongPaveEnd":{"type":"number","minimum":0},"prongStoneStart":{"type":"number","minimum":0,"nullable":true},"prongSetting":{"type":"string","enum":["PRONG_2","PRONG_2_ALT","PRONG_3","PRONG_4","PRONG_4_ALT","PRONG_4_ALT_2","PRONG_5","PRONG_6","PRONG_6_ALT","PRONG_7","PRONG_8","PRONG_8_ALT","PRONG_2_SHARED","PRONG_1_SHARED"]},"prongStyle":{"type":"string","enum":["STRAIGHT","CURVED","CUPPED"]},"prongType":{"type":"string","enum":["DOUBLE","ROUND","TAB","CLAW","V"]},"hasRail":{"type":"boolean"},"railShape":{"type":"string","enum":["ROUND","SQUARE"]},"hasHalo":{"type":"boolean"},"prongsDiameter":{"type":"number","exclusiveMinimum":0},"railDiameter":{"type":"number","exclusiveMinimum":0},"railZOffset":{"type":"number"},"railCornerRadius":{"type":"number","minimum":0,"nullable":true},"galleryNoBottomRail":{"type":"boolean"},"settingHeight":{"type":"number","exclusiveMinimum":0,"nullable":true},"railSizePercent":{"type":"number","minimum":75,"maximum":125},"armsOut":{"type":"boolean"},"settingType":{"type":"string","description":"Use values returned by the design option endpoints for the current account and selections."},"shape":{"type":"string","enum":["ROUND","OVAL","MOVAL","PRINCESS","PEAR","MARQUISE","RADIANT","CUSHION","ELONGATED_CUSHION","HEART","EMERALD","BAGUETTE_STRAIGHT","TRILLION","TRIANGLE","KITE","LOZENGE","ASSCHER","TAPERED_BAGUETTE","TRAPEZOID","CALFS_HEAD","HALF_MOON","HEXAGON","KEYSTONE","LONG_HEXAGON","OCTAGON","OEC_ROUND","OLD_MINE_PEAR_151","OLD_MINE_PEAR_191","OLD_MINE_CUSHION","OLD_MINE_EMERALD","OLD_MINE_OVAL","STEP_CUT_ELONGATED_CUSHION","STEP_CUT_MARQUISE","STEP_CUT_OCTAGON","STEP_CUT_OVAL_NARROW","STEP_CUT_PEAR","SUPERMAN"]},"caratWeight":{"type":"number","minimum":0.01,"maximum":100},"width":{"type":"number","minimum":0.01,"description":"Stone width in mm. Omitted dimensions retain their current values. Do not combine with caratWeight."},"length":{"type":"number","minimum":0.01,"description":"Stone length in mm."},"depth":{"type":"number","minimum":0.01,"description":"Stone depth in mm."},"stoneTypeId":{"type":"string","minLength":1,"maxLength":100},"haloStoneTypeId":{"type":"string","minLength":1,"maxLength":100},"sideStoneTypeId":{"type":"string","minLength":1,"maxLength":100},"truncateSubtraction":{"type":"boolean","description":"Limit the stone cutout to the band for production. The designer preview is unchanged."}},"required":["shape","caratWeight","width","length","depth","stoneTypeId"]},"stoneTypeId":{"type":"string"},"canTransform":{"type":"boolean"},"canRemove":{"type":"boolean"}},"required":["componentId","kind","configId","parentComponentId","positionMm","rotationDegrees","canTransform","canRemove"]}}},"required":["id","revision","components"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/changes":{"post":{"operationId":"configureDesign","summary":"Apply a design change at an expected revision","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["REORDER_RING_BANDS"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"bandIds":{"type":"array","minItems":1,"uniqueItems":true,"items":{"type":"string","format":"uuid"}}},"required":["type","expectedRevision","bandIds"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_RING_BAND_SPACING"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"spacingMm":{"type":"number","minimum":-5,"maximum":3}},"required":["type","expectedRevision","spacingMm"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_RING_BAND_VISIBILITY"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"hidden":{"type":"boolean"}},"required":["type","expectedRevision","componentId","hidden"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_RING_BAND_ROTATION"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]}},"required":["type","expectedRevision","componentId","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["DUPLICATE_RING_BAND"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"}},"required":["type","expectedRevision","componentId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ARRANGE_RING_STONES"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["type","expectedRevision"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["FIT_RING_PRONG_CLEARANCE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["type","expectedRevision"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["FIT_RING_CATHEDRAL"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"}},"required":["type","expectedRevision"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["FIT_RING_CLEARANCE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"}},"required":["type","expectedRevision","componentId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_MODEL_FINISH"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"finish":{"type":"string","enum":["HIGH_POLISH","MATTE","BRUSHED_NORMAL","HAMMERED_NORMAL","SAND_BLAST_NORMAL","SATIN_NORMAL"]}},"required":["type","expectedRevision","finish"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_MATERIAL"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"materialId":{"type":"string","format":"uuid"},"settingRule":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["ALL_SETTINGS","BY_STONE_TAG"]},"allSettings":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"untagged":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."},"tagAssignments":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"customizationTagId":{"type":"string","format":"uuid"},"materialSelection":{"type":"string","minLength":1,"maxLength":100,"description":"Material ID or MATCH_RING_METAL."}},"required":["customizationTagId","materialSelection"]}}},"required":["mode","allSettings","untagged"]}},"required":["type","expectedRevision","materialId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_PENDANT_PARAMETERS"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"widthMm":{"type":"number","minimum":0.1,"maximum":1000},"depthMm":{"type":"number","minimum":0.1,"maximum":1000},"scalePercent":{"type":"integer","minimum":1,"maximum":500}},"required":["type","expectedRevision","componentId"],"anyOf":[{"required":["widthMm"]},{"required":["depthMm"]},{"required":["scalePercent"]}]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_NAMEPLATE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"templateId":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"fontFamily":{"type":"string","enum":["Roboto","Inter","Poppins","Playfair Display","Source Sans Pro","Great Vibes","Pacifico","Allura","Dancing Script","Satisfy"]},"fontWeight":{"type":"integer","minimum":100,"maximum":900},"letterSpacing":{"type":"number","minimum":-1,"maximum":1},"textThickness":{"type":"number","minimum":1,"maximum":7},"targetWidthMm":{"type":"number","minimum":10,"maximum":100,"nullable":true},"includeBackplate":{"type":"boolean"},"backplateScale":{"type":"number","minimum":0.1,"maximum":7},"backplateThickness":{"type":"number","minimum":0.5,"maximum":5},"engrave":{"type":"boolean"},"engraveDepth":{"type":"number","minimum":0.1,"maximum":5}},"required":["type","expectedRevision","templateId","text"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_NAMEPLATE_PARAMETERS"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"text":{"type":"string","minLength":1},"fontFamily":{"type":"string","enum":["Roboto","Inter","Poppins","Playfair Display","Source Sans Pro","Great Vibes","Pacifico","Allura","Dancing Script","Satisfy"]},"fontWeight":{"type":"integer","minimum":100,"maximum":900},"letterSpacing":{"type":"number","minimum":-1,"maximum":1},"textThickness":{"type":"number","minimum":1,"maximum":7},"targetWidthMm":{"type":"number","minimum":10,"maximum":100,"nullable":true},"includeBackplate":{"type":"boolean"},"backplateScale":{"type":"number","minimum":0.1,"maximum":7},"backplateThickness":{"type":"number","minimum":0.5,"maximum":5},"engrave":{"type":"boolean"},"engraveDepth":{"type":"number","minimum":0.1,"maximum":5}},"required":["type","expectedRevision","componentId"],"anyOf":[{"required":["text"]},{"required":["fontFamily"]},{"required":["fontWeight"]},{"required":["letterSpacing"]},{"required":["textThickness"]},{"required":["targetWidthMm"]},{"required":["includeBackplate"]},{"required":["backplateScale"]},{"required":["backplateThickness"]},{"required":["engrave"]},{"required":["engraveDepth"]}]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_UPLOAD"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"uploadId":{"type":"string","format":"uuid"},"role":{"type":"string","enum":["MAIN_SHAPE","ADDED_COMPONENT"]},"uniformScale":{"type":"number","minimum":0.001,"maximum":1000},"placement":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["WORLD"]},"parentComponentId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["mode","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["RING"]},"parentComponentId":{"type":"string","format":"uuid"},"locationDegrees":{"type":"number","minimum":0,"maximum":360},"heightMm":{"type":"number","minimum":-100,"maximum":100},"sidePositionMm":{"type":"number","minimum":-100,"maximum":100},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number","minimum":-360,"maximum":360},"y":{"type":"number","minimum":-360,"maximum":360},"z":{"type":"number","minimum":-360,"maximum":360}},"required":["x","y","z"]}},"required":["mode","parentComponentId","locationDegrees","heightMm","sidePositionMm","rotationDegrees"]}]}},"required":["type","expectedRevision","uploadId","role","placement"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_RING_BAND"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"templateId":{"type":"string","format":"uuid"},"parameters":{"type":"object","additionalProperties":true,"description":"Use the parameter names, values and limits returned by parameter-options for the selected component.","minProperties":1},"morphs":{"type":"object","minProperties":1,"maxProperties":30,"propertyNames":{"pattern":"^[a-z][a-zA-Z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string","maxLength":100}]}},"ringSize":{"type":"string","enum":["US_2","US_2.25","US_2.5","US_2.75","US_3","US_3.25","US_3.5","US_3.75","US_4","US_4.25","US_4.5","US_4.75","US_5","US_5.25","US_5.5","US_5.75","US_6","US_6.25","US_6.5","US_6.75","US_7","US_7.25","US_7.5","US_7.75","US_8","US_8.25","US_8.5","US_8.75","US_9","US_9.25","US_9.5","US_9.75","US_10","US_10.25","US_10.5","US_10.75","US_11","US_11.25","US_11.5","US_11.75","US_12","US_12.25","US_12.5","US_12.75","US_13","UK_F","UK_F0.5","UK_G","UK_G0.5","UK_H","UK_H0.5","UK_I","UK_J","UK_J0.5","UK_K","UK_K0.5","UK_L","UK_L0.5","UK_M","UK_M0.5","UK_N","UK_N0.5","UK_O","UK_O0.5","UK_P","UK_P0.5","UK_Q","UK_Q0.5","UK_R","UK_R0.5","UK_S","UK_S0.5","UK_T","UK_T0.5","UK_U","UK_U0.5","UK_V","UK_V0.5","UK_W","UK_W0.5","UK_X","UK_X0.5","UK_Y","UK_Z","UK_Z0.5","EU_44","EU_45","EU_45.5","EU_46","EU_47","EU_47.5","EU_48","EU_48.5","EU_49","EU_50","EU_50.5","EU_51","EU_52","EU_52.5","EU_53","EU_54","EU_54.5","EU_55","EU_56","EU_56.5","EU_57","EU_58","EU_58.5","EU_59","EU_60","EU_60.5","EU_61","EU_61.5","EU_62","EU_63","EU_63.5","EU_64","EU_65","EU_65.5","EU_66","EU_67","EU_67.5","EU_68","EU_69","EU_69.5","EU_70"]},"bandWidthMm":{"type":"number","minimum":1,"maximum":10},"bandHeightMm":{"type":"number","minimum":1,"maximum":5}},"required":["type","expectedRevision","templateId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_RING_BAND_PARAMETERS"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"parameters":{"type":"object","additionalProperties":true,"description":"Use the parameter names, values and limits returned by parameter-options for the selected component.","minProperties":1},"morphs":{"type":"object","minProperties":1,"maxProperties":30,"propertyNames":{"pattern":"^[a-z][a-zA-Z0-9_]{0,63}$"},"additionalProperties":{"anyOf":[{"type":"number"},{"type":"boolean"},{"type":"string","maxLength":100}]}},"ringSize":{"type":"string","enum":["US_2","US_2.25","US_2.5","US_2.75","US_3","US_3.25","US_3.5","US_3.75","US_4","US_4.25","US_4.5","US_4.75","US_5","US_5.25","US_5.5","US_5.75","US_6","US_6.25","US_6.5","US_6.75","US_7","US_7.25","US_7.5","US_7.75","US_8","US_8.25","US_8.5","US_8.75","US_9","US_9.25","US_9.5","US_9.75","US_10","US_10.25","US_10.5","US_10.75","US_11","US_11.25","US_11.5","US_11.75","US_12","US_12.25","US_12.5","US_12.75","US_13","UK_F","UK_F0.5","UK_G","UK_G0.5","UK_H","UK_H0.5","UK_I","UK_J","UK_J0.5","UK_K","UK_K0.5","UK_L","UK_L0.5","UK_M","UK_M0.5","UK_N","UK_N0.5","UK_O","UK_O0.5","UK_P","UK_P0.5","UK_Q","UK_Q0.5","UK_R","UK_R0.5","UK_S","UK_S0.5","UK_T","UK_T0.5","UK_U","UK_U0.5","UK_V","UK_V0.5","UK_W","UK_W0.5","UK_X","UK_X0.5","UK_Y","UK_Z","UK_Z0.5","EU_44","EU_45","EU_45.5","EU_46","EU_47","EU_47.5","EU_48","EU_48.5","EU_49","EU_50","EU_50.5","EU_51","EU_52","EU_52.5","EU_53","EU_54","EU_54.5","EU_55","EU_56","EU_56.5","EU_57","EU_58","EU_58.5","EU_59","EU_60","EU_60.5","EU_61","EU_61.5","EU_62","EU_63","EU_63.5","EU_64","EU_65","EU_65.5","EU_66","EU_67","EU_67.5","EU_68","EU_69","EU_69.5","EU_70"]},"bandWidthMm":{"type":"number","minimum":1,"maximum":10},"bandHeightMm":{"type":"number","minimum":1,"maximum":5}},"required":["type","expectedRevision","componentId"],"anyOf":[{"required":["parameters"]},{"required":["morphs"]},{"required":["ringSize"]},{"required":["bandWidthMm"]},{"required":["bandHeightMm"]}]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_MAIN_SHAPE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"customBaseConfigId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","customBaseConfigId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_MAIN_SHAPE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"baseConfigId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","baseConfigId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_STONE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"stoneConfigId":{"type":"string","format":"uuid"},"stoneTypeId":{"type":"string","minLength":1,"maxLength":100},"parentComponentId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","stoneConfigId","stoneTypeId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_STONE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"stoneConfigId":{"type":"string","format":"uuid"},"stoneTypeId":{"type":"string","minLength":1,"maxLength":100},"parentComponentId":{"type":"string","format":"uuid"},"placement":{"oneOf":[{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["RING"]},"locationDegrees":{"type":"number"},"heightMm":{"type":"number"},"sideOffsetMm":{"type":"number"},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]}},"required":["mode","locationDegrees","heightMm","sideOffsetMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["RING_DEFAULT"],"description":"Use the shop default: first stone at the top, subsequent stones spaced around it on this band, with 90-degree local rotation."}},"required":["mode"]}]}},"required":["type","expectedRevision","stoneConfigId","stoneTypeId","placement"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_STONE_PARAMETERS"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"lowerGallerySize":{"type":"integer"},"basketHeightMode":{"type":"string","enum":["STONE_DEPTH","PAVILION"]},"airholes":{"type":"boolean"},"airHoleSize":{"type":"number","exclusiveMinimum":0},"centerJoinHeight":{"type":"number","minimum":0.25,"maximum":8},"bottomJunctionWidth":{"type":"number","minimum":0.5,"maximum":12},"panelThickness":{"type":"number","minimum":0.48,"maximum":2.24},"crownHeightPercent":{"type":"number"},"bezelWallThickness":{"type":"number","minimum":0.45,"maximum":2},"bezelGalleryStyle":{"type":"string","enum":["SOLID","AIRLINE"]},"airlineBridgeSetting":{"type":"string","enum":["PRONG_2","PRONG_2_ALT","PRONG_3","PRONG_4","PRONG_4_ALT","PRONG_4_ALT_2","PRONG_5","PRONG_6","PRONG_6_ALT","PRONG_7","PRONG_8","PRONG_8_ALT","PRONG_2_SHARED","PRONG_1_SHARED"]},"airlineSpacePercent":{"type":"number","minimum":10,"maximum":50},"airlineBridgeWidthPercent":{"type":"number","minimum":50,"maximum":200},"halfBezelPattern":{"type":"string","enum":["OPPOSING_CAPS","TIP_AND_ROUNDED_END","TIP_AND_SHOULDERS","THREE_CORNERS","TIP_AND_OPPOSITE_EDGE","OPPOSING_TIPS","FULL_PARALLEL_EDGES","FULL_CHAMFERED_SIDES"]},"halfBezelSideCoverage":{"type":"string","enum":["LONG_SIDES","SHORT_SIDES"]},"halfBezelCoveragePercent":{"type":"number"},"bezelProngCoveragePercent":{"type":"number"},"haloBaseDepth":{"type":"number","exclusiveMinimum":0},"haloWallThickness":{"type":"number","minimum":0.9,"maximum":3},"prongShape":{"type":"string","enum":["ROUND","TRIANGULAR"]},"galleryDecoration":{"type":"string","enum":["PLAIN","HIDDEN_HALO","MILGRAIN"]},"lowerWidthRatio":{"type":"string","enum":["1.5:1","2:1"]},"doubleProngGap":{"type":"number","exclusiveMinimum":0},"haloSize":{"type":"number","exclusiveMinimum":0},"haloStoneDistance":{"type":"number","minimum":0},"sideWidth":{"type":"number","exclusiveMinimum":0},"sideLength":{"type":"number","exclusiveMinimum":0},"sideDepth":{"type":"number","exclusiveMinimum":0},"hasHiddenHalo":{"type":"boolean"},"hiddenHaloZOffset":{"type":"number","minimum":-0.5,"maximum":0.5},"hasProngPave":{"type":"boolean"},"prongPaveStyle":{"type":"string","enum":["PRONG","SCALLOP"]},"prongPaveSize":{"type":"number","minimum":0.3,"maximum":1.5},"prongPaveStart":{"type":"number","minimum":0},"prongPaveEnd":{"type":"number","minimum":0},"prongStoneStart":{"type":"number","minimum":0,"nullable":true},"prongSetting":{"type":"string","enum":["PRONG_2","PRONG_2_ALT","PRONG_3","PRONG_4","PRONG_4_ALT","PRONG_4_ALT_2","PRONG_5","PRONG_6","PRONG_6_ALT","PRONG_7","PRONG_8","PRONG_8_ALT","PRONG_2_SHARED","PRONG_1_SHARED"]},"prongStyle":{"type":"string","enum":["STRAIGHT","CURVED","CUPPED"]},"prongType":{"type":"string","enum":["DOUBLE","ROUND","TAB","CLAW","V"]},"hasRail":{"type":"boolean"},"railShape":{"type":"string","enum":["ROUND","SQUARE"]},"hasHalo":{"type":"boolean"},"prongsDiameter":{"type":"number","exclusiveMinimum":0},"railDiameter":{"type":"number","exclusiveMinimum":0},"railZOffset":{"type":"number"},"railCornerRadius":{"type":"number","minimum":0,"nullable":true},"galleryNoBottomRail":{"type":"boolean"},"settingHeight":{"type":"number","exclusiveMinimum":0,"nullable":true},"railSizePercent":{"type":"number","minimum":75,"maximum":125},"armsOut":{"type":"boolean"},"settingType":{"type":"string","description":"Use values returned by the design option endpoints for the current account and selections."},"shape":{"type":"string","enum":["ROUND","OVAL","MOVAL","PRINCESS","PEAR","MARQUISE","RADIANT","CUSHION","ELONGATED_CUSHION","HEART","EMERALD","BAGUETTE_STRAIGHT","TRILLION","TRIANGLE","KITE","LOZENGE","ASSCHER","TAPERED_BAGUETTE","TRAPEZOID","CALFS_HEAD","HALF_MOON","HEXAGON","KEYSTONE","LONG_HEXAGON","OCTAGON","OEC_ROUND","OLD_MINE_PEAR_151","OLD_MINE_PEAR_191","OLD_MINE_CUSHION","OLD_MINE_EMERALD","OLD_MINE_OVAL","STEP_CUT_ELONGATED_CUSHION","STEP_CUT_MARQUISE","STEP_CUT_OCTAGON","STEP_CUT_OVAL_NARROW","STEP_CUT_PEAR","SUPERMAN"]},"caratWeight":{"type":"number","minimum":0.01,"maximum":100},"width":{"type":"number","minimum":0.01,"description":"Stone width in mm. Omitted dimensions retain their current values. Do not combine with caratWeight."},"length":{"type":"number","minimum":0.01,"description":"Stone length in mm."},"depth":{"type":"number","minimum":0.01,"description":"Stone depth in mm."},"stoneTypeId":{"type":"string","minLength":1,"maxLength":100},"haloStoneTypeId":{"type":"string","minLength":1,"maxLength":100},"sideStoneTypeId":{"type":"string","minLength":1,"maxLength":100},"truncateSubtraction":{"type":"boolean","description":"Limit the stone cutout to the band for production. The designer preview is unchanged."}},"required":["type","expectedRevision","componentId"],"anyOf":[{"required":["lowerGallerySize"]},{"required":["basketHeightMode"]},{"required":["airholes"]},{"required":["airHoleSize"]},{"required":["centerJoinHeight"]},{"required":["bottomJunctionWidth"]},{"required":["panelThickness"]},{"required":["crownHeightPercent"]},{"required":["bezelWallThickness"]},{"required":["bezelGalleryStyle"]},{"required":["airlineBridgeSetting"]},{"required":["airlineSpacePercent"]},{"required":["airlineBridgeWidthPercent"]},{"required":["halfBezelPattern"]},{"required":["halfBezelSideCoverage"]},{"required":["halfBezelCoveragePercent"]},{"required":["bezelProngCoveragePercent"]},{"required":["haloBaseDepth"]},{"required":["haloWallThickness"]},{"required":["prongShape"]},{"required":["galleryDecoration"]},{"required":["lowerWidthRatio"]},{"required":["doubleProngGap"]},{"required":["haloSize"]},{"required":["haloStoneDistance"]},{"required":["sideWidth"]},{"required":["sideLength"]},{"required":["sideDepth"]},{"required":["hasHiddenHalo"]},{"required":["hiddenHaloZOffset"]},{"required":["hasProngPave"]},{"required":["prongPaveStyle"]},{"required":["prongPaveSize"]},{"required":["prongPaveStart"]},{"required":["prongPaveEnd"]},{"required":["prongStoneStart"]},{"required":["prongSetting"]},{"required":["prongStyle"]},{"required":["prongType"]},{"required":["hasRail"]},{"required":["railShape"]},{"required":["hasHalo"]},{"required":["prongsDiameter"]},{"required":["railDiameter"]},{"required":["railZOffset"]},{"required":["railCornerRadius"]},{"required":["galleryNoBottomRail"]},{"required":["settingHeight"]},{"required":["railSizePercent"]},{"required":["armsOut"]},{"required":["settingType"]},{"required":["shape"]},{"required":["caratWeight"]},{"required":["width"]},{"required":["length"]},{"required":["depth"]},{"required":["stoneTypeId"]},{"required":["haloStoneTypeId"]},{"required":["sideStoneTypeId"]},{"required":["truncateSubtraction"]}],"not":{"required":["caratWeight"],"anyOf":[{"required":["width"]},{"required":["length"]},{"required":["depth"]}]}},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_STONE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"stoneConfigId":{"type":"string","format":"uuid"},"stoneTypeId":{"type":"string","minLength":1,"maxLength":100}},"required":["type","expectedRevision","componentId","stoneConfigId","stoneTypeId"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_RING_STONE_PLACEMENT"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"placement":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["RING"]},"locationDegrees":{"type":"number"},"heightMm":{"type":"number"},"sideOffsetMm":{"type":"number"},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]}},"required":["mode","locationDegrees","heightMm","sideOffsetMm","rotationDegrees"]}},"required":["type","expectedRevision","componentId","placement"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_JUMP_RING"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"jumpRingConfigId":{"type":"string","format":"uuid"},"parentComponentId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","jumpRingConfigId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_MAIN_SHAPE_SCALE"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"scalePercent":{"type":"integer","minimum":1,"maximum":500}},"required":["type","expectedRevision","componentId","scalePercent"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_BAIL"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"bailConfigId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","bailConfigId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["ADD_BAIL"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"bailConfigId":{"type":"string","format":"uuid"},"placement":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["TOP_CENTER"],"description":"Place once at the body’s world top center with 1 mm overlap. Unsupported geometry or insufficient contact is rejected."},"parentComponentId":{"type":"string","format":"uuid"}},"required":["mode","parentComponentId"]}},"required":["type","expectedRevision","bailConfigId","placement"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["SET_COMPONENT_TRANSFORM"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World position in millimetres."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"World XYZ Euler rotation in degrees."}},"required":["type","expectedRevision","componentId","positionMm","rotationDegrees"]},{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["REMOVE_COMPONENT"]},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"componentId":{"type":"string","format":"uuid"}},"required":["type","expectedRevision","componentId"]}]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"landingPageId":{"type":"string","format":"uuid","description":"Resolved stable page ID returned when creating a design with landingPageSlug. Retained by identical retries even if the page is renamed."},"componentId":{"type":"string","format":"uuid","description":"Component addressed by this command. Present for component mutations; preserved on retries."},"affectedComponentIds":{"type":"array","items":{"type":"string","format":"uuid"}},"parentComponentId":{"type":"string","format":"uuid","description":"Parent selected by automatic bail placement; preserved on retries."},"positionMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"Resolved world position for automatic bail placement; preserved on retries."},"rotationDegrees":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"],"description":"Resolved XYZ Euler rotation for automatic bail placement; preserved on retries."}},"required":["apiVersion","id","revision"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/revision":{"get":{"operationId":"getDesignRevision","summary":"Check the current revision without rebuilding the renderer snapshot","tags":["REST Designs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["id","revision"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations":{"post":{"operationId":"createAiConversation","summary":"Start a persistent external AI conversation for an owned design","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"designId":{"type":"string","format":"uuid"}},"required":["designId"]}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"origin":{"type":"string","enum":["PUBLIC_API"]},"createdAt":{"type":"string","format":"date-time"}},"required":["apiVersion","id","designId","origin","createdAt"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations/{id}":{"get":{"operationId":"getAiConversation","summary":"Resume an owned external conversation and read its recent public messages","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"before","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$","description":"History page size, default 50, maximum 100."}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"origin":{"type":"string","enum":["PUBLIC_API"]},"createdAt":{"type":"string","format":"date-time"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"messages":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"role":{"type":"string","enum":["user","assistant"]},"content":{"type":"string"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","role","content","createdAt"]}},"nextBeforeMessageId":{"type":"string","format":"uuid","nullable":true}},"required":["apiVersion","id","designId","origin","createdAt","revision","messages","nextBeforeMessageId"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations/{id}/runs":{"post":{"operationId":"submitAiTurn","summary":"Apply an AI instruction or answer a question and return the resulting turn","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"text":{"type":"string","minLength":1,"maxLength":8000,"pattern":"\\S"},"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"answerToQuestionId":{"type":"string","format":"uuid"},"attachmentIds":{"type":"array","maxItems":4,"uniqueItems":true,"items":{"type":"string","format":"uuid"}}},"required":["text","expectedRevision"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"conversationId":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["QUEUED","RUNNING","NEEDS_INPUT","SUCCEEDED","FAILED"]},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"message":{"type":"string","nullable":true},"question":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string"},"options":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"]}},"resolvedByRunId":{"type":"string","format":"uuid","nullable":true}},"required":["id","text","options","resolvedByRunId"],"nullable":true},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["apiVersion","id","conversationId","designId","status","revision","message","question","error","createdAt","updatedAt"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations/{id}/runs/{runId}":{"get":{"operationId":"getAiRun","summary":"Read AI progress, saved revision, structured question or terminal result","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"runId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"id":{"type":"string","format":"uuid"},"conversationId":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["QUEUED","RUNNING","NEEDS_INPUT","SUCCEEDED","FAILED"]},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"message":{"type":"string","nullable":true},"question":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"text":{"type":"string"},"options":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string"},"label":{"type":"string"}},"required":["id","label"]}},"resolvedByRunId":{"type":"string","format":"uuid","nullable":true}},"required":["id","text","options","resolvedByRunId"],"nullable":true},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"nullable":true},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["apiVersion","id","conversationId","designId","status","revision","message","question","error","createdAt","updatedAt"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations/{id}/attachments":{"post":{"operationId":"createAiImageAttachment","summary":"Upload an owned PNG, JPEG or WebP reference image up to 20 MiB; use the returned ID in a turn","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"filename","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["IMAGE"]},"filename":{"type":"string"},"mimeType":{"type":"string","enum":["image/jpeg"]},"width":{"type":"integer"},"height":{"type":"integer"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]}},"required":["id","kind","filename","mimeType","width","height","status"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/ai/conversations/{id}/attachments/{attachmentId}":{"get":{"operationId":"getAiImageAttachment","summary":"Read an owned conversation image’s status and safe metadata","tags":["REST AI"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"attachmentId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["IMAGE"]},"filename":{"type":"string"},"mimeType":{"type":"string","enum":["image/jpeg"]},"width":{"type":"integer"},"height":{"type":"integer"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]}},"required":["id","kind","filename","mimeType","width","height","status"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/browser-sessions":{"post":{"operationId":"createBrowserSession","summary":"Open an existing design, renew preview access or request explicit editing/preparation authority; each call mints a new session","tags":["Preview Sessions"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"mode":{"type":"string","enum":["VIEW","EDIT"]},"expiresInSeconds":{"type":"integer","minimum":60,"maximum":3600},"prepareForCart":{"type":"boolean","description":"Explicitly allow this viewer to submit geometry for pricing/cart. Requires a read/write backend credential; does not grant design edits to VIEW sessions."}},"required":["mode","expiresInSeconds"]}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"token":{"type":"string"},"expiresAt":{"type":"string","format":"date-time"},"designId":{"type":"string","format":"uuid"},"mode":{"type":"string","enum":["VIEW","EDIT"]},"viewerPath":{"type":"string","description":"Relative path on the Pencil app origin. The fragment contains the temporary view token."},"viewerUrl":{"type":"string","format":"uri","description":"Full partner-scoped viewer URL on the server-configured Pencil app origin. Prefer this URL; its fragment contains the temporary view token. Accounts without a partner path use the separate partner-id route."}},"required":["token","expiresAt","designId","mode","viewerPath","viewerUrl"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/uploads":{"post":{"operationId":"createUpload","summary":"Store a reusable owned mesh (STL millimetres or self-contained GLB/GLTF metres), up to 100 MiB","tags":["Uploads"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"filename","in":"query","required":true,"schema":{"type":"string","minLength":1,"maxLength":255}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"sourceBytes":{"type":"integer","minimum":0},"dimensionsMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["id","name","status"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}},"get":{"operationId":"listUploads","summary":"List the authenticated account’s upload library and preparation status","tags":["Uploads"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"after","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"string","pattern":"^(?:[1-9]|[1-9][0-9]|100)$"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"items":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"sourceBytes":{"type":"integer","minimum":0},"dimensionsMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["id","name","status"]}},"nextCursor":{"type":"string","format":"uuid","nullable":true}},"required":["items","nextCursor"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/uploads/{uploadId}":{"get":{"operationId":"getUpload","summary":"Read an owned upload’s readiness; only READY assets can be attached","tags":["Uploads"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"sourceBytes":{"type":"integer","minimum":0},"dimensionsMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["id","name","status"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/uploads/{uploadId}/prepare":{"post":{"operationId":"prepareUpload","summary":"Prepare or recover an existing owned upload through the shared normalization pipeline","tags":["Uploads"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"uploadId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"sourceBytes":{"type":"integer","minimum":0},"dimensionsMm":{"type":"object","additionalProperties":false,"properties":{"x":{"type":"number"},"y":{"type":"number"},"z":{"type":"number"}},"required":["x","y","z"]},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["id","name","status"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/preparation":{"get":{"operationId":"getDesignPreparation","summary":"Read current revision readiness and authoritative shop price; READY with null price follows the existing unpriced shop policy","tags":["Pricing and Cart"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"designId":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"price":{"type":"object","additionalProperties":false,"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string"}},"required":["amount","currency"],"nullable":true},"quoteId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["designId","revision","status","price"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}},"post":{"operationId":"prepareDesignGeometry","summary":"Submit shared-viewer geometry using an explicit preparation browser grant; ordinary VIEW and backend tokens cannot submit","tags":["Viewer Geometry"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"gltf":{"type":"string","minLength":2,"maxLength":16777216,"description":"Self-contained glTF 2.0 JSON produced by the shared Pencil browser viewer."},"metalVolumeBreakdown":{"type":"object","additionalProperties":false,"properties":{"version":{"const":1},"primaryVolumeMm3":{"type":"number","exclusiveMinimum":0},"settingVolumes":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":false,"properties":{"customizationId":{"type":"string","format":"uuid"},"volumeMm3":{"type":"number","exclusiveMinimum":0}},"required":["customizationId","volumeMm3"]}}},"required":["version","primaryVolumeMm3","settingVolumes"]}},"required":["expectedRevision","gltf"]}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"designId":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"status":{"type":"string","enum":["PENDING","READY","FAILED"]},"price":{"type":"object","additionalProperties":false,"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string"}},"required":["amount","currency"],"nullable":true},"quoteId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["designId","revision","status","price"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/cart":{"post":{"operationId":"addDesignToCart","summary":"Freeze the prepared design and invoke the shared shop order workflow; repeat the same idempotency key after a lost response","tags":["Pricing and Cart"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"quoteId":{"type":"string","pattern":"^[a-f0-9]{64}$"},"leadId":{"type":"string","format":"uuid"},"buttonId":{"type":"string","minLength":1,"maxLength":100,"pattern":"^[a-zA-Z0-9_-]+$"},"customer":{"type":"object","additionalProperties":false,"properties":{"name":{"type":"string","minLength":1,"maxLength":200,"pattern":"\\S"},"email":{"type":"string","minLength":5,"maxLength":100,"format":"email"},"phoneNumber":{"type":"string","minLength":1,"maxLength":100,"pattern":"\\S"},"budget":{"type":"string","minLength":1,"maxLength":500,"pattern":"\\S"},"designRequest":{"type":"string","maxLength":4000},"requiredTimeframe":{"type":"string","maxLength":500}},"required":["name","email","phoneNumber","budget"]},"externalSessionId":{"type":"string","minLength":1,"maxLength":128,"pattern":"\\S","description":"Optional opaque partner customer/session reference. This is not a Pencil authentication session."}},"required":["expectedRevision","quoteId"],"not":{"required":["leadId","customer"]}}}}},"responses":{"201":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"cartId":{"type":"string","format":"uuid"},"orderId":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"snapshotModelId":{"type":"string","format":"uuid"},"sourceModelId":{"type":"string","format":"uuid"},"leadId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["ADDED_TO_CART"]},"price":{"type":"object","additionalProperties":false,"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string"}},"required":["amount","currency"],"nullable":true},"effectStatus":{"type":"string","enum":["PENDING","COMPLETE","RECOVERY_REQUIRED"]},"handoff":{"type":"object","additionalProperties":false,"properties":{"platform":{"type":"string","enum":["PENCIL","CUSTOM","SHOPIFY","WIX","WIX_V1","SQUARESPACE"]},"status":{"type":"string","enum":["PENDING","READY","RECOVERY_REQUIRED"]},"productId":{"type":"string"},"variantId":{"type":"string"},"appId":{"type":"string"},"handle":{"type":"string"},"urlSlug":{"type":"string"},"orderId":{"type":"string","format":"uuid"},"cartPropertiesVersion":{"type":"integer","enum":[1]},"cartProperties":{"type":"object","additionalProperties":{"type":"string"}},"product":{"type":"object","additionalProperties":true}},"required":["platform","status"]}},"required":["apiVersion","cartId","orderId","designId","revision","snapshotModelId","sourceModelId","status","price","effectStatus"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/cart/{cartId}":{"get":{"operationId":"getDesignCartReceipt","summary":"Recover the cart receipt and downstream effect state using a backend credential","tags":["Pricing and Cart"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"cartId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"type":"string","enum":["v1"]},"cartId":{"type":"string","format":"uuid"},"orderId":{"type":"string","format":"uuid"},"designId":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"snapshotModelId":{"type":"string","format":"uuid"},"sourceModelId":{"type":"string","format":"uuid"},"leadId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["ADDED_TO_CART"]},"price":{"type":"object","additionalProperties":false,"properties":{"amount":{"type":"number","minimum":0},"currency":{"type":"string"}},"required":["amount","currency"],"nullable":true},"effectStatus":{"type":"string","enum":["PENDING","COMPLETE","RECOVERY_REQUIRED"]},"handoff":{"type":"object","additionalProperties":false,"properties":{"platform":{"type":"string","enum":["PENCIL","CUSTOM","SHOPIFY","WIX","WIX_V1","SQUARESPACE"]},"status":{"type":"string","enum":["PENDING","READY","RECOVERY_REQUIRED"]},"productId":{"type":"string"},"variantId":{"type":"string"},"appId":{"type":"string"},"handle":{"type":"string"},"urlSlug":{"type":"string"},"orderId":{"type":"string","format":"uuid"},"cartPropertiesVersion":{"type":"integer","enum":[1]},"cartProperties":{"type":"object","additionalProperties":{"type":"string"}},"product":{"type":"object","additionalProperties":true}},"required":["platform","status"]}},"required":["apiVersion","cartId","orderId","designId","revision","snapshotModelId","sourceModelId","status","price","effectStatus"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/outputs":{"post":{"operationId":"requestDesignOutput","summary":"Generate a native STL at an exact revision with a backend read/write credential; never creates an order","tags":["Outputs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"expectedRevision":{"type":"integer","minimum":1,"maximum":2147483646},"kind":{"type":"string","enum":["DESIGNER","PRODUCTION","BAND_PRODUCTION"]},"componentId":{"type":"string","format":"uuid"},"isDefault":{"type":"boolean","description":"Native default/scaled selection, independent of shrinkage. Default true."},"shrinkagePercent":{"type":"number","minimum":0,"description":"Native casting shrinkage percentage. Default 0."},"enableMultiMaterialProduction":{"type":"boolean","description":"Existing native different-metal connection behavior. Default true."}},"required":["expectedRevision","kind"],"oneOf":[{"properties":{"kind":{"const":"PRODUCTION"}},"not":{"required":["componentId"]}},{"properties":{"kind":{"const":"DESIGNER"}},"not":{"anyOf":[{"required":["componentId"]},{"required":["isDefault"]},{"required":["shrinkagePercent"]},{"required":["enableMultiMaterialProduction"]}]}},{"properties":{"kind":{"const":"BAND_PRODUCTION"}},"required":["componentId"],"not":{"anyOf":[{"required":["isDefault"]},{"required":["shrinkagePercent"]},{"required":["enableMultiMaterialProduction"]}]}}]}}}},"responses":{"202":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"const":"v1"},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"outputId":{"type":"string","format":"uuid"}},"required":["apiVersion","id","revision","outputId"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}},"/designs/{id}/outputs/{outputId}":{"get":{"operationId":"getDesignOutput","summary":"Read output freshness and short-lived download links; queue records are retained for seven days","tags":["Outputs"],"security":[{"bearerAuth":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"outputId","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"apiVersion":{"const":"v1"},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1,"maximum":2147483646},"outputId":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["DESIGNER","PRODUCTION","BAND_PRODUCTION"]},"format":{"const":"STL"},"units":{"type":"string","enum":["METER","MILLIMETER"],"description":"Native designer STL coordinates use meters; production STL coordinates use millimeters."},"previewFormat":{"const":"GLB"},"previewUnits":{"const":"METER"},"status":{"type":"string","enum":["PENDING","READY","FAILED","STALE"]},"downloadUrl":{"type":"string"},"previewUrl":{"type":"string"},"expiresInSeconds":{"type":"integer"},"error":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"]}},"required":["apiVersion","id","revision","outputId","kind","status","format","units"]}}}},"400":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"401":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"403":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"404":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"409":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"413":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"415":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"422":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"429":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"500":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"502":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"503":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}},"504":{"description":"Request failed","content":{"application/json":{"schema":{"type":"object","additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"currentRevision":{"type":"integer","minimum":1,"maximum":2147483646}},"required":["code","message"]}}}}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Backend pdc_ credential or design-scoped pds_ browser session. Creation and delegation require a backend credential."}}}}