Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
151 changes: 22 additions & 129 deletions source/services/shopping/rest.openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,19 +16,22 @@
}
}
],
"security": [
{},
{
"oauth2_bearer": []
},
{
"api_key": []
}
],
"paths": {
"/checkout-sessions": {
"post": {
"operationId": "create_checkout",
"summary": "Create Checkout",
"description": "Create a new checkout session.",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/x_api_key"
},
{
"$ref": "#/components/parameters/signature"
},
Expand All @@ -50,12 +53,6 @@
{
"$ref": "#/components/parameters/ucp_agent"
},
{
"$ref": "#/components/parameters/content_type"
},
{
"$ref": "#/components/parameters/accept"
},
{
"$ref": "#/components/parameters/accept_language"
},
Expand Down Expand Up @@ -105,12 +102,6 @@
"summary": "Get Checkout",
"description": "Get the latest state of a checkout session.",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/x_api_key"
},
{
"$ref": "#/components/parameters/signature"
},
Expand All @@ -126,12 +117,6 @@
{
"$ref": "#/components/parameters/ucp_agent"
},
{
"$ref": "#/components/parameters/content_type"
},
{
"$ref": "#/components/parameters/accept"
},
{
"$ref": "#/components/parameters/accept_language"
},
Expand Down Expand Up @@ -168,12 +153,6 @@
"summary": "Update Checkout",
"description": "Update Checkout is a full replacement operation. A new Update Checkout operation is not permitted while Checkout status is `complete_in_progress`. Duplicate requests remain subject to Replay Protection. If the Business receives a new Update Checkout request in that state, it leaves the Checkout unchanged and returns the current Checkout with a recoverable error Message.",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/x_api_key"
},
{
"$ref": "#/components/parameters/signature"
},
Expand All @@ -195,12 +174,6 @@
{
"$ref": "#/components/parameters/ucp_agent"
},
{
"$ref": "#/components/parameters/content_type"
},
{
"$ref": "#/components/parameters/accept"
},
{
"$ref": "#/components/parameters/accept_language"
},
Expand Down Expand Up @@ -250,12 +223,6 @@
"summary": "Complete Checkout",
"description": "Place the order",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/x_api_key"
},
{
"$ref": "#/components/parameters/signature"
},
Expand All @@ -277,12 +244,6 @@
{
"$ref": "#/components/parameters/ucp_agent"
},
{
"$ref": "#/components/parameters/content_type"
},
{
"$ref": "#/components/parameters/accept"
},
{
"$ref": "#/components/parameters/accept_language"
},
Expand Down Expand Up @@ -330,12 +291,6 @@
"summary": "Cancel Checkout",
"description": "Cancel a checkout session",
"parameters": [
{
"$ref": "#/components/parameters/authorization"
},
{
"$ref": "#/components/parameters/x_api_key"
},
{
"$ref": "#/components/parameters/signature"
},
Expand All @@ -357,12 +312,6 @@
{
"$ref": "#/components/parameters/ucp_agent"
},
{
"$ref": "#/components/parameters/content_type"
},
{
"$ref": "#/components/parameters/accept"
},
{
"$ref": "#/components/parameters/accept_language"
},
Expand Down Expand Up @@ -401,17 +350,13 @@
"summary": "Create Cart",
"description": "Create a new cart session.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/idempotency_key" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand Down Expand Up @@ -449,15 +394,11 @@
"summary": "Get Cart",
"description": "Get the latest state of a cart session.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand All @@ -482,17 +423,13 @@
"summary": "Update Cart",
"description": "Update a cart session.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/idempotency_key" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand Down Expand Up @@ -530,17 +467,13 @@
"summary": "Cancel Cart",
"description": "Cancel a cart session. Returns the cart state at time of cancellation.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/idempotency_key" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand All @@ -567,16 +500,12 @@
"summary": "Search Catalog",
"description": "Search for products in the business's catalog.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand Down Expand Up @@ -611,16 +540,12 @@
"summary": "Batch Lookup Catalog Items",
"description": "Lookup one or more products by ID with explicit market context. Supports batch lookups of multiple items in a single request.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand Down Expand Up @@ -658,15 +583,11 @@
"summary": "Get Order",
"description": "Get the current state of an order. Returns the full order entity as a current-state snapshot. The business verifies the requesting platform created the checkout that produced this order.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand All @@ -693,16 +614,12 @@
"summary": "Get Product Details",
"description": "Retrieve complete product detail by identifier. Returns a singular product with a relevant set of variants, exact pricing, and real-time availability. Supports interactive option selection via `selected` and `preferences` parameters for variant narrowing and availability signals.",
"parameters": [
{ "$ref": "#/components/parameters/authorization" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/signature" },
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/request_id" },
{ "$ref": "#/components/parameters/user_agent" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/content_type" },
{ "$ref": "#/components/parameters/accept" },
{ "$ref": "#/components/parameters/accept_language" },
{ "$ref": "#/components/parameters/accept_encoding" }
],
Expand Down Expand Up @@ -743,7 +660,6 @@
{ "$ref": "#/components/parameters/signature_input" },
{ "$ref": "#/components/parameters/content_digest" },
{ "$ref": "#/components/parameters/ucp_agent" },
{ "$ref": "#/components/parameters/x_api_key" },
{ "$ref": "#/components/parameters/webhook_timestamp" },
{ "$ref": "#/components/parameters/webhook_id" }
],
Expand Down Expand Up @@ -777,6 +693,19 @@
}
},
"components": {
"securitySchemes": {
"oauth2_bearer": {
"type": "http",
"scheme": "bearer",
"description": "OAuth 2.0 access token issued by the business's authorization server, which platforms discover per RFC 8414. Covers both platform self-authentication (client_credentials) and platform authentication on behalf of an end user (authorization_code). See the Identity Linking specification."
},
"api_key": {
"type": "apiKey",
"in": "header",
"name": "X-API-Key",
"description": "Reusable API key allocated to the platform by the business."
}
},
"parameters": {
"checkout_session_id_path": {
"name": "id",
Expand Down Expand Up @@ -805,24 +734,6 @@
"type": "string"
}
},
"authorization": {
"name": "Authorization",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Should contain oauth token representing the following 2 schemes: 1. Platform self authenticating (client_credentials). 2. Platform authenticating on behalf of end user (authorization_code)."
},
"x_api_key": {
"name": "X-API-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Authenticates the platform with a reusable api key allocated to the platform by the business."
},
"signature": {
"name": "Signature",
"in": "header",
Expand Down Expand Up @@ -888,24 +799,6 @@
},
"description": "Identifies the UCP agent making the call. All requests MUST include the UCP-Agent header containing the signer's profile URI using RFC 8941 Dictionary syntax. The URL MUST point to /.well-known/ucp. Format: profile=\"https://example.com/.well-known/ucp\"."
},
"content_type": {
"name": "Content-Type",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Representation Metadata. Tells the receiver what the data in the message body actually is."
},
"accept": {
"name": "Accept",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Content Negotiation. The client tells the server what data formats it is capable of understanding."
},
"accept_language": {
"name": "Accept-Language",
"in": "header",
Expand Down
Loading