Skip to content

Schema Reference

This page provides a reference for all the capability data models and types used within the UCP.

Capability schemas define negotiated capabilities that appear in ucp.capabilities{} registries. Each capability schema is self-describing with name and version fields.

Key capabilities:

CapabilityNameDescription
Checkoutdev.ucp.shopping.checkoutCore checkout session management
Cartdev.ucp.shopping.cartShopping cart before checkout
Catalog Searchdev.ucp.shopping.catalog.searchProduct search
Catalog Lookupdev.ucp.shopping.catalog.lookupProduct lookup by ID
Orderdev.ucp.shopping.orderPost-checkout order management
Identity Linkingdev.ucp.common.identity_linkingOAuth 2.0 account linking

Type schemas define reusable data structures referenced by other schemas. They do not appear in registries and do not have name or version fields.

Key types:

TypeDescription
types/buyer.jsonBuyer information
types/line_item.jsonOrder/cart line item
types/postal_address.jsonPhysical address
types/payment_instrument.jsonBase payment instrument
types/card_payment_instrument.jsonCard-based instrument
types/payment_credential.jsonBase credential type
types/token_credential.jsonToken credential
types/payment_identity.jsonPayment participant identity
types/binding.jsonCredential binding context

The selected_payment_instrument type extends the base payment_instrument with a selected boolean field indicating which instrument was chosen for checkout.

FieldTypeDescription
limitintegerMaximum number of results
cursorstringCursor for next page (optional)
FieldTypeDescription
cursorstringCursor for next page request
has_next_pagebooleanWhether more results are available
total_countintegerTotal number of results (if available)

UCP uses a consistent error object format:

FieldTypeDescription
codestringMachine-readable error code
contentstringHuman-readable error message

Extensions compose with capabilities via allOf. Key extensions:

ExtensionNameDescription
Fulfillmentdev.ucp.shopping.fulfillmentShipping/pickup methods
Discountdev.ucp.shopping.discountDiscount codes and allocations
AP2 Mandatesdev.ucp.shopping.ap2_mandatesCryptographic payment authorization
Buyer Consentdev.ucp.shopping.buyer_consentGDPR/CCPA consent management

The following schemas define the structure of UCP metadata used in discovery and responses.

The top-level structure of a platform profile document (hosted at a URI advertised by the platform).

FieldDescription
ucp.versionProtocol version (YYYY-MM-DD)
ucp.capabilitiesMap of capability names to capability declarations
ucp.servicesMap of service names to transport bindings
ucp.payment_handlersMap of handler names to handler declarations
signing_keysArray of JWK public keys for signature verification

The top-level structure of a business discovery document (/.well-known/ucp).

Same structure as platform profile. Hosted at /.well-known/ucp on the business domain.

The ucp object included in checkout responses:

FieldDescription
versionProtocol version used in this response
capabilitiesMap of active capability names to their versions
payment_handlersResolved payment handler configurations

The ucp object included in cart responses:

FieldDescription
versionProtocol version used in this response
capabilitiesMap of active capability names to their versions

The ucp object included in order responses or events:

FieldDescription
versionProtocol version used in this response
capabilitiesMap of active capability names to their versions

This object describes a single capability or extension. It appears in the capabilities map in discovery profiles and responses.

As seen in discovery profiles (platform or business):

FieldTypeRequiredDescription
versionstringYesCapability version (YYYY-MM-DD)
specstringNoURL to the capability specification
schemastringNoURL to the capability JSON schema
configobjectNoCapability-specific configuration

As seen in response messages:

FieldTypeRequiredDescription
versionstringYesCapability version (YYYY-MM-DD)