{"components":{"parameters":{"CheckoutIdPath":{"description":"UCP checkout session id.","in":"path","name":"id","required":true,"schema":{"minLength":1,"type":"string"}},"DocumentIdPath":{"description":"UCP reference document id.","in":"path","name":"documentId","required":true,"schema":{"minLength":1,"type":"string"}},"OrderIdPath":{"description":"UCP order id.","in":"path","name":"id","required":true,"schema":{"minLength":1,"type":"string"}}},"schemas":{"UcpCapabilitiesResponse":{"type":"object","properties":{"capabilities":{"type":"array","items":{"type":"object","properties":{"config":{"type":"object","propertyNames":{},"additionalProperties":{}},"extends":{"type":"string"},"name":{"type":"string"},"schema":{"type":"string"},"spec":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"ok":{"const":true}},"required":["capabilities","ok"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"UcpCatalogResponse":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"slug":{"type":"string"},"title":{"type":"string"},"summary":{"type":"string"},"detail":{"type":"string"},"currency":{"type":"string"},"unit_price":{"type":"number"},"quantity_step":{"type":"number"},"path":{"type":"string"}},"required":["id","slug","title","summary","detail","currency","unit_price","quantity_step","path"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"ok":{"const":true}},"required":["data","ok"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"UcpCheckoutCompleteRequest":{"type":"object","properties":{"payment_data":{"type":"object","properties":{"id":{"type":"string","minLength":1},"handler_id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"brand":{"type":"string","minLength":1},"last_digits":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000},"rich_text_description":{"type":"string","minLength":1},"credential":{"type":"object","properties":{"type":{"type":"string","minLength":1},"token":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"number":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000}},"required":["type"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["id","handler_id","type","brand","last_digits"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["payment_data"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"UcpCheckoutCreateRequest":{"type":"object","properties":{"buyer":{"type":"object","properties":{"email":{"type":"string","format":"email"},"first_name":{"type":"string","minLength":1},"full_name":{"type":"string","minLength":1},"last_name":{"type":"string","minLength":1},"phone_number":{"type":"string","minLength":1}},"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"currency":{"type":"string","minLength":1},"line_items":{"type":"array","items":{"type":"object","properties":{"item":{"type":"object","properties":{"id":{"type":"string","minLength":1}},"required":["id"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"quantity":{"type":"number","minimum":1}},"required":["item","quantity"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"minItems":1},"payment":{"type":"object","properties":{"instruments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"handler_id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"brand":{"type":"string","minLength":1},"last_digits":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000},"rich_text_description":{"type":"string","minLength":1},"credential":{"type":"object","properties":{"type":{"type":"string","minLength":1},"token":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"number":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000}},"required":["type"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["id","handler_id","type","brand","last_digits"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"selected_instrument_id":{"type":"string","minLength":1}},"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["currency","line_items","payment"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"UcpCheckoutResponse":{"$ref":"https://admin.pathologise.com/api/ucp/reference/shopping-checkout-schema"},"UcpCheckoutUpdateRequest":{"type":"object","properties":{"buyer":{"type":"object","properties":{"email":{"type":"string","format":"email"},"first_name":{"type":"string","minLength":1},"full_name":{"type":"string","minLength":1},"last_name":{"type":"string","minLength":1},"phone_number":{"type":"string","minLength":1}},"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"currency":{"type":"string","minLength":1},"id":{"type":"string","minLength":1},"line_items":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"item":{"type":"object","properties":{"id":{"type":"string","minLength":1}},"required":["id"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"quantity":{"type":"number","minimum":0}},"required":["item","quantity"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"payment":{"type":"object","properties":{"instruments":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1},"handler_id":{"type":"string","minLength":1},"type":{"type":"string","minLength":1},"brand":{"type":"string","minLength":1},"last_digits":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000},"rich_text_description":{"type":"string","minLength":1},"credential":{"type":"object","properties":{"type":{"type":"string","minLength":1},"token":{"type":"string","minLength":1},"name":{"type":"string","minLength":1},"number":{"type":"string","minLength":1},"expiry_month":{"type":"number","minimum":1,"maximum":12},"expiry_year":{"type":"number","minimum":2000}},"required":["type"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["id","handler_id","type","brand","last_digits"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"selected_instrument_id":{"type":"string","minLength":1}},"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."}},"required":["currency","id","line_items","payment"],"$comment":"Optional keys are represented by omission from required in emitted JSON Schema."},"UcpDiscoveryProfile":{"additionalProperties":true,"properties":{"payment":{"type":"object"},"ucp":{"additionalProperties":true,"properties":{"capabilities":{"items":{"type":"object"},"type":"array"},"services":{"additionalProperties":true,"type":"object"},"version":{"const":"2026-01-11"}},"required":["capabilities","services","version"],"type":"object"}},"required":["payment","ucp"],"type":"object"},"UcpErrorEnvelope":{"additionalProperties":false,"properties":{"messages":{"items":{"additionalProperties":true,"properties":{"code":{"type":"string"},"content":{"type":"string"},"severity":{"type":"string"},"type":{"const":"error"}},"required":["content","type"],"type":"object"},"type":"array"},"ok":{"const":false}},"required":["messages","ok"],"type":"object"},"UcpOrderResponse":{"$ref":"https://admin.pathologise.com/api/ucp/reference/shopping-order-schema"},"UcpReferenceDocument":{"type":"object"}},"responses":{"CheckoutCreated":{"description":"UCP checkout session.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutResponse"}}}},"CheckoutRead":{"description":"UCP checkout session.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutResponse"}}}},"CheckoutUpdated":{"description":"UCP checkout session.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutResponse"}}}},"Conflict":{"description":"Structured UCP error envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpErrorEnvelope"}}}},"NotFound":{"description":"Structured UCP error envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpErrorEnvelope"}}}},"OrderRead":{"description":"UCP order.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpOrderResponse"}}}},"ServiceUnavailable":{"description":"Structured UCP error envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpErrorEnvelope"}}}},"ValidationError":{"description":"Structured UCP error envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpErrorEnvelope"}}}}}},"externalDocs":{"description":"Arazzo workflow document for AI clients.","url":"https://admin.pathologise.com/api/ucp/arazzo.json"},"info":{"description":"Mopec Admin UCP shopping API for discovery, catalog, checkout, and order retrieval.","title":"Mopec Admin UCP REST API","version":"2026-01-11"},"jsonSchemaDialect":"https://json-schema.org/draft/2020-12/schema","openapi":"3.2.0","paths":{"/.well-known/ucp":{"get":{"operationId":"getDiscoveryProfile","responses":{"200":{"description":"UCP discovery profile.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpDiscoveryProfile"}}}}},"summary":"Read the UCP discovery profile.","tags":["ucp-discovery"]}},"/api/ucp/capabilities":{"get":{"operationId":"listCapabilities","responses":{"200":{"description":"Merchant UCP capabilities.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCapabilitiesResponse"}}}}},"summary":"List merchant UCP capabilities.","tags":["ucp-discovery"]}},"/api/ucp/reference/{documentId}":{"get":{"operationId":"getReferenceDocument","parameters":[{"$ref":"#/components/parameters/DocumentIdPath"}],"responses":{"200":{"description":"UCP reference document.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpReferenceDocument"}}}},"404":{"$ref":"#/components/responses/NotFound"}},"summary":"Read a UCP reference document.","tags":["ucp-discovery"]}},"/api/ucp/catalog":{"get":{"operationId":"listCatalog","responses":{"200":{"description":"UCP catalog response.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCatalogResponse"}}}}},"summary":"List catalog entries for UCP checkout.","tags":["ucp-catalog"]}},"/api/ucp/checkout-sessions":{"post":{"operationId":"createCheckoutSession","requestBody":{"description":"Checkout creation payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutCreateRequest"}}}},"responses":{"201":{"$ref":"#/components/responses/CheckoutCreated"},"400":{"$ref":"#/components/responses/ValidationError"},"422":{"$ref":"#/components/responses/ValidationError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Create a UCP checkout session.","tags":["ucp-checkout"]}},"/api/ucp/checkout-sessions/{id}":{"get":{"operationId":"getCheckoutSession","parameters":[{"$ref":"#/components/parameters/CheckoutIdPath"}],"responses":{"200":{"$ref":"#/components/responses/CheckoutRead"},"400":{"$ref":"#/components/responses/ValidationError"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Read a UCP checkout session.","tags":["ucp-checkout"]},"put":{"operationId":"updateCheckoutSession","parameters":[{"$ref":"#/components/parameters/CheckoutIdPath"}],"requestBody":{"description":"Checkout update payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutUpdateRequest"}}}},"responses":{"200":{"$ref":"#/components/responses/CheckoutRead"},"400":{"$ref":"#/components/responses/ValidationError"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Update a UCP checkout session.","tags":["ucp-checkout"]}},"/api/ucp/checkout-sessions/{id}/complete":{"post":{"operationId":"completeCheckoutSession","parameters":[{"$ref":"#/components/parameters/CheckoutIdPath"}],"requestBody":{"description":"Checkout completion payload.","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UcpCheckoutCompleteRequest"}}}},"responses":{"200":{"$ref":"#/components/responses/CheckoutRead"},"400":{"$ref":"#/components/responses/ValidationError"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Complete a UCP checkout session.","tags":["ucp-checkout"]}},"/api/ucp/checkout-sessions/{id}/cancel":{"post":{"operationId":"cancelCheckoutSession","parameters":[{"$ref":"#/components/parameters/CheckoutIdPath"}],"responses":{"200":{"$ref":"#/components/responses/CheckoutRead"},"400":{"$ref":"#/components/responses/ValidationError"},"404":{"$ref":"#/components/responses/NotFound"},"409":{"$ref":"#/components/responses/Conflict"},"422":{"$ref":"#/components/responses/ValidationError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Cancel a UCP checkout session.","tags":["ucp-checkout"]}},"/api/ucp/orders/{id}":{"get":{"operationId":"getOrder","parameters":[{"$ref":"#/components/parameters/OrderIdPath"}],"responses":{"200":{"$ref":"#/components/responses/OrderRead"},"404":{"$ref":"#/components/responses/NotFound"},"503":{"$ref":"#/components/responses/ServiceUnavailable"}},"summary":"Read a UCP order.","tags":["ucp-orders"]}}},"servers":[{"description":"Active merchant origin.","url":"https://admin.pathologise.com"}],"tags":[{"description":"Merchant profile, reference documents, and capability discovery.","name":"ucp-discovery"},{"description":"Public catalog entries available for UCP checkout.","name":"ucp-catalog"},{"description":"Checkout session creation, update, completion, and cancellation.","name":"ucp-checkout"},{"description":"Order retrieval for completed UCP checkout sessions.","name":"ucp-orders"}],"x-ai-workflows":[{"mediaType":"application/vnd.oai.workflows+json","standard":"Arazzo","url":"https://admin.pathologise.com/api/ucp/arazzo.json","version":"1.1.0"}],"x-ucp-capabilities":{"capabilities":["dev.ucp.shopping.checkout","dev.ucp.shopping.order","dev.ucp.shopping.fulfillment","dev.ucp.shopping.buyer_consent"],"service":"dev.ucp.shopping","version":"2026-01-11"}}