{"openapi":"3.1.0","info":{"title":"SupplySlate Agent-Native Supply API","version":"2.0.0","description":"One production contract for buyer-owned agents, browser workspaces, suppliers, and operators across ideas, files, BOMs, exact parts, fabrication, industrial RFQs, evidence, human approvals, merchant handoffs, and fulfillment. Unknown is a valid result. Outbound and purchasing require human authority. Suppliers remain merchant of record.","contact":{"name":"SupplySlate","email":"timo@supplyslate.com","url":"https://supplyslate.com"},"license":{"name":"SupplySlate Terms","url":"https://supplyslate.com/terms"}},"servers":[{"url":"https://api.supplyslate.com","description":"Canonical production API"}],"tags":[{"name":"System"},{"name":"OAuth"},{"name":"Browser identity"},{"name":"Public discovery"},{"name":"Onboarding"},{"name":"Providers"},{"name":"Account"},{"name":"Buyer projects"},{"name":"Buyer artifacts"},{"name":"Buyer BOM"},{"name":"Buyer validation"},{"name":"Sourcing"},{"name":"Offers"},{"name":"Supplier"},{"name":"Supplier catalog"},{"name":"Supplier response"},{"name":"Commerce"},{"name":"Orders"},{"name":"Webhooks"},{"name":"Operator"}],"paths":{"/":{"get":{"operationId":"get_","summary":"Describe the production service and canonical entry points","tags":["System"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceDescription"},"example":{"service":"SupplySlate agent-native supply network","version":"2.0.0","documentation":"https://supplyslate.com/docs","mcp":"https://mcp.supplyslate.com/mcp"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/health":{"get":{"operationId":"get_health","summary":"Check service and D1 health","tags":["System"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"},"example":{"status":"ok","service":"supplyslate-agent-network","version":"2.0.0","request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/openapi.json":{"get":{"operationId":"get_openapi_json","summary":"Download this OpenAPI 3.1 contract","tags":["System"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OpenApiDocument"},"example":{"openapi":"3.1.0","info":{"title":"SupplySlate Agent-Native Supply API","version":"2.0.0"},"paths":{}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/oauth-protected-resource":{"get":{"operationId":"get_well_known_oauth_protected_resource","summary":"Discover MCP protected-resource metadata","tags":["OAuth"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryMetadata"},"example":{"resource":"https://mcp.supplyslate.com/mcp","authorization_servers":["https://mcp.supplyslate.com"],"scopes_supported":["projects:read","sourcing:write"]}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/.well-known/oauth-authorization-server":{"get":{"operationId":"get_well_known_oauth_authorization_server","summary":"Discover the OAuth authorization server","tags":["OAuth"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DiscoveryMetadata"},"example":{"resource":"https://mcp.supplyslate.com/mcp","authorization_servers":["https://mcp.supplyslate.com"],"scopes_supported":["projects:read","sourcing:write"]}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/oauth/register":{"post":{"operationId":"post_oauth_register","summary":"Register an OAuth client","tags":["OAuth"],"security":[],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthResponse"},"example":{"data":{"id":"res_example","status":"created"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthClientRegistration"},"example":{"client_name":"Buyer engineering agent","redirect_uris":["https://buyer.example/oauth/callback"],"token_endpoint_auth_method":"none"}}}}}},"/authorize":{"get":{"operationId":"get_authorize","summary":"Begin OAuth authorization with PKCE","tags":["OAuth"],"security":[],"responses":{"200":{"description":"Human OAuth consent page","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}},"302":{"description":"OAuth protocol error redirected to the registered client","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Location":{"description":"Redirect destination.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid authorization request or unknown client","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"response_type","in":"query","required":true,"description":"OAuth response type; must be code.","schema":{"const":"code"}},{"name":"client_id","in":"query","required":true,"description":"Registered OAuth client identifier.","schema":{"type":"string"}},{"name":"redirect_uri","in":"query","required":true,"description":"Exact registered redirect URI.","schema":{"type":"string","format":"uri"}},{"name":"code_challenge","in":"query","required":true,"description":"PKCE S256 challenge.","schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":true,"description":"PKCE method; must be S256.","schema":{"const":"S256"}},{"name":"state","in":"query","required":false,"description":"Opaque client correlation state.","schema":{"type":"string"}}]},"post":{"operationId":"post_authorize","summary":"Confirm OAuth scopes and continue to Google identity","tags":["OAuth"],"security":[],"responses":{"302":{"description":"Continue to Google identity or return a protocol error to the client","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Location":{"description":"Redirect destination.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid or expired consent form","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}},"503":{"description":"Google identity is not configured","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}}},"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/AuthorizationConsentWrite"},"example":{"csrf_token":"one-time-browser-token","organization_name":"Example Robotics"}}}},"parameters":[{"name":"response_type","in":"query","required":true,"description":"OAuth response type; must be code.","schema":{"const":"code"}},{"name":"client_id","in":"query","required":true,"description":"Registered OAuth client identifier.","schema":{"type":"string"}},{"name":"redirect_uri","in":"query","required":true,"description":"Exact registered redirect URI.","schema":{"type":"string","format":"uri"}},{"name":"code_challenge","in":"query","required":true,"description":"PKCE S256 challenge.","schema":{"type":"string"}},{"name":"code_challenge_method","in":"query","required":true,"description":"PKCE method; must be S256.","schema":{"const":"S256"}},{"name":"state","in":"query","required":false,"description":"Opaque client correlation state.","schema":{"type":"string"}}]}},"/oauth/google/callback":{"get":{"operationId":"get_oauth_google_callback","summary":"Complete Google identity and OAuth authorization","tags":["OAuth"],"security":[],"responses":{"302":{"description":"Return an authorization code or protocol error to the registered client","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Location":{"description":"Redirect destination.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid or expired Google authorization response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}},"503":{"description":"Google identity is not configured","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"text/html":{"schema":{"type":"string"},"example":"<!doctype html><title>SupplySlate authorization</title>"}}}},"parameters":[{"name":"state","in":"query","required":true,"description":"Opaque one-time Google authorization state.","schema":{"type":"string"}},{"name":"code","in":"query","required":true,"description":"Google authorization code.","schema":{"type":"string"}}]}},"/oauth/token":{"post":{"operationId":"post_oauth_token","summary":"Exchange an authorization code or refresh token","tags":["OAuth"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/OAuthTokenRequest"}}}}}},"/oauth/revoke":{"post":{"operationId":"post_oauth_revoke","summary":"Revoke an OAuth token","tags":["OAuth"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OAuthResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"$ref":"#/components/schemas/OAuthRevocationRequest"}}}}}},"/v1/auth/login":{"get":{"operationId":"get_v1_auth_login","summary":"Begin Google browser identity sign-in","tags":["Browser identity"],"security":[],"responses":{"302":{"description":"Continue to Google identity","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Location":{"description":"Redirect destination.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid identity response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Google identity is not configured","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"return_to","in":"query","required":false,"description":"Safe SupplySlate-relative route after sign-in.","schema":{"type":"string"}},{"name":"organization_name","in":"query","required":false,"description":"Organization name used only when a new buyer organization must be provisioned.","schema":{"type":"string"}}]}},"/v1/auth/google/callback":{"get":{"operationId":"get_v1_auth_google_callback","summary":"Complete Google browser identity sign-in","tags":["Browser identity"],"security":[],"responses":{"302":{"description":"Return to the requested SupplySlate browser route","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Location":{"description":"Redirect destination.","schema":{"type":"string","format":"uri"}}}},"400":{"description":"Invalid identity response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"503":{"description":"Google identity is not configured","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"state","in":"query","required":true,"description":"Opaque one-time browser-login state.","schema":{"type":"string"}},{"name":"code","in":"query","required":true,"description":"Google authorization code.","schema":{"type":"string"}}]}},"/v1/auth/session":{"get":{"operationId":"get_v1_auth_session","summary":"Read the current browser session and CSRF token","tags":["Browser identity"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SessionResponse"},"example":{"authenticated":false}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/auth/logout":{"post":{"operationId":"post_v1_auth_logout","summary":"Revoke the current browser session","tags":["Browser identity"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/categories":{"get":{"operationId":"get_v1_categories","summary":"List editable supply categories and requirement schemas","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryList"},"example":{"data":[{"code":"electronic-components","name":"Electronic Components","status":"accepting_requests","verification_scope":"editable_network_configuration"}],"pagination":{"limit":1,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"selection_status":"Categories are editable configuration, not validated winners."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/processes":{"get":{"operationId":"get_v1_processes","summary":"List fabrication, kitting, assembly, and test processes","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessList"},"example":{"data":[{"id":"proc_cnc","slug":"cnc-machining","name":"CNC machining","status":"active"}],"pagination":{"limit":1,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"verification_scope":"Process availability is configuration until supported by current supplier or provider evidence."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/requirement-schemas/{identifier}":{"get":{"operationId":"get_v1_requirement_schemas_identifier","summary":"Read a category or process requirement schema","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequirementSchemaResponse"},"example":{"requirement_schema":{"kind":"category","id":"motors-motion-control","slug":"motors-motion-control","name":"Motors and motion control","status":"building_supply","schema":{"required":["description","quantity"],"recommended":["voltage","torque"]},"supported_artifact_types":[],"demand_lanes":["industrial","builder","research"],"entry_kind":"mixed","safety_notes":null,"updated_at":"2026-08-08T00:00:00Z"},"guidance":"Required fields are blocking inputs; unknown values should remain explicit."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"identifier","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/products":{"get":{"operationId":"get_v1_products","summary":"Search published canonical products","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Search terms.","schema":{"type":"string"}}]}},"/v1/products/{product_id}":{"get":{"operationId":"get_v1_products_product_id","summary":"Read one canonical product and its evidence","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProductResponse"},"example":{"product":{"id":"prd_example","name":"48 V brushless motor"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"product_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/compatibility/{compatibility_id}":{"get":{"operationId":"get_v1_compatibility_compatibility_id","summary":"Read one public compatibility assertion and evidence","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompatibilityResponse"},"example":{"compatibility":{"id":"cmp_example","subject":{"type":"product","id":"prd_example"},"object":{"type":"equipment","id":"eqp_example"},"relationship":"compatible_with","conditions":{},"assertion":{},"evidence":{}},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"compatibility_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/supplier-taxonomy":{"get":{"operationId":"get_v1_supplier_taxonomy","summary":"List the legacy industrial service taxonomy","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/suppliers":{"get":{"operationId":"get_v1_suppliers","summary":"Search source-backed supplier profiles","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierList"},"example":{"data":[{"id":"sup_example","name":"Example Fabrication","participation_status":"verified_public","verification":{"status":"verified_public","scope":"supplier_owned_public_source"}}],"pagination":{"limit":20,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"total":1,"verification_scope":"Public claims are not inventory, price, participation, or fulfillment evidence."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":50,"default":20}},{"name":"offset","in":"query","required":false,"description":"Zero-based result offset.","schema":{"type":"integer","minimum":0,"default":0}},{"name":"q","in":"query","required":false,"description":"Search terms.","schema":{"type":"string"}}]}},"/v1/suppliers/{supplier_id}":{"get":{"operationId":"get_v1_suppliers_supplier_id","summary":"Read one supplier profile and claim evidence","tags":["Public discovery"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierResponse"},"example":{"data":{"id":"sup_example","name":"Example Fabrication","participation_status":"verified_public"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"supplier_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/access-requests":{"post":{"operationId":"post_v1_access_requests","summary":"Request reviewed buyer access without signing in","tags":["Onboarding"],"security":[],"responses":{"202":{"description":"Accepted durably for asynchronous processing","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"},"example":{"data":{"id":"ar_0f3d2c81","status":"pending","next":"SupplySlate will review the buyer and integration details before enabling a workspace. Keep the private links below; review status is readable at either without email.","status_check":{"path":"/v1/applications/appstat_example_token_value_9f2c","web_url":"https://supplyslate.com/applications/appstat_example_token_value_9f2c","expires_at":"2026-11-22T10:00:00.000Z"}},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessRequestWrite"},"example":{"organization_name":"Example Robotics","requester_name":"Alex Rivera","requester_email":"alex@example.com","agent_or_system":"Internal procurement agent","categories":["motors-motion-control"],"use_case":"Automate sourcing for prototype and low-volume robotics builds."}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/supplier-claims":{"post":{"operationId":"post_v1_supplier_claims","summary":"Claim or create a supplier profile for review","tags":["Onboarding"],"security":[],"responses":{"202":{"description":"Accepted durably for asynchronous processing","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"},"example":{"data":{"id":"sc_0f3d2c81","status":"pending","email_domain_matches_website":true,"next":"SupplySlate will verify authority before enabling catalog and RFQ access. Keep the private links below; review status is readable at either without email.","status_check":{"path":"/v1/applications/appstat_example_token_value_4b7e","web_url":"https://supplyslate.com/applications/appstat_example_token_value_4b7e","expires_at":"2026-11-22T10:00:00.000Z"}},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierClaimWrite"},"example":{"company_name":"Example Fabrication","website":"https://supplier.example","requester_name":"Sam Lee","requester_email":"sam@supplier.example","requester_title":"Sales director"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/applications/{status_token}":{"get":{"operationId":"get_v1_applications_status_token","summary":"Check applicant review status with the private status token shown at submission","tags":["Onboarding"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApplicationStatusResponse"},"example":{"application":{"kind":"access_request","status":"approved","submitted_at":"2026-08-24T10:00:00.000Z","reviewed_at":"2026-08-24T15:30:00.000Z","next":"Your buyer workspace is active. Sign in at https://supplyslate.com/signin with alex@example.com to continue."},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"status_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/providers":{"get":{"operationId":"get_v1_providers","summary":"List attributed external provider connections and health","tags":["Providers"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderList"},"example":{"data":[{"provider":"afn","provider_type":"fabrication_network","status":"active","configured":true}],"pagination":{"limit":1,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"boundary":"Provider facts retain attribution and observation time."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/providers/afn/capabilities":{"get":{"operationId":"get_v1_providers_afn_capabilities","summary":"Read live attributed fabrication capabilities","tags":["Providers"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCapabilities"},"example":{"provider":"afn","attribution":"Agentic Fabrication Network","source_url":"https://agenticfabricationnetwork.ai/v1/capabilities","observed_at":"2026-08-08T00:00:00Z","capabilities":{},"commercial_boundary":"Capabilities are discovery data; quoting still requires exact human-approved dispatch."}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/providers/mouser/components/search":{"post":{"operationId":"post_v1_providers_mouser_components_search","summary":"Search live attributed component price and availability","tags":["Providers"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderSearchResponse"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"count":0,"provider":"mouser","attribution":"Mouser Electronics","cached":false}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderSearchRequest"},"example":{"query":"DRV8871DDA","search_type":"part_number","manufacturer":"Texas Instruments","limit":20}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/account":{"get":{"operationId":"get_v1_account","summary":"Read the current user, organization, membership, and policy","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"},"example":{"user":{"id":"usr_example","email":"buyer@example.com","display_name":"Alex Rivera"},"organization":{"id":"org_example","name":"Example Robotics","slug":"example-robotics","type":"buyer"},"membership":{"role":"owner"},"product_role":"buyer","approval_policy":{"outbound_requires_human":true,"purchase_requires_human":true},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"patch_v1_account","summary":"Update organization settings and approval policy","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountResponse"},"example":{"user":{"id":"usr_example","email":"buyer@example.com","display_name":"Alex Rivera"},"organization":{"id":"org_example","name":"Example Robotics","slug":"example-robotics","type":"buyer"},"membership":{"role":"owner"},"product_role":"buyer","approval_policy":{"outbound_requires_human":true,"purchase_requires_human":true},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccountUpdate"},"example":{"organization_name":"Example Robotics","default_currency":"USD"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/account/data-requests":{"get":{"operationId":"get_v1_account_data_requests","summary":"List organization export, deletion, restriction, and restoration requests","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestList"},"example":{"data":[{"id":"drr_example","request_type":"export","status":"completed","scope":{"data_classes":["identity","projects","commerce"]},"download_url":"/v1/account/data-requests/drr_example/download","requested_at":"2026-08-08T00:00:00Z"}],"pagination":{"limit":20,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_account_data_requests","summary":"Create a checksummed export or a review-gated retention request","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestResponse"},"example":{"data_request":{"id":"drr_example","request_type":"export","status":"completed","scope":{"data_classes":["identity","projects","commerce"]},"download_url":"/v1/account/data-requests/drr_example/download","requested_at":"2026-08-08T00:00:00Z"}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestWrite"},"example":{"request_type":"export","scope":{"data_classes":["identity","projects","sourcing"]}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/account/data-requests/{request_id}":{"delete":{"operationId":"delete_v1_account_data_requests_request_id","summary":"Cancel an open organization retention request","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestResponse"},"example":{"data_request":{"id":"drr_example","request_type":"export","status":"completed","requested_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/account/data-requests/{request_id}/download":{"get":{"operationId":"get_v1_account_data_requests_request_id_download","summary":"Download a private checksummed organization data export","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataExportDocument"},"example":{"export_format":"supplyslate.organization.v1","generated_at":"2026-08-08T00:00:00Z","organization":{"id":"org_example","name":"Example Buyer","slug":"example-buyer","type":"buyer"}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/credentials":{"get":{"operationId":"get_v1_credentials","summary":"List scoped credentials without secret material","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialResponse"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_credentials","summary":"Issue a scoped credential shown once","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialCreateResponse"},"example":{"credential":{"id":"cred_example","name":"Production buyer agent","scopes":["projects:read","sourcing:write"],"token":"shown-once-token","notice":"Copy this token now."},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialCreate"},"example":{"name":"Production buyer agent","scopes":["projects:read","projects:write","sourcing:read","sourcing:write"]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/credentials/{credential_id}":{"delete":{"operationId":"delete_v1_credentials_credential_id","summary":"Revoke a scoped credential","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"credential_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/notifications":{"get":{"operationId":"get_v1_notifications","summary":"List durable dashboard notifications","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/notifications/{notification_id}":{"patch":{"operationId":"patch_v1_notifications_notification_id","summary":"Mark one durable dashboard notification read or unread","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationMutationResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"notification_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUpdateWrite"},"example":{"read":true}}}}}},"/v1/notifications/read-all":{"post":{"operationId":"post_v1_notifications_read_all","summary":"Mark every organization notification read","tags":["Account"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationMutationResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/projects":{"get":{"operationId":"get_v1_projects","summary":"List tenant-isolated supply projects","tags":["Buyer projects"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectList"},"example":{"data":[{"id":"prj_example","name":"Inspection rover","origin_type":"idea","demand_lane":"builder","status":"defining"}],"pagination":{"limit":20,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_projects":1,"open_projects":1},"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_projects","summary":"Create a project from an idea, file, BOM, exact part, or RFQ","tags":["Buyer projects"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"},"example":{"project":{"id":"prj_example","name":"Inspection rover","origin_type":"idea","project_type":"mixed_build","demand_lane":"builder","status":"defining"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectWrite"},"example":{"name":"Inspection rover","origin_type":"idea","project_type":"mixed_build","demand_lane":"builder","brief":"A weatherproof rover carrying a 12 kg sensor payload","build_quantity":1,"ship_to":{"country_code":"US","postal_code":"02139"}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/projects/{project_id}":{"get":{"operationId":"get_v1_projects_project_id","summary":"Read a project and its current revision state","tags":["Buyer projects"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"},"example":{"project":{"id":"prj_example","name":"Inspection rover","origin_type":"idea","demand_lane":"builder","status":"defining"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/projects/{project_id}/requirements":{"put":{"operationId":"put_v1_projects_project_id_requirements","summary":"Replace requirements on an unlocked project revision","tags":["Buyer projects"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectResponse"},"example":{"project":{"id":"prj_example","name":"Inspection rover","origin_type":"idea","demand_lane":"builder","status":"defining"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RequirementWrite"},"example":{"requirements":[{"requirement_type":"operating_voltage","name":"Operating voltage","value":48,"unit":"V","criticality":"required","source_type":"user_statement","confirmed":true}]}}}}}},"/v1/projects/{project_id}/artifact-uploads":{"post":{"operationId":"post_v1_projects_project_id_artifact_uploads","summary":"Create a checksum-bound one-time artifact upload","tags":["Buyer artifacts"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactUploadResponse"},"example":{"artifact":{"id":"art_example","scan_status":"pending"},"upload":{"method":"PUT","url":"https://api.supplyslate.com/v1/artifact-uploads/upl_example"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactUploadWrite"},"example":{"original_filename":"motor-bracket.step","media_type":"application/step","artifact_type":"step","purpose":"design","data_classification":"commercial","size_bytes":245760,"checksum_sha256":"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"}}}}}},"/v1/projects/{project_id}/artifact-references":{"post":{"operationId":"post_v1_projects_project_id_artifact_references","summary":"Attach an HTTPS artifact reference","tags":["Buyer artifacts"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactResponse"},"example":{"artifact":{"id":"art_example","scan_status":"clean"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactReferenceWrite"},"example":{"source_url":"https://buyer.example/files/motor-datasheet.pdf","original_filename":"motor-datasheet.pdf","artifact_type":"pdf","purpose":"datasheet","data_classification":"commercial"}}}}}},"/v1/artifact-uploads/{upload_token}":{"put":{"operationId":"put_v1_artifact_uploads_upload_token","summary":"Upload exact declared artifact bytes","tags":["Buyer artifacts"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ArtifactUploadResponse"},"example":{"artifact":{"id":"art_example","scan_status":"pending"},"upload":{"method":"PUT","url":"https://api.supplyslate.com/v1/artifact-uploads/upl_example"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"upload_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","contentMediaType":"application/octet-stream"}}}}}},"/v1/artifacts/{artifact_id}/content":{"get":{"operationId":"get_v1_artifacts_artifact_id_content","summary":"Download an authorized clean artifact","tags":["Buyer artifacts"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Authorized clean artifact bytes","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Content-Disposition":{"description":"Attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Object version tag.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"example":"<binary artifact bytes>"}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/projects/{project_id}/boms":{"post":{"operationId":"post_v1_projects_project_id_boms","summary":"Create a BOM or immutable new BOM revision","tags":["Buyer BOM"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomResponse"},"example":{"bom":{"id":"bom_example","name":"Inspection rover BOM","items":[],"dependencies":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomWrite"},"example":{"name":"Inspection rover BOM","build_quantity":1,"items":[{"line_number":"1","item_kind":"catalog_product","description":"48 V brushless motor","quantity_per_assembly":2,"unit":"each"}],"dependencies":[]}}}}}},"/v1/projects/{project_id}/boms/{bom_id}":{"get":{"operationId":"get_v1_projects_project_id_boms_bom_id","summary":"Read a hierarchical BOM and interface graph","tags":["Buyer BOM"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BomResponse"},"example":{"bom":{"id":"bom_example","name":"Inspection rover BOM","items":[],"dependencies":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"bom_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/projects/{project_id}/validations":{"post":{"operationId":"post_v1_projects_project_id_validations","summary":"Validate the current project revision","tags":["Buyer validation"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationResponse"},"example":{"validation":{"id":"val_example","status":"passed","blockers":[],"warnings":[],"unknowns":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]},"get":{"operationId":"get_v1_projects_project_id_validations","summary":"List versioned validation reports","tags":["Buyer validation"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/projects/{project_id}/validations/{validation_id}":{"get":{"operationId":"get_v1_projects_project_id_validations_validation_id","summary":"Read validation findings by severity and availability","tags":["Buyer validation"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationResponse"},"example":{"validation":{"id":"val_example","status":"passed","blockers":[],"warnings":[],"unknowns":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"validation_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/projects/{project_id}/source":{"post":{"operationId":"post_v1_projects_project_id_source","summary":"Lock an immutable package and create sourcing candidates","tags":["Sourcing"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestResponse"},"example":{"sourcing_request":{"id":"sr_example","category":"motors-motion-control","status":"ready_for_rfq"},"matching":{"candidate_supplier_count":3,"supplier_set_requires_human_approval":true,"outbound_sent":false},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestWrite"},"example":{"external_id":"buyer-job-1042","category":"motors-motion-control","ship_to":{"country_code":"US","postal_code":"02139"},"substitutions_allowed":false,"items":[{"description":"48 V brushless motor","quantity":2,"unit":"each"}]}}}}}},"/v1/sourcing-requests":{"get":{"operationId":"get_v1_sourcing_requests","summary":"List organization sourcing requests","tags":["Sourcing"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestList"},"example":{"data":[{"id":"sr_example","category":"motors-motion-control","status":"ready_for_matching","item_count":2}],"pagination":{"limit":20,"returned":1,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_requests":1,"active_requests":1},"next_cursor":null,"has_more":false}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_sourcing_requests","summary":"Submit the fast exact-part or industrial RFQ path through the unified project and validation state","tags":["Sourcing"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestResponse"},"example":{"sourcing_request":{"id":"sr_example","project_id":"prj_example","category":"motors-motion-control","status":"ready_for_rfq"},"matching":{"candidate_supplier_count":3,"supplier_set_requires_human_approval":true,"outbound_sent":false},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestWrite"},"example":{"external_id":"buyer-job-1042","category":"motors-motion-control","ship_to":{"country_code":"US","postal_code":"02139"},"substitutions_allowed":false,"items":[{"description":"48 V brushless motor","quantity":2,"unit":"each"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/sourcing-requests/{request_id}":{"get":{"operationId":"get_v1_sourcing_requests_request_id","summary":"Read request, lines, matches, and activity","tags":["Sourcing"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SourcingRequestResponse"},"example":{"sourcing_request":{"id":"sr_example","category":"motors-motion-control","status":"ready_for_rfq"},"matching":{"candidate_supplier_count":3,"supplier_set_requires_human_approval":true,"outbound_sent":false},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/sourcing-requests/{request_id}/comparison":{"get":{"operationId":"get_v1_sourcing_requests_request_id_comparison","summary":"Compare current structured quote revisions","tags":["Offers"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferComparison"},"example":{"sourcing_request":{"id":"sr_example","category":"motors-motion-control","status":"offers_available"},"offers":[],"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/sourcing-requests/{request_id}/offers":{"get":{"operationId":"get_v1_sourcing_requests_request_id_offers","summary":"Read compatible legacy normalized offers","tags":["Offers"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferComparison"},"example":{"sourcing_request":{"id":"sr_example","category":"motors-motion-control","status":"offers_available"},"offers":[],"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/rfqs/{rfq_token}":{"get":{"operationId":"get_v1_rfqs_rfq_token","summary":"Open a human-approved supplier RFQ by expiring token","tags":["Supplier response"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierRfqResponse"},"example":{"rfq":{"match_id":"rm_example","request_id":"sr_example","status":"approved"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"rfq_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/rfqs/{rfq_token}/artifacts/{artifact_id}/content":{"get":{"operationId":"get_v1_rfqs_rfq_token_artifacts_artifact_id_content","summary":"Download one human-approved RFQ artifact by expiring supplier token","tags":["Supplier response"],"security":[],"responses":{"200":{"description":"Authorized clean artifact bytes","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Content-Disposition":{"description":"Attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Object version tag.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"example":"<binary artifact bytes>"}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"rfq_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/rfqs/{rfq_token}/clarifications":{"post":{"operationId":"post_v1_rfqs_rfq_token_clarifications","summary":"Ask a clarification through a secure RFQ token","tags":["Supplier response"],"security":[],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClarificationResponse"},"example":{"clarification":{"id":"clq_example","status":"open"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"rfq_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClarificationWrite"},"example":{"question":"Can you confirm the quoted lead time includes inspection?"}}}}}},"/v1/rfqs/{rfq_token}/quotes":{"post":{"operationId":"post_v1_rfqs_rfq_token_quotes","summary":"Submit or revise a structured quote through a secure RFQ token","tags":["Supplier response"],"security":[],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteResponse"},"example":{"quote":{"id":"quo_example","currency":"USD","status":"active","items":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"rfq_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteWrite"},"example":{"currency":"USD","valid_until":"2026-08-22","items":[{"request_item_id":"rqi_example","description":"48 V brushless motor","quantity":2,"unit":"each","unit_price_minor":12900,"availability_status":"in_stock","lead_time_days":7,"relationship":"exact"}]}}}}}},"/v1/rfqs/{rfq_token}/decline":{"post":{"operationId":"post_v1_rfqs_rfq_token_decline","summary":"Decline through a secure RFQ token","tags":["Supplier response"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierDecisionResponse"},"example":{"status":"declined","declined_at":"2026-08-08T00:00:00Z","request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"rfq_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierDecisionWrite"},"example":{"reason_code":"no_capacity","reason":"Current production capacity cannot meet the requested date."}}}}}},"/v1/supplier/profile":{"get":{"operationId":"get_v1_supplier_profile","summary":"Read the authenticated supplier profile","tags":["Supplier"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierProfileResponse"},"example":{"supplier":{"id":"sup_example","name":"Example Fabrication","participation_status":"supplier_verified"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"patch":{"operationId":"patch_v1_supplier_profile","summary":"Update supplier controls and profile fields","tags":["Supplier"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierProfileResponse"},"example":{"supplier":{"id":"sup_example","name":"Example Fabrication","participation_status":"supplier_verified"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierProfileUpdate"},"example":{"name":"Example Fabrication","website":"https://supplier.example","profile_summary":"Precision fabrication and assembly for prototype and production programs.","service_regions":["US"],"notification_settings":{"email_recipients":["rfq@supplier.example"],"rfq_frequency_limit":25,"quiet_hours":{}}}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/supplier/capabilities":{"get":{"operationId":"get_v1_supplier_capabilities","summary":"List supplier-submitted and separately verified capabilities","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"put":{"operationId":"put_v1_supplier_capabilities","summary":"Replace the supplier-submitted capability set","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CapabilityWrite"},"example":{"capabilities":[{"capability_type":"fabrication_process","process_id":"proc_cnc_machining","name":"CNC machining","constraints":{}}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/supplier/catalog-imports":{"get":{"operationId":"get_v1_supplier_catalog_imports","summary":"List durable catalog import history","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogImportList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_imports":0,"active_catalog_items":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_supplier_catalog_imports","summary":"Create and validate a catalog import","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogImportResponse"},"example":{"catalog_import":{"id":"cim_example","source_type":"manual","status":"completed","submitted_rows":1,"accepted_rows":1,"rejected_rows":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogImportWrite"},"example":{"source_type":"manual","idempotency_key":"catalog-import-20260809","rows":[{"supplier_sku":"MOTOR-48V","description":"48 V brushless motor"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/supplier/catalog-imports/{import_id}":{"get":{"operationId":"get_v1_supplier_catalog_imports_import_id","summary":"Read field-level catalog import results","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CatalogImportResponse"},"example":{"catalog_import":{"id":"cim_example","source_type":"manual","status":"completed","submitted_rows":1,"accepted_rows":1,"rejected_rows":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"import_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/supplier/catalog-items/availability":{"post":{"operationId":"post_v1_supplier_catalog_items_availability","summary":"Append current availability evidence","tags":["Supplier catalog"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityResponse"},"example":{"updated_catalog_item_ids":["cit_example"],"updated_count":1,"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AvailabilityWrite"},"example":{"items":[{"supplier_sku":"MOTOR-48V","status":"in_stock","quantity_available":25,"observed_at":"2026-08-08T00:00:00Z"}]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/supplier/rfqs":{"get":{"operationId":"get_v1_supplier_rfqs","summary":"List only human-approved supplier RFQs","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierRfqList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_rfqs":0,"actionable_rfqs":0,"active_quotes":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/supplier/rfqs/{match_id}":{"get":{"operationId":"get_v1_supplier_rfqs_match_id","summary":"Read an approved immutable RFQ package","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierRfqResponse"},"example":{"rfq":{"match_id":"rm_example","request_id":"sr_example","status":"approved"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/supplier/rfqs/{match_id}/artifacts/{artifact_id}/content":{"get":{"operationId":"get_v1_supplier_rfqs_match_id_artifacts_artifact_id_content","summary":"Download one artifact disclosed to the authenticated supplier match","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Authorized clean artifact bytes","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Content-Disposition":{"description":"Attachment filename.","schema":{"type":"string"}},"ETag":{"description":"Object version tag.","schema":{"type":"string"}}},"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"},"example":"<binary artifact bytes>"}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"artifact_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/supplier/rfqs/{match_id}/clarifications":{"post":{"operationId":"post_v1_supplier_rfqs_match_id_clarifications","summary":"Ask a durable clarification","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClarificationResponse"},"example":{"clarification":{"id":"clq_example","status":"open"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClarificationWrite"},"example":{"question":"Can you confirm the quoted lead time includes inspection?"}}}}}},"/v1/supplier/rfqs/{match_id}/quotes":{"post":{"operationId":"post_v1_supplier_rfqs_match_id_quotes","summary":"Submit or immutably revise a supplier quote","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteResponse"},"example":{"quote":{"id":"quo_example","currency":"USD","status":"active","items":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/QuoteWrite"},"example":{"currency":"USD","valid_until":"2026-08-22","items":[{"request_item_id":"rqi_example","description":"48 V brushless motor","quantity":2,"unit":"each","unit_price_minor":12900,"availability_status":"in_stock","lead_time_days":7,"relationship":"exact"}]}}}}}},"/v1/supplier/rfqs/{match_id}/decline":{"post":{"operationId":"post_v1_supplier_rfqs_match_id_decline","summary":"Decline an approved supplier RFQ","tags":["Supplier response"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierDecisionResponse"},"example":{"status":"declined","declined_at":"2026-08-08T00:00:00Z","request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"match_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SupplierDecisionWrite"},"example":{"reason_code":"no_capacity","reason":"Current production capacity cannot meet the requested date."}}}}}},"/v1/purchase-plans":{"get":{"operationId":"get_v1_purchase_plans","summary":"List exact versioned purchase plans","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_purchase_plans","summary":"Create a single-currency multi-merchant plan with one option per requested line, without purchasing","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanResponse"},"example":{"purchase_plan":{"id":"ppl_example","request_id":"sr_example","version":1,"status":"approval_required"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanWrite"},"example":{"request_id":"sr_example","quote_item_ids":["qit_example"],"idempotency_key":"plan-buyer-job-1042"}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/purchase-plans/{plan_id}":{"get":{"operationId":"get_v1_purchase_plans_plan_id","summary":"Read an exact purchase plan and evidence snapshot","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanResponse"},"example":{"purchase_plan":{"id":"ppl_example","request_id":"sr_example","version":1,"status":"approval_required"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/purchase-plans/{plan_id}/approval-requests":{"post":{"operationId":"post_v1_purchase_plans_plan_id_approval_requests","summary":"Create an exact human purchase-approval request","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalResponse"},"example":{"approval":{"id":"apr_example","status":"requested","expires_at":"2026-08-09T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalRequestWrite"},"example":{"expires_in_minutes":1440}}}}}},"/v1/purchase-plans/{plan_id}/checkout-handoffs":{"get":{"operationId":"get_v1_purchase_plans_plan_id_checkout_handoffs","summary":"List supplier-hosted merchant handoffs","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutHandoffResponse"},"example":{"data":[{"id":"chk_example","status":"ready","checkout_url":"https://supplier.example/checkout/cart-1042"}],"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/purchase-plans/{plan_id}/provider-checkout-handoffs":{"post":{"operationId":"post_v1_purchase_plans_plan_id_provider_checkout_handoffs","summary":"Create an unpaid provider-hosted checkout handoff after exact human approval","tags":["Commerce"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutHandoffResponse"},"example":{"checkout_handoff":{"id":"chk_example","status":"ready","checkout_url":"https://provider.example/checkout/order-1042"},"merchant_of_record":"supplier","payment_boundary":"A human completes payment on the provider-hosted page.","request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProviderCheckoutWrite"},"example":{"merchant_group_key":"merchant-group-1","shipping_option_id":"ground"}}}}}},"/v1/approvals/{approval_token}":{"get":{"operationId":"get_v1_approvals_approval_token","summary":"Open an expiring exact purchase approval","tags":["Commerce"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalResponse"},"example":{"approval":{"id":"apr_example","status":"requested","expires_at":"2026-08-09T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"approval_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]},"post":{"operationId":"post_v1_approvals_approval_token","summary":"Approve or reject the exact purchase-plan snapshot","tags":["Commerce"],"security":[],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalResponse"},"example":{"approval":{"id":"apr_example","status":"requested","expires_at":"2026-08-09T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"approval_token","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalDecisionWrite"},"example":{"decision":"approve","note":"Approved for merchant checkout."}}}}}},"/v1/orders":{"get":{"operationId":"get_v1_orders","summary":"List merchant-confirmed buyer orders","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_orders":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/orders/{order_id}":{"get":{"operationId":"get_v1_orders_order_id","summary":"Read fulfillment, shipment, issue, and event state","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"accepted","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/orders/{order_id}/issues":{"post":{"operationId":"post_v1_orders_order_id_issues","summary":"Report a durable buyer order issue","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderIssueWrite"},"example":{"issue_type":"delay","summary":"The merchant delivery estimate has passed.","owner_type":"supplier"}}}}}},"/v1/orders/{order_id}/issues/{issue_id}":{"patch":{"operationId":"patch_v1_orders_order_id_issues_issue_id","summary":"Update buyer-visible issue state or resolution","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"issue_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderIssueUpdateWrite"},"example":{"status":"resolved","resolution":"Supplier confirmed a revised delivery date."}}}}}},"/v1/orders/{order_id}/cancellation-requests":{"post":{"operationId":"post_v1_orders_order_id_cancellation_requests","summary":"Request merchant cancellation without claiming completion","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancellationRequestWrite"},"example":{"reason":"The project requirement changed before fulfillment."}}}}}},"/v1/orders/{order_id}/returns":{"post":{"operationId":"post_v1_orders_order_id_returns","summary":"Request a merchant-managed return after shipment","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnRequestWrite"},"example":{"reason":"The delivered item was damaged.","items":[{"order_item_id":"ori_example","quantity":1}]}}}}}},"/v1/orders/{order_id}/warranty-claims":{"post":{"operationId":"post_v1_orders_order_id_warranty_claims","summary":"Open a supplier-reviewed warranty claim","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarrantyRequestWrite"},"example":{"order_item_id":"ori_example","description":"The motor failed during the documented warranty period."}}}}}},"/v1/supplier/orders":{"get":{"operationId":"get_v1_supplier_orders","summary":"List merchant-confirmed supplier orders","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"summary":{"total_orders":0},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/supplier/orders/{order_id}":{"patch":{"operationId":"patch_v1_supplier_orders_order_id","summary":"Acknowledge or update supplier fulfillment","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"accepted","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderUpdate"},"example":{"status":"shipped","note":"Released to carrier.","shipment":{"carrier":"UPS","tracking_number":"1Z999","status":"in_transit","items":[]}}}}}}},"/v1/supplier/orders/{order_id}/issues/{issue_id}":{"patch":{"operationId":"patch_v1_supplier_orders_order_id_issues_issue_id","summary":"Update a buyer-reported issue for the authenticated supplier","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"issue_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderIssueUpdateWrite"},"example":{"status":"resolved","resolution":"Supplier confirmed a revised delivery date."}}}}}},"/v1/supplier/orders/{order_id}/cancellation-requests/{cancellation_request_id}":{"patch":{"operationId":"patch_v1_supplier_orders_order_id_cancellation_requests_cancellation_request_id","summary":"Accept or reject a buyer cancellation request","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"cancellation_request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancellationDecisionWrite"},"example":{"decision":"accepted","merchant_reference":"CANCEL-1042"}}}}}},"/v1/supplier/orders/{order_id}/returns/{return_id}":{"patch":{"operationId":"patch_v1_supplier_orders_order_id_returns_return_id","summary":"Advance a merchant return through authorization and refund","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"return_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnUpdateWrite"},"example":{"status":"authorized","merchant_return_reference":"RMA-1042"}}}}}},"/v1/supplier/orders/{order_id}/warranty-claims/{warranty_claim_id}":{"patch":{"operationId":"patch_v1_supplier_orders_order_id_warranty_claims_warranty_claim_id","summary":"Advance a warranty claim through review and resolution","tags":["Orders"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"warranty_claim_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarrantyUpdateWrite"},"example":{"status":"under_review","supplier_reference":"WARRANTY-1042"}}}}}},"/v1/webhook-endpoints":{"get":{"operationId":"get_v1_webhook_endpoints","summary":"List signed webhook destinations","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]},"post":{"operationId":"post_v1_webhook_endpoints","summary":"Create a webhook endpoint and one-time signing secret","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointResponse"},"example":{"endpoint":{"id":"whe_example","url":"https://buyer.example/webhooks/supplyslate","status":"active","subscribed_events":["quote.created"]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointCreateWrite"},"example":{"url":"https://buyer.example/webhooks/supplyslate","description":"Production supply events","subscribed_events":["quote.created","order.updated"]}}}},"parameters":[{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/webhook-endpoints/{endpoint_id}":{"patch":{"operationId":"patch_v1_webhook_endpoints_endpoint_id","summary":"Update a webhook endpoint","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointResponse"},"example":{"endpoint":{"id":"whe_example","url":"https://buyer.example/webhooks/supplyslate","status":"active","subscribed_events":["quote.created"]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEndpointUpdateWrite"},"example":{"description":"Production supply events and fulfillment updates"}}}}},"delete":{"operationId":"delete_v1_webhook_endpoints_endpoint_id","summary":"Revoke a webhook endpoint","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"204":{"description":"Completed successfully with no response body","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}}]}},"/v1/webhook-endpoints/{endpoint_id}/test":{"post":{"operationId":"post_v1_webhook_endpoints_endpoint_id_test","summary":"Queue a labeled internal webhook test","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"202":{"description":"Accepted durably for asynchronous processing","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEventResponse"},"example":{"delivery":{"job_id":"job_example","event_id":"whevt_example","endpoint_id":"whe_example","status":"queued"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}]}},"/v1/webhook-events":{"get":{"operationId":"get_v1_webhook_events","summary":"List durable domain events and delivery state","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEventList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/webhook-events/{event_id}/replay":{"post":{"operationId":"post_v1_webhook_events_event_id_replay","summary":"Replay an existing signed event idempotently","tags":["Webhooks"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"202":{"description":"Accepted durably for asynchronous processing","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookEventResponse"},"example":{"delivery":{"job_id":"job_example","event_id":"whevt_example","endpoint_id":"whe_example","status":"queued"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"event_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookReplayWrite"},"example":{"endpoint_id":"whe_example"}}}}}},"/v1/operator/overview":{"get":{"operationId":"get_v1_operator_overview","summary":"Read control-room queues and real operating signals","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/access":{"get":{"operationId":"get_v1_operator_access","summary":"List buyer applications and supplier authority claims","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/operator/access/{kind}/{application_id}":{"patch":{"operationId":"patch_v1_operator_access_kind_application_id","summary":"Approve or reject one access or authority record","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"kind","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"application_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AccessReviewWrite"},"example":{"action":"approve","note":"Authority verified."}}}}}},"/v1/operator/suppliers":{"get":{"operationId":"get_v1_operator_suppliers","summary":"Review supplier identity, participation, catalog, and RFQ state","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/operator/data":{"get":{"operationId":"get_v1_operator_data","summary":"Review catalog imports, validation failures, and stale supply","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/data-requests":{"get":{"operationId":"get_v1_operator_data_requests","summary":"Review organization data-deletion, restriction, and restoration requests","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestList"},"example":{"data":[],"pagination":{"limit":20,"returned":0,"next_cursor":null,"has_more":false},"freshness":{"generated_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/operator/data-requests/{request_id}":{"patch":{"operationId":"patch_v1_operator_data_requests_request_id","summary":"Record an attributable retention-request review decision","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestResponse"},"example":{"data_request":{"id":"drr_example","request_type":"export","status":"completed","requested_at":"2026-08-08T00:00:00Z"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DataRequestReviewWrite"},"example":{"status":"approved","note":"Identity and authority checks completed."}}}}}},"/v1/operator/requests":{"get":{"operationId":"get_v1_operator_requests","summary":"Review sourcing requests across organizations","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/dispatch":{"get":{"operationId":"get_v1_operator_dispatch","summary":"Review exact outbound approval packages","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}},"/v1/operator/requests/{request_id}/dispatch-approval":{"post":{"operationId":"post_v1_operator_requests_request_id_dispatch_approval","summary":"Approve exact supplier channels, destinations, message snapshots, and artifact scope","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"202":{"description":"Accepted durably for asynchronous processing","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DispatchApprovalWrite"},"example":{"dispatches":[{"supplier_id":"sup_example","channel":"email","recipient":"rfq@supplier.example","subject":"RFQ: 48 V brushless motor","body":"Please quote the attached structured requirement and confirm current lead time.","artifact_ids":[]}]}}}}}},"/v1/operator/transactions":{"get":{"operationId":"get_v1_operator_transactions","summary":"Review purchase, handoff, order, shipment, and exception state","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/purchase-plans/{plan_id}/checkout-handoffs":{"post":{"operationId":"post_v1_operator_purchase_plans_plan_id_checkout_handoffs","summary":"Create a supplier-hosted checkout or invoice handoff","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutHandoffResponse"},"example":{"data":[{"id":"chk_example","status":"ready","checkout_url":"https://supplier.example/checkout/cart-1042"}],"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"plan_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CheckoutHandoffWrite"},"example":{"handoffs":[{"supplier_id":"sup_example","merchant_group_key":"merchant-group-1","handoff_type":"merchant_checkout_url","checkout_url":"https://supplier.example/checkout/cart-1042","amount_minor":25800,"currency":"USD"}]}}}}}},"/v1/operator/checkout-handoffs/{handoff_id}/confirm":{"post":{"operationId":"post_v1_operator_checkout_handoffs_handoff_id_confirm","summary":"Record merchant-confirmed order state","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"201":{"description":"Created durably","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"created"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"handoff_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderConfirmWrite"},"example":{"merchant_order_reference":"ORDER-1042","status":"accepted","subtotal_minor":25800,"total_minor":25800,"confirmation_source":"supplier"}}}}}},"/v1/operator/orders/{order_id}":{"patch":{"operationId":"patch_v1_operator_orders_order_id","summary":"Resolve or update an order exception","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"accepted","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderUpdate"},"example":{"status":"shipped","note":"Released to carrier.","shipment":{"carrier":"UPS","tracking_number":"1Z999","status":"in_transit","items":[]}}}}}}},"/v1/operator/orders/{order_id}/issues/{issue_id}":{"patch":{"operationId":"patch_v1_operator_orders_order_id_issues_issue_id","summary":"Resolve or reassign an order issue","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"issue_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderIssueUpdateWrite"},"example":{"status":"resolved","resolution":"Supplier confirmed a revised delivery date."}}}}}},"/v1/operator/orders/{order_id}/cancellation-requests/{cancellation_request_id}":{"patch":{"operationId":"patch_v1_operator_orders_order_id_cancellation_requests_cancellation_request_id","summary":"Adjudicate a merchant cancellation request","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"cancellation_request_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancellationDecisionWrite"},"example":{"decision":"accepted","merchant_reference":"CANCEL-1042"}}}}}},"/v1/operator/orders/{order_id}/returns/{return_id}":{"patch":{"operationId":"patch_v1_operator_orders_order_id_returns_return_id","summary":"Advance a return exception with operator authority","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"return_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReturnUpdateWrite"},"example":{"status":"authorized","merchant_return_reference":"RMA-1042"}}}}}},"/v1/operator/orders/{order_id}/warranty-claims/{warranty_claim_id}":{"patch":{"operationId":"patch_v1_operator_orders_order_id_warranty_claims_warranty_claim_id","summary":"Advance a warranty exception with operator authority","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OrderResponse"},"example":{"order":{"id":"ord_example","status":"shipped","items":[],"shipments":[],"issues":[],"cancellation_requests":[],"returns":[],"warranty_claims":[],"events":[]}}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"warranty_claim_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WarrantyUpdateWrite"},"example":{"status":"under_review","supplier_reference":"WARRANTY-1042"}}}}}},"/v1/operator/evidence":{"get":{"operationId":"get_v1_operator_evidence","summary":"Read buyer, supplier, and quality evidence separately","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/analytics":{"get":{"operationId":"get_v1_operator_analytics","summary":"Read the fixture-excluding discovery-to-transaction funnel by demand lane and market side","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/configuration":{"get":{"operationId":"get_v1_operator_configuration","summary":"Read editable category, process, validator, and policy configuration","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}},"/v1/operator/configuration/categories/{category_code}":{"patch":{"operationId":"patch_v1_operator_configuration_categories_category_code","summary":"Update an editable supply category with audit history","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"category_code","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CategoryConfigurationWrite"},"example":{"name":"Motors and motion control","summary":"Motors, drives, gearboxes, actuators, encoders, bearings, and motion hardware.","status":"accepting_requests","category_kind":"product","demand_lanes":["industrial","builder","research"],"requirement_schema":{"required":["description","quantity"],"recommended":["voltage","torque"]},"sort_order":100}}}}}},"/v1/operator/configuration/processes/{process_id}":{"patch":{"operationId":"patch_v1_operator_configuration_processes_process_id","summary":"Update an editable fabrication process with audit history","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"process_id","in":"path","required":true,"schema":{"type":"string","minLength":1,"maxLength":200}},{"name":"Idempotency-Key","in":"header","required":false,"description":"Stable caller key for retry-safe creates and consequential transitions when the body does not carry its own idempotency key.","schema":{"type":"string","minLength":8,"maxLength":200}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProcessConfigurationWrite"},"example":{"name":"CNC machining","summary":"Milled and turned custom parts from 3D models and drawings.","status":"building_supply","process_family":"subtractive","requirement_schema":{"required":["quantity","material","part_artifact"],"recommended":["tolerances","finish"]},"supported_artifact_types":["step","stp","iges","igs","dxf","pdf"],"sort_order":100}}}}}},"/v1/operator/audit":{"get":{"operationId":"get_v1_operator_audit","summary":"Read attributable immutable audit events","tags":["Operator"],"security":[{"oauth2":[]},{"bearerAuth":[]}],"responses":{"200":{"description":"Successful response","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OperatorResponse"},"example":{"data":{"id":"res_example","status":"active"},"request_id":"req_example"}}}},"400":{"description":"Invalid request","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"401":{"description":"Authentication required","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"403":{"description":"Scope or tenant boundary denied","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"404":{"description":"Resource not found","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"409":{"description":"State conflict or idempotency mismatch","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"429":{"description":"Rate limited","headers":{"X-API-Version":{"description":"Calendar version of the active API contract.","schema":{"type":"string","example":"2026-08-08"}},"Deprecation":{"description":"Whether this operation or representation is deprecated.","schema":{"type":"string","enum":["true","false"]}},"RateLimit-Limit":{"description":"Maximum requests permitted in the active policy window.","schema":{"type":"integer"}},"RateLimit-Remaining":{"description":"Requests remaining in the active policy window.","schema":{"type":"integer"}},"RateLimit-Reset":{"description":"Seconds until the active policy window resets.","schema":{"type":"integer"}},"RateLimit-Policy":{"description":"Applied request quota and window.","schema":{"type":"string","example":"600;w=60"}},"Retry-After":{"description":"Seconds before this request can be retried.","schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"parameters":[{"name":"limit","in":"query","required":false,"description":"Maximum records to return.","schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"description":"Opaque pagination cursor.","schema":{"type":"string"}}]}}},"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"OAuth 2.1 authorization-code flow with PKCE for remote MCP and compatible clients.","flows":{"authorizationCode":{"authorizationUrl":"https://mcp.supplyslate.com/authorize","tokenUrl":"https://mcp.supplyslate.com/oauth/token","scopes":{}}}},"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"SupplySlate scoped credential"}},"schemas":{"ErrorResponse":{"type":"object","required":["error","request_id"],"additionalProperties":false,"properties":{"error":{"type":"object","required":["code","message"],"additionalProperties":false,"properties":{"code":{"type":"string"},"message":{"type":"string"},"corrective_action":{"type":"string"},"details":{}}},"request_id":{"type":"string"}}},"Pagination":{"type":"object","required":["limit","returned","has_more","next_cursor"],"additionalProperties":false,"properties":{"limit":{"type":"integer","minimum":1,"maximum":100},"returned":{"type":"integer","minimum":0},"offset":{"type":"integer","minimum":0},"next_offset":{"type":["integer","null"],"minimum":0},"has_more":{"type":"boolean"},"next_cursor":{"type":["string","null"],"description":"Opaque continuation token. Supply it unchanged on the next request."}}},"Freshness":{"type":"object","required":["generated_at"],"additionalProperties":false,"properties":{"generated_at":{"type":"string","format":"date-time"}}},"Money":{"type":"object","required":["amount_minor","currency"],"additionalProperties":false,"properties":{"amount_minor":{"type":"integer"},"currency":{"type":"string","pattern":"^[A-Z]{3}$"}}},"EvidenceScope":{"type":"object","required":["source_class","verification_status"],"additionalProperties":true,"properties":{"source_class":{"type":"string"},"source_url":{"type":["string","null"],"format":"uri"},"observed_at":{"type":["string","null"],"format":"date-time"},"expires_at":{"type":["string","null"],"format":"date-time"},"verification_status":{"type":"string"},"confidence":{"type":["number","null"],"minimum":0,"maximum":1}}},"ResourceRecord":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"status":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"updated_at":{"type":"string","format":"date-time"}}},"ServiceDescription":{"type":"object","required":["service","version","documentation","mcp"],"additionalProperties":true,"properties":{"service":{"type":"string"},"version":{"type":"string"},"purpose":{"type":"string"},"documentation":{"type":"string"},"health":{"type":"string"},"mcp":{"type":"string","format":"uri"}}},"HealthResponse":{"type":"object","required":["status","service","version","request_id"],"additionalProperties":false,"properties":{"status":{"const":"ok"},"service":{"type":"string"},"version":{"type":"string"},"request_id":{"type":"string"}}},"OpenApiDocument":{"type":"object","required":["openapi","info","paths"],"additionalProperties":true,"properties":{"openapi":{"type":"string"},"info":{"type":"object"},"paths":{"type":"object"}}},"DiscoveryMetadata":{"type":"object","additionalProperties":true,"minProperties":2,"properties":{"resource":{"type":"string","format":"uri"},"authorization_servers":{"type":"array","items":{"type":"string","format":"uri"}},"scopes_supported":{"type":"array","items":{"type":"string"}}}},"OAuthResponse":{"type":"object","additionalProperties":true,"properties":{"access_token":{"type":"string"},"token_type":{"type":"string"},"expires_in":{"type":"integer"},"refresh_token":{"type":"string"},"client_id":{"type":"string"}}},"SessionResponse":{"type":"object","required":["authenticated"],"additionalProperties":true,"properties":{"authenticated":{"type":"boolean"},"user":{"$ref":"#/components/schemas/User"},"organization":{"$ref":"#/components/schemas/Organization"},"role":{"enum":["buyer","supplier","operator"]},"csrf_token":{"type":"string"},"expires_at":{"type":"string","format":"date-time"}}},"User":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"email":{"type":"string","format":"email"},"display_name":{"type":"string"}}},"Organization":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"slug":{"type":"string"},"type":{"enum":["buyer","supplier","operator"]}}},"Category":{"type":"object","required":["code","name","status"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"code":{"type":"string"},"name":{"type":"string"},"summary":{"type":"string"},"status":{"enum":["accepting_requests","building_supply","inactive"]},"requirement_schema":{"$ref":"#/components/schemas/RequirementSchema"}}},"Process":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"slug":{"type":"string"},"name":{"type":"string"},"summary":{"type":"string"},"status":{"type":"string"},"requirement_schema":{"$ref":"#/components/schemas/RequirementSchema"}}},"RequirementSchema":{"type":"object","additionalProperties":true,"properties":{"required":{"type":"array","items":{"type":"string"}},"recommended":{"type":"array","items":{"type":"string"}}}},"RequirementSchemaResponse":{"type":"object","required":["requirement_schema","guidance"],"additionalProperties":true,"properties":{"requirement_schema":{"type":"object","required":["kind","id","name","status","schema"],"additionalProperties":true,"properties":{"kind":{"enum":["category","process"]},"id":{"type":"string"},"slug":{"type":"string"},"name":{"type":"string"},"summary":{"type":"string"},"status":{"type":"string"},"schema":{"$ref":"#/components/schemas/RequirementSchema"},"supported_artifact_types":{"type":"array","items":{"type":"string"}},"demand_lanes":{"type":"array","items":{"enum":["industrial","builder","research"]}},"entry_kind":{"type":["string","null"]},"safety_notes":{"type":["string","null"]},"updated_at":{"type":"string","format":"date-time"}}},"guidance":{"type":"string"}}},"Product":{"type":"object","required":["id","name"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"manufacturer":{"type":["string","null"]},"manufacturer_part_number":{"type":["string","null"]},"specifications":{"type":"object","additionalProperties":true},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/EvidenceScope"}}}},"Compatibility":{"type":"object","required":["id","subject","object","relationship","assertion","evidence"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"subject":{"type":"object","required":["type","id"],"additionalProperties":false,"properties":{"type":{"type":"string"},"id":{"type":"string","minLength":3,"maxLength":200}}},"object":{"type":"object","required":["type","id"],"additionalProperties":false,"properties":{"type":{"type":"string"},"id":{"type":"string","minLength":3,"maxLength":200}}},"relationship":{"type":"string"},"conditions":{"type":"object","additionalProperties":true},"assertion":{"type":"object","additionalProperties":true},"evidence":{"type":"object","additionalProperties":true}}},"Supplier":{"type":"object","required":["id","name","participation_status"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"website":{"type":"string","format":"uri"},"profile_summary":{"type":"string"},"participation_status":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"brands":{"type":"array","items":{"type":"string"}},"verification":{"type":"object","required":["status","scope"],"additionalProperties":true,"properties":{"status":{"type":"string"},"scope":{"type":"string"},"verified_at":{"type":["string","null"],"format":"date-time"}}}}},"Provider":{"type":"object","required":["provider","provider_type","status","configured"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"provider":{"type":"string"},"provider_type":{"type":"string"},"status":{"type":"string"},"configured":{"type":"boolean"},"attribution_label":{"type":"string"},"last_checked_at":{"type":["string","null"],"format":"date-time"}}},"ProviderComponent":{"type":"object","required":["provider","provider_part_number","description","availability_status","observed_at","expires_at"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"provider":{"type":"string"},"attribution":{"type":"string"},"provider_part_number":{"type":"string"},"manufacturer":{"type":["string","null"]},"manufacturer_part_number":{"type":["string","null"]},"description":{"type":"string"},"category":{"type":["string","null"]},"lifecycle_status":{"type":"string"},"availability_status":{"type":"string"},"quantity_available":{"type":["number","null"]},"minimum_order_quantity":{"type":["number","null"]},"package_multiple":{"type":["number","null"]},"lead_time_days":{"type":["integer","null"]},"price_breaks":{"type":"array","items":{"type":"object","additionalProperties":true}},"currency":{"type":["string","null"]},"product_url":{"type":["string","null"],"format":"uri"},"source_url":{"type":"string","format":"uri"},"observed_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"}}},"Account":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"user":{"$ref":"#/components/schemas/User"},"organization":{"$ref":"#/components/schemas/Organization"},"role":{"type":"string"},"approval_policy":{"type":"object","additionalProperties":true}}},"Credential":{"type":"object","required":["id","name","scopes"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"last_used_at":{"type":["string","null"],"format":"date-time"},"revoked_at":{"type":["string","null"],"format":"date-time"},"secret":{"type":"string","writeOnly":true}}},"Notification":{"type":"object","required":["id","title","body","event_type","created_at"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"title":{"type":"string"},"body":{"type":"string"},"event_type":{"type":"string"},"resource_type":{"type":["string","null"]},"resource_id":{"type":["string","null"]},"delivery_status":{"type":"string"},"read_at":{"type":["string","null"],"format":"date-time"},"created_at":{"type":"string","format":"date-time"}}},"DataRequest":{"type":"object","required":["id","request_type","status","requested_at"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"request_type":{"enum":["export","delete","restrict","restore"]},"status":{"enum":["requested","reviewing","approved","processing","completed","rejected","cancelled"]},"scope":{"type":"object","additionalProperties":true},"download_url":{"type":["string","null"]},"result_checksum_sha256":{"type":["string","null"],"pattern":"^[a-f0-9]{64}$"},"result_size_bytes":{"type":["integer","null"],"minimum":0},"requested_at":{"type":"string","format":"date-time"},"completed_at":{"type":["string","null"],"format":"date-time"},"review_note":{"type":["string","null"]}}},"Project":{"type":"object","required":["id","name","origin_type","demand_lane","status"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"origin_type":{"enum":["idea","file","bom","exact_part","rfq"]},"project_type":{"type":"string"},"demand_lane":{"enum":["industrial","builder","research"]},"status":{"type":"string"},"current_revision":{"type":"object","additionalProperties":true}}},"Artifact":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"project_id":{"type":"string","minLength":3,"maxLength":200},"filename":{"type":"string"},"media_type":{"type":"string"},"byte_size":{"type":"integer","minimum":1},"sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$"},"scan_status":{"type":"string"},"disclosure_status":{"type":"string"}}},"Bom":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"project_id":{"type":"string","minLength":3,"maxLength":200},"name":{"type":"string"},"revision_number":{"type":"integer","minimum":1},"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"dependencies":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"Validation":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"project_id":{"type":"string","minLength":3,"maxLength":200},"status":{"type":"string"},"blockers":{"type":"array","items":{"type":"object","additionalProperties":true}},"warnings":{"type":"array","items":{"type":"object","additionalProperties":true}},"unknowns":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"SourcingRequest":{"type":"object","required":["id","category","status"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"project_id":{"type":["string","null"]},"category":{"type":"string"},"demand_lane":{"type":"string"},"status":{"type":"string"},"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"matches":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"Quote":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"match_id":{"type":"string","minLength":3,"maxLength":200},"supplier_id":{"type":"string","minLength":3,"maxLength":200},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"status":{"type":"string"},"valid_until":{"type":["string","null"],"format":"date-time"},"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"evidence":{"type":"array","items":{"$ref":"#/components/schemas/EvidenceScope"}}}},"Capability":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"capability_type":{"type":"string"},"name":{"type":"string"},"category_code":{"type":["string","null"]},"process_id":{"type":["string","null"]},"verification_status":{"type":"string"}}},"CatalogImport":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"source_type":{"type":"string"},"status":{"type":"string"},"submitted_rows":{"type":"integer","minimum":0},"accepted_rows":{"type":"integer","minimum":0},"rejected_rows":{"type":"integer","minimum":0},"errors":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"SupplierRfq":{"type":"object","required":[],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"request_id":{"type":"string","minLength":3,"maxLength":200},"match_id":{"type":"string","minLength":3,"maxLength":200},"status":{"type":"string"},"expires_at":{"type":"string","format":"date-time"},"package":{"type":"object","additionalProperties":true},"allowed_artifacts":{"type":"array","items":{"$ref":"#/components/schemas/Artifact"}}}},"PurchasePlan":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"request_id":{"type":"string","minLength":3,"maxLength":200},"version":{"type":"integer","minimum":1},"status":{"type":"string"},"snapshot_hash":{"type":"string"},"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"total":{"$ref":"#/components/schemas/Money"}}},"Approval":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"plan_id":{"type":"string","minLength":3,"maxLength":200},"status":{"enum":["requested","pending","approved","rejected","expired"]},"snapshot_hash":{"type":"string"},"expires_at":{"type":"string","format":"date-time"},"decision_at":{"type":["string","null"],"format":"date-time"}}},"CheckoutHandoff":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"plan_id":{"type":"string","minLength":3,"maxLength":200},"merchant":{"type":"string"},"status":{"type":"string"},"checkout_url":{"type":["string","null"],"format":"uri"},"payment_boundary":{"type":"string"}}},"Order":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"merchant":{"type":"string"},"merchant_order_id":{"type":["string","null"]},"status":{"type":"string"},"items":{"type":"array","items":{"type":"object","additionalProperties":true}},"shipments":{"type":"array","items":{"type":"object","additionalProperties":true}},"issues":{"type":"array","items":{"type":"object","additionalProperties":true}},"cancellation_requests":{"type":"array","items":{"type":"object","additionalProperties":true}},"returns":{"type":"array","items":{"type":"object","additionalProperties":true}},"warranty_claims":{"type":"array","items":{"type":"object","additionalProperties":true}},"events":{"type":"array","items":{"type":"object","additionalProperties":true}}}},"WebhookEndpoint":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"url":{"type":"string","format":"uri"},"status":{"type":"string"},"subscribed_events":{"type":"array","items":{"type":"string"}},"signing_secret":{"type":"string","writeOnly":true}}},"WebhookEvent":{"type":"object","required":["id"],"additionalProperties":true,"properties":{"id":{"type":"string","minLength":3,"maxLength":200},"event_type":{"type":"string"},"status":{"type":"string"},"occurred_at":{"type":"string","format":"date-time"},"deliveries":{"type":"array","items":{"type":"object","additionalProperties":true}},"payload":{"type":"object","additionalProperties":true}}},"WebhookDelivery":{"type":"object","required":["job_id","status"],"additionalProperties":true,"properties":{"job_id":{"type":"string"},"event_id":{"type":"string"},"endpoint_id":{"type":"string"},"status":{"type":"string"},"replay_id":{"type":"string"},"fixture_kind":{"enum":["real","internal_test","demo"]}}},"OperatorView":{"type":"object","additionalProperties":true,"properties":{"data":{},"queues":{"type":"object","additionalProperties":true},"request_id":{"type":"string"}}},"ProjectListSummary":{"type":"object","required":["total_projects","open_projects"],"additionalProperties":false,"properties":{"total_projects":{"type":"integer","minimum":0},"open_projects":{"type":"integer","minimum":0}}},"SourcingRequestListSummary":{"type":"object","required":["total_requests","active_requests"],"additionalProperties":false,"properties":{"total_requests":{"type":"integer","minimum":0},"active_requests":{"type":"integer","minimum":0}}},"CatalogImportListSummary":{"type":"object","required":["total_imports","active_catalog_items"],"additionalProperties":false,"properties":{"total_imports":{"type":"integer","minimum":0},"active_catalog_items":{"type":"integer","minimum":0}}},"SupplierRfqListSummary":{"type":"object","required":["total_rfqs","actionable_rfqs","active_quotes"],"additionalProperties":false,"properties":{"total_rfqs":{"type":"integer","minimum":0},"actionable_rfqs":{"type":"integer","minimum":0},"active_quotes":{"type":"integer","minimum":0}}},"OrderListSummary":{"type":"object","required":["total_orders"],"additionalProperties":false,"properties":{"total_orders":{"type":"integer","minimum":0}}},"ResourceResponse":{"type":"object","required":["data"],"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/ResourceRecord"},"request_id":{"type":"string"}}},"CategoryList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Category"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"ProcessList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Process"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"ProductList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Product"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"SupplierList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Supplier"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"ProviderList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Provider"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"NotificationList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Notification"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"DataRequestList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/DataRequest"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"ProjectList":{"type":"object","required":["data","pagination","freshness","summary"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Project"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"summary":{"$ref":"#/components/schemas/ProjectListSummary"}}},"ValidationList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Validation"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"SourcingRequestList":{"type":"object","required":["data","pagination","freshness","summary"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SourcingRequest"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"summary":{"$ref":"#/components/schemas/SourcingRequestListSummary"}}},"CapabilityList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Capability"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"CatalogImportList":{"type":"object","required":["data","pagination","freshness","summary"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CatalogImport"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"summary":{"$ref":"#/components/schemas/CatalogImportListSummary"}}},"SupplierRfqList":{"type":"object","required":["data","pagination","freshness","summary"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SupplierRfq"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"summary":{"$ref":"#/components/schemas/SupplierRfqListSummary"}}},"PurchasePlanList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PurchasePlan"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"OrderList":{"type":"object","required":["data","pagination","freshness","summary"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Order"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"summary":{"$ref":"#/components/schemas/OrderListSummary"}}},"WebhookEndpointList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"WebhookEventList":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEvent"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"ProductResponse":{"type":"object","required":["product"],"additionalProperties":true,"properties":{"product":{"$ref":"#/components/schemas/Product"},"request_id":{"type":"string"}}},"CompatibilityResponse":{"type":"object","required":["compatibility"],"additionalProperties":true,"properties":{"compatibility":{"$ref":"#/components/schemas/Compatibility"},"request_id":{"type":"string"}}},"SupplierResponse":{"type":"object","required":["data"],"additionalProperties":true,"properties":{"data":{"$ref":"#/components/schemas/Supplier"},"request_id":{"type":"string"}}},"ProviderCapabilities":{"type":"object","required":["provider","attribution","observed_at","capabilities"],"additionalProperties":true,"properties":{"provider":{"const":"afn"},"attribution":{"type":"string"},"source_url":{"type":"string","format":"uri"},"observed_at":{"type":"string","format":"date-time"},"capabilities":{},"commercial_boundary":{"type":"string"},"request_id":{"type":"string"}}},"ProviderSearchResponse":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ProviderComponent"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"},"count":{"type":"integer","minimum":0},"provider":{"const":"mouser"},"attribution":{"type":"string"},"cached":{"type":"boolean"},"evidence_notice":{"type":"string"}}},"AccountResponse":{"type":"object","required":["user","organization","membership","product_role","approval_policy"],"additionalProperties":true,"properties":{"user":{"$ref":"#/components/schemas/User"},"organization":{"$ref":"#/components/schemas/Organization"},"membership":{"type":"object","additionalProperties":true},"product_role":{"enum":["buyer","supplier","operator"]},"approval_policy":{"type":"object","additionalProperties":true},"request_id":{"type":"string"}}},"CredentialResponse":{"type":"object","required":["data","pagination","freshness"],"additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Credential"}},"pagination":{"$ref":"#/components/schemas/Pagination"},"freshness":{"$ref":"#/components/schemas/Freshness"},"next_cursor":{"type":["string","null"]},"has_more":{"type":"boolean"},"total":{"type":"integer","minimum":0},"freshness_at":{"type":["string","null"],"format":"date-time"},"verification_scope":{"type":"string"},"request_id":{"type":"string"}}},"CredentialCreateResponse":{"type":"object","required":["credential"],"additionalProperties":true,"properties":{"credential":{"$ref":"#/components/schemas/Credential"},"request_id":{"type":"string"}}},"ProjectResponse":{"type":"object","required":["project"],"additionalProperties":true,"properties":{"project":{"$ref":"#/components/schemas/Project"},"request_id":{"type":"string"}}},"ArtifactUploadResponse":{"type":"object","required":["artifact"],"additionalProperties":true,"properties":{"artifact":{"$ref":"#/components/schemas/Artifact"},"request_id":{"type":"string"},"upload":{"type":"object","additionalProperties":true}}},"ArtifactResponse":{"type":"object","required":["artifact"],"additionalProperties":true,"properties":{"artifact":{"$ref":"#/components/schemas/Artifact"},"request_id":{"type":"string"}}},"BomResponse":{"type":"object","required":["bom"],"additionalProperties":true,"properties":{"bom":{"$ref":"#/components/schemas/Bom"},"request_id":{"type":"string"}}},"ValidationResponse":{"type":"object","required":["validation"],"additionalProperties":true,"properties":{"validation":{"$ref":"#/components/schemas/Validation"},"request_id":{"type":"string"}}},"SourcingRequestResponse":{"type":"object","required":["sourcing_request"],"additionalProperties":true,"properties":{"sourcing_request":{"$ref":"#/components/schemas/SourcingRequest"},"request_id":{"type":"string"},"matching":{"type":"object","additionalProperties":true}}},"OfferComparison":{"type":"object","required":["sourcing_request","offers"],"additionalProperties":true,"properties":{"sourcing_request":{"$ref":"#/components/schemas/SourcingRequest"},"offers":{"type":"array","items":{"$ref":"#/components/schemas/Quote"}},"ranking_notice":{"type":"string"},"request_id":{"type":"string"}}},"QuoteResponse":{"type":"object","required":["quote"],"additionalProperties":true,"properties":{"quote":{"$ref":"#/components/schemas/Quote"},"request_id":{"type":"string"}}},"ClarificationResponse":{"type":"object","required":["clarification"],"additionalProperties":true,"properties":{"clarification":{"$ref":"#/components/schemas/ResourceRecord"},"request_id":{"type":"string"}}},"SupplierDecisionResponse":{"type":"object","required":["status"],"additionalProperties":true,"properties":{"status":{"type":"string"},"declined_at":{"type":["string","null"],"format":"date-time"},"request_id":{"type":"string"}}},"SupplierProfileResponse":{"type":"object","required":["supplier"],"additionalProperties":true,"properties":{"supplier":{"$ref":"#/components/schemas/Supplier"},"request_id":{"type":"string"}}},"CatalogImportResponse":{"type":"object","required":["catalog_import"],"additionalProperties":true,"properties":{"catalog_import":{"$ref":"#/components/schemas/CatalogImport"},"request_id":{"type":"string"}}},"AvailabilityResponse":{"type":"object","required":["updated_catalog_item_ids","updated_count"],"additionalProperties":true,"properties":{"updated_catalog_item_ids":{"type":"array","items":{"type":"string"}},"updated_count":{"type":"integer","minimum":0},"request_id":{"type":"string"}}},"SupplierRfqResponse":{"type":"object","required":["rfq"],"additionalProperties":true,"properties":{"rfq":{"$ref":"#/components/schemas/SupplierRfq"},"request_id":{"type":"string"}}},"PurchasePlanResponse":{"type":"object","required":["purchase_plan"],"additionalProperties":true,"properties":{"purchase_plan":{"$ref":"#/components/schemas/PurchasePlan"},"request_id":{"type":"string"}}},"ApprovalResponse":{"type":"object","required":["approval"],"additionalProperties":true,"properties":{"approval":{"$ref":"#/components/schemas/Approval"},"request_id":{"type":"string"}}},"CheckoutHandoffResponse":{"type":"object","additionalProperties":true,"properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/CheckoutHandoff"}},"checkout_handoff":{"$ref":"#/components/schemas/CheckoutHandoff"},"request_id":{"type":"string"}}},"OrderResponse":{"type":"object","required":["order"],"additionalProperties":true,"properties":{"order":{"$ref":"#/components/schemas/Order"},"request_id":{"type":"string"}}},"DataRequestResponse":{"type":"object","required":["data_request"],"additionalProperties":true,"properties":{"data_request":{"$ref":"#/components/schemas/DataRequest"},"request_id":{"type":"string"}}},"DataExportDocument":{"type":"object","required":["export_format","generated_at","organization"],"additionalProperties":true,"properties":{"export_format":{"const":"supplyslate.organization.v1"},"generated_at":{"type":"string","format":"date-time"},"organization":{"$ref":"#/components/schemas/Organization"}}},"NotificationMutationResponse":{"type":"object","additionalProperties":true,"properties":{"notification_id":{"type":"string"},"read":{"type":"boolean"},"read_count":{"type":"integer","minimum":0},"read_at":{"type":"string","format":"date-time"}}},"WebhookEndpointResponse":{"type":"object","required":["endpoint"],"additionalProperties":true,"properties":{"endpoint":{"$ref":"#/components/schemas/WebhookEndpoint"},"request_id":{"type":"string"}}},"WebhookEventResponse":{"type":"object","required":["delivery"],"additionalProperties":true,"properties":{"delivery":{"$ref":"#/components/schemas/WebhookDelivery"},"request_id":{"type":"string"}}},"OperatorResponse":{"$ref":"#/components/schemas/OperatorView"},"MutationRequest":{"type":"object","minProperties":1,"additionalProperties":true,"properties":{"idempotency_key":{"type":"string","minLength":8,"maxLength":200}}},"OAuthClientRegistration":{"type":"object","required":["client_name","redirect_uris"],"additionalProperties":false,"properties":{"client_name":{"type":"string"},"redirect_uris":{"type":"array","minItems":1,"items":{"type":"string","format":"uri"}},"token_endpoint_auth_method":{"type":"string"}}},"AuthorizationConsentWrite":{"type":"object","required":["csrf_token","organization_name"],"additionalProperties":false,"properties":{"csrf_token":{"type":"string","minLength":1},"organization_name":{"type":"string","minLength":2,"maxLength":160}}},"OAuthTokenRequest":{"type":"object","required":["grant_type","client_id"],"additionalProperties":false,"properties":{"grant_type":{"enum":["authorization_code","refresh_token"]},"code":{"type":"string"},"redirect_uri":{"type":"string","format":"uri"},"client_id":{"type":"string"},"code_verifier":{"type":"string"},"refresh_token":{"type":"string"}}},"OAuthRevocationRequest":{"type":"object","required":["token"],"additionalProperties":false,"properties":{"token":{"type":"string"},"token_type_hint":{"enum":["access_token","refresh_token"]}}},"AccessRequestWrite":{"type":"object","required":["organization_name","requester_name","requester_email","agent_or_system","categories","use_case"],"additionalProperties":false,"properties":{"organization_name":{"type":"string","minLength":2,"maxLength":200},"requester_name":{"type":"string","minLength":2,"maxLength":200},"requester_email":{"type":"string","format":"email","maxLength":320},"agent_or_system":{"type":"string","minLength":2,"maxLength":300},"categories":{"type":"array","maxItems":20,"items":{"type":"string"}},"use_case":{"type":"string","minLength":10,"maxLength":2000}}},"SupplierClaimWrite":{"type":"object","required":["company_name","website","requester_name","requester_email"],"additionalProperties":false,"properties":{"supplier_id":{"type":"string"},"company_name":{"type":"string","minLength":2,"maxLength":200},"website":{"type":"string","format":"uri","pattern":"^https://"},"requester_name":{"type":"string","minLength":2,"maxLength":200},"requester_email":{"type":"string","format":"email","maxLength":320},"requester_title":{"type":"string","maxLength":200},"notes":{"type":"string","maxLength":2000}}},"ApplicationStatusResponse":{"type":"object","required":["application"],"additionalProperties":true,"properties":{"application":{"type":"object","required":["kind","status","submitted_at","next"],"properties":{"kind":{"enum":["access_request","supplier_claim"]},"status":{"enum":["pending","approved","rejected"]},"submitted_at":{"type":"string","format":"date-time"},"reviewed_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"next":{"type":"string","minLength":1}}},"request_id":{"type":"string"}}},"ProviderSearchRequest":{"type":"object","required":["query"],"additionalProperties":false,"properties":{"query":{"type":"string","minLength":2,"maxLength":200},"search_type":{"enum":["part_number","keyword"],"default":"part_number"},"manufacturer":{"type":"string","minLength":1,"maxLength":160},"limit":{"type":"integer","minimum":1,"maximum":50,"default":20}}},"AccountUpdate":{"type":"object","required":["organization_name"],"additionalProperties":false,"properties":{"organization_name":{"type":"string","minLength":2,"maxLength":160},"default_currency":{"type":"string","pattern":"^[A-Z]{3}$","default":"USD"}}},"CredentialCreate":{"type":"object","required":["name","scopes"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":2,"maxLength":120},"scopes":{"type":"array","minItems":1,"maxItems":20,"uniqueItems":true,"items":{"enum":["projects:read","projects:write","artifacts:read","artifacts:write","sourcing:read","sourcing:write","commerce:read","commerce:write","supplier:read","supplier:write","catalog:read","catalog:write","webhooks:read","webhooks:write"]}},"expires_at":{"type":"string","format":"date-time"}}},"DataRequestWrite":{"type":"object","required":["request_type"],"additionalProperties":false,"properties":{"request_type":{"enum":["export","delete","restrict","restore"]},"scope":{"type":"object","additionalProperties":false,"properties":{"data_classes":{"type":"array","minItems":1,"items":{"enum":["identity","projects","artifacts","sourcing","commerce","events","audit"]}},"reason":{"type":"string","maxLength":2000}}}}},"DataRequestReviewWrite":{"type":"object","required":["status","note"],"additionalProperties":false,"properties":{"status":{"enum":["reviewing","approved","rejected","cancelled"]},"note":{"type":"string","minLength":1,"maxLength":4000}}},"NotificationUpdateWrite":{"type":"object","required":["read"],"additionalProperties":false,"properties":{"read":{"type":"boolean"}}},"ProjectWrite":{"type":"object","required":["name","origin_type","project_type","demand_lane","brief"],"additionalProperties":false,"properties":{"external_id":{"type":"string","minLength":1,"maxLength":160},"name":{"type":"string","minLength":2,"maxLength":200},"origin_type":{"enum":["idea","file","bom","exact_part","rfq"]},"project_type":{"enum":["industrial_replacement","catalog_build","fabricated_part","mixed_build","kit","assembly"]},"demand_lane":{"enum":["industrial","builder","research"]},"brief":{"type":"string","minLength":3,"maxLength":12000},"build_quantity":{"type":"number","exclusiveMinimum":0,"maximum":1000000,"default":1},"ship_to":{"type":"object","additionalProperties":false,"required":["country_code"],"properties":{"country_code":{"type":"string","pattern":"^[A-Z]{2}$"},"postal_code":{"type":"string","maxLength":32}}},"need_by":{"type":"string","format":"date"},"budget":{"type":"object","additionalProperties":false,"required":["amount_minor","currency"],"properties":{"amount_minor":{"type":"integer","minimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"}}},"substitution_policy":{"enum":["exact_only","approval_required","equivalents_allowed"],"default":"approval_required"},"data_classification":{"enum":["public","commercial","confidential","restricted"],"default":"commercial"},"confidentiality_policy":{"type":"object","additionalProperties":true},"requirements":{"type":"array","maxItems":200,"items":{"$ref":"#/components/schemas/ProjectRequirementWrite"}},"fixture_kind":{"enum":["real","internal_test","demo"],"default":"real"}}},"ProjectRequirementWrite":{"type":"object","required":["requirement_type","name"],"additionalProperties":false,"properties":{"requirement_type":{"type":"string","minLength":1,"maxLength":80},"name":{"type":"string","minLength":1,"maxLength":160},"value":{},"verbatim_value":{"type":"string","maxLength":4000},"unit":{"type":"string","maxLength":40},"criticality":{"enum":["required","preferred","context"],"default":"required"},"source_type":{"enum":["user_statement","agent_interpretation","artifact","supplier_claim","public_source","operator_decision"],"default":"user_statement"},"source_reference":{"type":"string","maxLength":500},"confirmed":{"type":"boolean","default":false}}},"RequirementWrite":{"type":"object","required":["requirements"],"additionalProperties":false,"properties":{"requirements":{"type":"array","maxItems":200,"items":{"$ref":"#/components/schemas/ProjectRequirementWrite"}}}},"ArtifactUploadWrite":{"type":"object","required":["original_filename","media_type","artifact_type","purpose","data_classification","size_bytes","checksum_sha256"],"additionalProperties":false,"properties":{"original_filename":{"type":"string","minLength":1,"maxLength":255},"media_type":{"type":"string","minLength":3,"maxLength":160},"artifact_type":{"enum":["step","stp","stl","3mf","obj","iges","igs","dxf","gerber_zip","kicad","csv","xlsx","pdf","image","text","json","other"]},"purpose":{"enum":["design","drawing","bom_source","datasheet","photo","requirement_package","quote","certification","other"]},"data_classification":{"enum":["public","commercial","confidential","restricted"]},"size_bytes":{"type":"integer","minimum":1,"maximum":52428800},"checksum_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"ArtifactReferenceWrite":{"type":"object","required":["source_url","artifact_type","purpose","data_classification"],"additionalProperties":false,"properties":{"source_url":{"type":"string","format":"uri","pattern":"^https://"},"original_filename":{"type":"string","minLength":1,"maxLength":255},"media_type":{"type":"string","minLength":3,"maxLength":160,"default":"application/octet-stream"},"artifact_type":{"enum":["step","stp","stl","3mf","obj","iges","igs","dxf","gerber_zip","kicad","csv","xlsx","pdf","image","text","json","other"]},"purpose":{"enum":["design","drawing","bom_source","datasheet","photo","requirement_package","quote","certification","other"]},"data_classification":{"enum":["public","commercial","confidential","restricted"]},"checksum_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"}}},"BomWrite":{"type":"object","required":["name","items"],"additionalProperties":false,"properties":{"bom_id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":200},"project_revision_id":{"type":"string","minLength":1,"maxLength":100},"build_quantity":{"type":"number","exclusiveMinimum":0,"maximum":1000000,"default":1},"source_artifact_id":{"type":"string","minLength":1,"maxLength":100},"items":{"type":"array","minItems":1,"maxItems":500,"items":{"$ref":"#/components/schemas/BomItemWrite"}},"dependencies":{"type":"array","maxItems":1000,"items":{"$ref":"#/components/schemas/BomDependencyWrite"}}}},"BomItemWrite":{"type":"object","required":["line_number","item_kind","description","quantity_per_assembly","unit"],"additionalProperties":false,"properties":{"line_number":{"type":"string","minLength":1,"maxLength":80},"parent_line_number":{"type":"string","minLength":1,"maxLength":80},"item_kind":{"enum":["catalog_product","custom_part","service","consumable","requirement_only","assembly"]},"make_or_buy":{"enum":["make","buy","either"],"default":"buy"},"description":{"type":"string","minLength":2,"maxLength":2000},"canonical_product_id":{"type":"string","maxLength":100},"manufacturer":{"type":"string","maxLength":200},"manufacturer_part_number":{"type":"string","maxLength":200},"quantity_per_assembly":{"type":"number","exclusiveMinimum":0,"maximum":1000000},"unit":{"type":"string","minLength":1,"maxLength":40},"scrap_factor":{"type":"number","minimum":0,"maximum":10,"default":0},"minimum_purchase_quantity":{"type":"number","exclusiveMinimum":0},"substitution_policy":{"enum":["exact_only","approval_required","equivalents_allowed"],"default":"approval_required"},"specifications":{"type":"object","additionalProperties":true},"artifact_ids":{"type":"array","maxItems":20,"items":{"type":"string"}}}},"BomDependencyWrite":{"type":"object","required":["source_line_number","target_line_number","dependency_type"],"additionalProperties":false,"properties":{"source_line_number":{"type":"string","minLength":1,"maxLength":80},"target_line_number":{"type":"string","minLength":1,"maxLength":80},"dependency_type":{"enum":["mechanical_interface","electrical_interface","fluid_interface","software_interface","assembly_order","consumable_for"]},"requirements":{"type":"object","additionalProperties":true}}},"SourcingRequestWrite":{"type":"object","required":["category","items"],"additionalProperties":false,"properties":{"external_id":{"type":"string","minLength":1,"maxLength":160},"name":{"type":"string","minLength":2,"maxLength":200},"origin_type":{"enum":["exact_part","rfq"]},"demand_lane":{"enum":["industrial","builder","research"],"default":"industrial"},"category":{"type":"string","minLength":2,"maxLength":100},"ship_to":{"type":"object","required":["country_code"],"additionalProperties":false,"properties":{"country_code":{"type":"string","pattern":"^[A-Z]{2}$"},"postal_code":{"type":"string","maxLength":32}}},"need_by":{"type":"string","format":"date"},"substitutions_allowed":{"type":"boolean","default":false},"data_classification":{"enum":["public","commercial"],"default":"commercial"},"notes":{"type":"string","maxLength":4000},"artifact_ids":{"type":"array","maxItems":50,"items":{"type":"string"}},"fixture_kind":{"enum":["real","internal_test","demo"],"default":"real"},"items":{"type":"array","minItems":1,"maxItems":250,"items":{"$ref":"#/components/schemas/SourceItemWrite"}}}},"SourceItemWrite":{"type":"object","required":["description","quantity","unit"],"additionalProperties":false,"properties":{"description":{"type":"string","minLength":2,"maxLength":2000},"item_kind":{"enum":["catalog_product","custom_part","service","consumable","requirement_only"],"default":"catalog_product"},"manufacturer":{"type":"string","maxLength":200},"part_number":{"type":"string","maxLength":200},"equipment_make":{"type":"string","maxLength":200},"equipment_model":{"type":"string","maxLength":200},"quantity":{"type":"number","exclusiveMinimum":0,"maximum":1000000},"unit":{"type":"string","minLength":1,"maxLength":40},"specifications":{"type":"object","additionalProperties":true},"certifications":{"type":"array","maxItems":30,"items":{"type":"string"}},"artifact_ids":{"type":"array","maxItems":20,"items":{"type":"string"}}}},"ClarificationWrite":{"type":"object","required":["question"],"additionalProperties":false,"properties":{"question":{"type":"string","minLength":3,"maxLength":4000}}},"QuoteWrite":{"type":"object","required":["currency","items"],"additionalProperties":false,"properties":{"quote_id":{"type":"string","pattern":"^quo_[A-Za-z0-9-]+$"},"quote_number":{"type":"string","maxLength":200},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"valid_until":{"type":"string","format":"date"},"delivery_terms":{"type":"string","maxLength":1000},"payment_terms":{"type":"string","maxLength":1000},"warranty":{"type":"string","maxLength":2000},"notes":{"type":"string","maxLength":4000},"shipping_minor":{"type":"integer","minimum":0},"tax_minor":{"type":"integer","minimum":0},"fees_minor":{"type":"integer","minimum":0},"items":{"type":"array","minItems":1,"maxItems":250,"items":{"$ref":"#/components/schemas/QuoteItemWrite"}}}},"QuoteItemWrite":{"type":"object","required":["request_item_id","description","quantity","unit","unit_price_minor"],"additionalProperties":false,"properties":{"request_item_id":{"type":"string","minLength":1,"maxLength":100},"catalog_item_id":{"type":"string","minLength":1,"maxLength":100},"description":{"type":"string","minLength":2,"maxLength":2000},"manufacturer":{"type":"string","maxLength":200},"manufacturer_part_number":{"type":"string","maxLength":200},"quantity":{"type":"number","exclusiveMinimum":0,"maximum":1000000},"unit":{"type":"string","minLength":1,"maxLength":40},"unit_price_minor":{"type":"integer","minimum":0},"minimum_order_quantity":{"type":"number","exclusiveMinimum":0},"package_multiple":{"type":"number","exclusiveMinimum":0},"availability_status":{"enum":["in_stock","limited","backorder","made_to_order","unavailable","unknown"],"default":"unknown"},"lead_time_days":{"type":"integer","minimum":0},"relationship":{"enum":["exact","compatible","alternative","unverified"],"default":"unverified"},"evidence":{"type":"array","maxItems":20,"items":{"type":"object","additionalProperties":false,"required":["source_class","statement"],"properties":{"source_class":{"enum":["supplier_submitted","supplier_api","supplier_document","public_official","transaction"]},"source_url":{"type":"string","format":"uri"},"statement":{"type":"string","minLength":2,"maxLength":2000},"observed_at":{"type":"string","format":"date-time"}}}}}},"SupplierDecisionWrite":{"type":"object","required":["reason_code","reason"],"additionalProperties":false,"properties":{"reason_code":{"enum":["no_capability","no_capacity","quantity_too_low","quantity_too_high","outside_geography","deadline","commercial_terms","insufficient_information","other"]},"reason":{"type":"string","minLength":3,"maxLength":2000}}},"SupplierProfileUpdate":{"type":"object","required":["name","website","profile_summary","service_regions"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":2,"maxLength":240},"website":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"public_email":{"type":["string","null"],"format":"email","maxLength":320},"profile_summary":{"type":"string","minLength":20,"maxLength":4000},"hq_city":{"type":["string","null"],"maxLength":160},"hq_region":{"type":["string","null"],"maxLength":160},"hq_postal_code":{"type":["string","null"],"maxLength":40},"hq_country_code":{"type":["string","null"],"pattern":"^[A-Z]{2}$"},"service_regions":{"type":"array","maxItems":100,"items":{"type":"string","minLength":2,"maxLength":80}},"notification_settings":{"$ref":"#/components/schemas/SupplierNotificationWrite"}}},"SupplierNotificationWrite":{"type":"object","required":["email_recipients","rfq_frequency_limit","quiet_hours"],"additionalProperties":false,"properties":{"email_recipients":{"type":"array","maxItems":20,"items":{"type":"string","format":"email"}},"webhook_endpoint_id":{"type":["string","null"]},"rfq_frequency_limit":{"type":"integer","minimum":0,"maximum":10000},"quiet_hours":{"type":"object","additionalProperties":false,"properties":{"timezone":{"type":"string","maxLength":100},"start":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"},"end":{"type":"string","pattern":"^([01]\\d|2[0-3]):[0-5]\\d$"}}},"paused_until":{"type":["string","null"],"format":"date-time"}}},"CapabilityWrite":{"type":"object","required":["capabilities"],"additionalProperties":false,"properties":{"capabilities":{"type":"array","maxItems":500,"items":{"$ref":"#/components/schemas/CapabilityItemWrite"}}}},"CapabilityItemWrite":{"type":"object","required":["capability_type","name"],"additionalProperties":false,"properties":{"capability_type":{"enum":["category","fabrication_process","material","service","certification","industry","geography","order_policy","assembly","testing"]},"category_code":{"type":"string","maxLength":100},"process_id":{"type":"string","maxLength":100},"name":{"type":"string","minLength":1,"maxLength":300},"normalized_value":{"type":"string","maxLength":500},"constraints":{"type":"object","additionalProperties":true},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"evidence_excerpt":{"type":"string","maxLength":2000},"observed_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"}}},"CatalogImportWrite":{"type":"object","required":["source_type","idempotency_key"],"additionalProperties":false,"properties":{"source_type":{"enum":["csv","xlsx","json","api","feed","document","manual"]},"source_artifact_id":{"type":"string","maxLength":100},"source_url":{"type":"string","format":"uri","pattern":"^https://"},"mapping":{"type":"object","additionalProperties":true},"idempotency_key":{"type":"string","minLength":1,"maxLength":160},"rows":{"type":"array","maxItems":1000,"items":{"type":"object","additionalProperties":true}}}},"AvailabilityWrite":{"type":"object","required":["items"],"additionalProperties":false,"properties":{"items":{"type":"array","minItems":1,"maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["supplier_sku","status","observed_at"],"properties":{"supplier_sku":{"type":"string","minLength":1,"maxLength":200},"status":{"enum":["in_stock","limited","backorder","made_to_order","unavailable","unknown"]},"quantity_available":{"type":"number","minimum":0},"lead_time_days":{"type":"integer","minimum":0},"observed_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"}}}}}},"PurchasePlanWrite":{"type":"object","required":["request_id","quote_item_ids","idempotency_key"],"additionalProperties":false,"properties":{"request_id":{"type":"string","pattern":"^sr_[A-Za-z0-9-]+$"},"quote_item_ids":{"type":"array","minItems":1,"maxItems":500,"uniqueItems":true,"items":{"type":"string","pattern":"^qit_[A-Za-z0-9-]+$"}},"idempotency_key":{"type":"string","minLength":1,"maxLength":160},"expires_at":{"type":"string","format":"date-time"}}},"ApprovalRequestWrite":{"type":"object","required":[],"additionalProperties":false,"properties":{"expires_in_minutes":{"type":"integer","minimum":5,"maximum":10080,"default":1440}}},"ApprovalDecisionWrite":{"type":"object","required":["decision"],"additionalProperties":false,"properties":{"decision":{"enum":["approve","reject"]},"note":{"type":"string","maxLength":2000}}},"CheckoutHandoffWrite":{"type":"object","required":["handoffs"],"additionalProperties":false,"properties":{"handoffs":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["supplier_id","merchant_group_key","handoff_type","amount_minor","currency"],"properties":{"supplier_id":{"type":"string"},"merchant_group_key":{"type":"string","minLength":1,"maxLength":160},"handoff_type":{"enum":["merchant_checkout_url","merchant_order_api","supplier_invoice","buyer_confirmation"]},"checkout_url":{"type":"string","format":"uri","pattern":"^https://"},"merchant_reference":{"type":"string","maxLength":300},"amount_minor":{"type":"integer","minimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"expires_at":{"type":"string","format":"date-time"}}}}}},"ProviderCheckoutWrite":{"type":"object","required":["merchant_group_key"],"additionalProperties":false,"properties":{"merchant_group_key":{"type":"string","minLength":1,"maxLength":160},"shipping_option_id":{"type":"string","minLength":1,"maxLength":160},"ship_to":{"type":"object","additionalProperties":false,"required":["name","street1","city","state","zip"],"properties":{"name":{"type":"string","minLength":1,"maxLength":200},"street1":{"type":"string","minLength":1,"maxLength":300},"street2":{"type":"string","maxLength":300},"city":{"type":"string","minLength":1,"maxLength":160},"state":{"type":"string","minLength":2,"maxLength":2},"zip":{"type":"string","minLength":3,"maxLength":20},"country":{"type":"string","minLength":2,"maxLength":2,"default":"US"}}},"contact":{"type":"object","additionalProperties":false,"required":["email"],"properties":{"email":{"type":"string","format":"email","maxLength":320},"phone":{"type":"string","minLength":5,"maxLength":40}}},"return_url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048}}},"OrderConfirmWrite":{"type":"object","required":["merchant_order_reference","subtotal_minor","total_minor","confirmation_source"],"additionalProperties":false,"properties":{"merchant_order_reference":{"type":"string","minLength":1,"maxLength":300},"status":{"enum":["pending_confirmation","accepted"],"default":"accepted"},"subtotal_minor":{"type":"integer","minimum":0},"shipping_minor":{"type":"integer","minimum":0},"tax_minor":{"type":"integer","minimum":0},"fees_minor":{"type":"integer","minimum":0},"total_minor":{"type":"integer","minimum":0},"confirmation_source":{"enum":["merchant_api","supplier","buyer","operator"]},"ordered_at":{"type":"string","format":"date-time"}}},"OrderUpdate":{"type":"object","required":["status"],"additionalProperties":false,"properties":{"status":{"enum":["accepted","processing","in_production","partially_shipped","shipped","delivered","completed","cancelled","returning","returned","disputed"]},"note":{"type":"string","maxLength":2000},"shipment":{"type":"object","additionalProperties":false,"required":["status"],"properties":{"carrier":{"type":"string","maxLength":160},"service":{"type":"string","maxLength":160},"tracking_number":{"type":"string","maxLength":300},"tracking_url":{"type":"string","format":"uri","pattern":"^https://"},"status":{"enum":["pending","label_created","in_transit","delayed","out_for_delivery","delivered","exception","returned"]},"shipped_at":{"type":"string","format":"date-time"},"estimated_delivery_at":{"type":"string","format":"date-time"},"delivered_at":{"type":"string","format":"date-time"},"items":{"type":"array","maxItems":500,"items":{"type":"object","additionalProperties":false,"required":["order_item_id","quantity"],"properties":{"order_item_id":{"type":"string"},"quantity":{"type":"number","exclusiveMinimum":0}}}}}}}},"OrderIssueWrite":{"type":"object","required":["issue_type","summary"],"additionalProperties":false,"properties":{"order_item_id":{"type":"string"},"issue_type":{"enum":["delay","damage","shortage","wrong_item","compatibility","quality","billing","other"]},"summary":{"type":"string","minLength":3,"maxLength":4000},"owner_type":{"enum":["supplier","operator","merchant"]}}},"OrderIssueUpdateWrite":{"type":"object","required":["status"],"additionalProperties":false,"properties":{"status":{"enum":["open","awaiting_buyer","awaiting_supplier","resolved","closed"]},"owner_type":{"enum":["buyer","supplier","operator","merchant"]},"resolution":{"type":"string","maxLength":4000}}},"CancellationRequestWrite":{"type":"object","required":["reason"],"additionalProperties":false,"properties":{"reason":{"type":"string","minLength":3,"maxLength":4000}}},"CancellationDecisionWrite":{"type":"object","required":["decision"],"additionalProperties":false,"properties":{"decision":{"enum":["accepted","rejected"]},"merchant_reference":{"type":"string","maxLength":300},"note":{"type":"string","maxLength":4000}}},"ReturnRequestWrite":{"type":"object","required":["reason"],"additionalProperties":false,"properties":{"reason":{"type":"string","minLength":3,"maxLength":4000},"items":{"type":"array","items":{"type":"object","required":["order_item_id","quantity"],"additionalProperties":false,"properties":{"order_item_id":{"type":"string"},"quantity":{"type":"number","exclusiveMinimum":0}}}}}},"ReturnUpdateWrite":{"type":"object","required":["status"],"additionalProperties":false,"properties":{"status":{"enum":["authorized","shipped","received","refunded","rejected","cancelled"]},"merchant_return_reference":{"type":"string","maxLength":300},"refund_amount_minor":{"type":"integer","minimum":0},"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"note":{"type":"string","maxLength":4000}}},"WarrantyRequestWrite":{"type":"object","required":["description"],"additionalProperties":false,"properties":{"order_item_id":{"type":"string"},"description":{"type":"string","minLength":3,"maxLength":4000}}},"WarrantyUpdateWrite":{"type":"object","required":["status"],"additionalProperties":false,"properties":{"status":{"enum":["under_review","approved","rejected","replacement_sent","resolved","closed"]},"supplier_reference":{"type":"string","maxLength":300},"note":{"type":"string","maxLength":4000}}},"WebhookEndpointCreateWrite":{"type":"object","required":["url","subscribed_events"],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"description":{"type":"string","maxLength":500},"subscribed_events":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"items":{"type":"string","pattern":"^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*){1,5}$|^\\*$"}}}},"WebhookEndpointUpdateWrite":{"type":"object","required":[],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","pattern":"^https://","maxLength":2048},"description":{"type":"string","maxLength":500},"subscribed_events":{"type":"array","minItems":1,"maxItems":100,"uniqueItems":true,"items":{"type":"string","pattern":"^[a-z][a-z0-9_]*(\\.[a-z][a-z0-9_]*){1,5}$|^\\*$"}}},"minProperties":1},"WebhookReplayWrite":{"type":"object","required":["endpoint_id"],"additionalProperties":false,"properties":{"endpoint_id":{"type":"string","pattern":"^whe_[A-Za-z0-9-]+$"}}},"AccessReviewWrite":{"type":"object","required":["action"],"additionalProperties":false,"properties":{"action":{"enum":["approve","reject"]},"supplier_id":{"type":"string","maxLength":100},"note":{"type":"string","maxLength":2000}}},"DispatchApprovalWrite":{"type":"object","required":["dispatches"],"additionalProperties":false,"properties":{"dispatches":{"type":"array","minItems":1,"maxItems":50,"items":{"type":"object","additionalProperties":false,"required":["supplier_id","subject","body"],"properties":{"supplier_id":{"type":"string","minLength":1,"maxLength":100},"channel":{"enum":["email","supplier_api"],"default":"email"},"recipient":{"type":"string","format":"email","maxLength":320},"subject":{"type":"string","minLength":2,"maxLength":200},"body":{"type":"string","minLength":10,"maxLength":12000},"artifact_ids":{"type":"array","maxItems":50,"items":{"type":"string"}},"response_due_at":{"type":"string","format":"date-time"}}}}}},"CategoryConfigurationWrite":{"type":"object","required":["name","summary","status","category_kind","demand_lanes","requirement_schema","sort_order"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":2,"maxLength":160},"summary":{"type":"string","minLength":10,"maxLength":2000},"status":{"enum":["accepting_requests","building_supply","inactive"]},"category_kind":{"enum":["product","fabrication","service","mixed"]},"demand_lanes":{"type":"array","minItems":1,"maxItems":3,"items":{"enum":["industrial","builder","research"]}},"requirement_schema":{"type":"object","additionalProperties":true,"properties":{"required":{"type":"array","maxItems":100,"items":{"type":"string"}},"recommended":{"type":"array","maxItems":100,"items":{"type":"string"}}}},"sort_order":{"type":"integer","minimum":0,"maximum":100000}}},"ProcessConfigurationWrite":{"type":"object","required":["name","summary","status","process_family","requirement_schema","supported_artifact_types","sort_order"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":2,"maxLength":160},"summary":{"type":"string","minLength":10,"maxLength":2000},"status":{"enum":["active","building_supply","inactive"]},"process_family":{"type":"string","minLength":2,"maxLength":100},"requirement_schema":{"type":"object","additionalProperties":true,"properties":{"required":{"type":"array","maxItems":100,"items":{"type":"string"}},"recommended":{"type":"array","maxItems":100,"items":{"type":"string"}}}},"supported_artifact_types":{"type":"array","maxItems":100,"items":{"type":"string"}},"sort_order":{"type":"integer","minimum":0,"maximum":100000}}},"OperatorDecisionWrite":{"type":"object","minProperties":1,"additionalProperties":true}}},"x-supplyslate-authority":{"outbound_rfq":"human_approval_required","purchase_plan":"human_approval_required","merchant_of_record":"supplier","platform_payments":false},"x-supplyslate-tool-count":55}