Server definition
- Hash
- sha256:de74492d3525f1216db5df12139a6237abf1eecd7e2486fe2b68cfda67554c71
- What it is
- What a remote MCP server returned when asked what it offers: 13 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "Cancels a cart.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"id"
],
"type": "object"
},
"name": "cancel_cart",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured cart content.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Cart GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"currency",
"totals"
],
"title": "Cart response",
"type": "object"
}
},
{
"description": "Cancels a checkout.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"id"
],
"type": "object"
},
"name": "cancel_checkout",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured checkout content returned while the checkout is still open.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for the checkout.",
"properties": {
"instruments": {
"description": "Payment instruments available to or selected by the buyer.",
"items": {
"additionalProperties": true,
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Mailing address fields.",
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Handler-specific display data (for example card brand and last digits).",
"type": [
"object",
"null"
]
},
"handler_id": {
"type": "string"
},
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status.",
"enum": [
"incomplete",
"requires_escalation",
"ready_for_complete",
"canceled"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"status",
"currency",
"totals",
"links"
],
"title": "Checkout response",
"type": "object"
}
},
{
"description": "Completes a checkout and returns the checkout result. Returns details about the completed checkout, including order ID, Thank You Page URL, or any errors encountered.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"checkout": {
"description": "Checkout properties.",
"properties": {
"attribution": {
"description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).",
"properties": {
"activity_id_tag": {
"description": "Activity identifier parameter name.",
"type": "string"
},
"activity_id_value": {
"description": "Activity identifier value matching activity_id_tag.",
"type": "string"
},
"click_id_tag": {
"description": "Click identifier parameter name (e.g., 'gclid', 'fbclid').",
"type": "string"
},
"click_id_value": {
"description": "Click identifier value matching click_id_tag.",
"type": "string"
},
"referring_domain": {
"description": "Domain that referred the buyer to the merchant's storefront.",
"type": "string"
},
"utm_campaign": {
"description": "UTM campaign parameter.",
"type": "string"
},
"utm_content": {
"description": "UTM content parameter.",
"type": "string"
},
"utm_medium": {
"description": "UTM medium parameter.",
"type": "string"
},
"utm_source": {
"description": "UTM source parameter.",
"type": "string"
},
"utm_term": {
"description": "UTM term parameter.",
"type": "string"
}
},
"type": "object"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for this checkout.",
"properties": {
"instruments": {
"description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).",
"items": {
"additionalProperties": true,
"allOf": [
{
"else": {
"properties": {
"credential": {
"properties": {
"type": {
"not": {
"const": "apple_pay_token"
}
}
},
"required": [
"type"
]
}
}
},
"if": {
"properties": {
"handler_id": {
"const": "apple-pay"
}
},
"required": [
"handler_id"
]
},
"then": {
"properties": {
"credential": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
},
"type": {
"const": "card"
}
},
"required": [
"billing_address",
"credential"
]
}
}
],
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Billing address for the instrument.",
"properties": {
"address_country": {
"description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_locality": {
"description": "Locality of the billing address.",
"type": "string"
},
"address_region": {
"description": "Region of the billing address.",
"type": "string"
},
"extended_address": {
"description": "Extended address of the billing address such as an apartment number, C/O, or alternative name.",
"type": "string"
},
"first_name": {
"description": "First name of the contact associated with the billing address.",
"type": "string"
},
"last_name": {
"description": "Last name of the contact associated with the billing address.",
"type": "string"
},
"phone_number": {
"description": "Phone number of the contact associated with the billing address.",
"type": "string"
},
"postal_code": {
"description": "Postal code of the billing address.",
"type": "string"
},
"street_address": {
"description": "Street address of the billing address.",
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"allOf": [
{
"else": {
"required": [
"type"
]
},
"if": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type"
]
},
"then": {
"properties": {
"payment_data": {
"additionalProperties": true,
"properties": {
"data": {
"type": "string"
},
"header": {
"additionalProperties": true,
"anyOf": [
{
"required": [
"ephemeral_public_key"
]
},
{
"required": [
"wrapped_key"
]
}
],
"properties": {
"application_data": {
"type": "string"
},
"ephemeral_public_key": {
"type": "string"
},
"public_key_hash": {
"type": "string"
},
"transaction_id": {
"type": "string"
},
"wrapped_key": {
"type": "string"
}
},
"required": [
"public_key_hash",
"transaction_id"
],
"type": "object"
},
"signature": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"version",
"data",
"signature",
"header"
],
"type": "object"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
}
}
],
"description": "Payment credential payload to process the transaction for this instrument.",
"properties": {
"approval_id": {
"description": "Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.",
"type": "string"
},
"payment_data": {
"type": "object"
},
"token": {
"description": "Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.",
"type": "string"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).",
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Display information for this payment instrument.",
"properties": {
"brand": {
"description": "Card brand (e.g., visa, mastercard), when available.",
"type": "string"
},
"expiry_month": {
"description": "Card expiry month (1-12). Required for card instruments.",
"type": "integer"
},
"expiry_year": {
"description": "Card expiry year. Required for card instruments.",
"type": "integer"
},
"funding_source": {
"description": "How the card is funded, as reported by Apple Pay.",
"enum": [
"debit",
"credit",
"prepaid",
"store"
],
"type": "string"
},
"last_digits": {
"description": "Last 4 digits of the card, when available.",
"type": "string"
},
"rich_card_art": {
"description": "Rich card art URL or identifier for the payment instrument.",
"type": "string"
},
"rich_text_description": {
"description": "Rich text description of the payment instrument for display purposes.",
"type": "string"
}
},
"type": "object"
},
"handler_id": {
"description": "Identifier of the payment handler that was used to generate this instrument.",
"type": "string"
},
"id": {
"description": "A unique identifier for this payment instrument instance.",
"type": "string"
},
"selected": {
"description": "Whether this instrument is the currently selected for the checkout.",
"type": "boolean"
},
"type": {
"description": "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card.",
"type": "string"
}
},
"required": [
"id",
"handler_id",
"type"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"required": [
"payment"
],
"type": "object"
},
"id": {
"description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"idempotency-key": {
"description": "An idempotency key for completing the checkout.",
"type": "string"
},
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent",
"idempotency-key"
],
"type": "object"
}
},
"required": [
"meta",
"id",
"checkout"
],
"type": "object"
},
"name": "complete_checkout",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "The open checkout, or a receipt when the checkout has already been submitted.",
"oneOf": [
{
"additionalProperties": true,
"description": "Structured checkout content returned while the checkout is still open.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for the checkout.",
"properties": {
"instruments": {
"description": "Payment instruments available to or selected by the buyer.",
"items": {
"additionalProperties": true,
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Mailing address fields.",
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Handler-specific display data (for example card brand and last digits).",
"type": [
"object",
"null"
]
},
"handler_id": {
"type": "string"
},
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status.",
"enum": [
"incomplete",
"requires_escalation",
"ready_for_complete",
"canceled"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"status",
"currency",
"totals",
"links"
],
"title": "Checkout response",
"type": "object"
},
{
"additionalProperties": true,
"description": "Structured receipt content returned once the checkout has been submitted.",
"properties": {
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"order": {
"additionalProperties": true,
"description": "Order confirmation. Present once the checkout has completed.",
"properties": {
"id": {
"description": "The order GID.",
"type": "string"
},
"label": {
"description": "The buyer-facing order label.",
"type": "string"
},
"permalink_url": {
"description": "The order status URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"id",
"permalink_url"
],
"type": "object"
},
"payment": {
"additionalProperties": true,
"description": "Payment summary for the completed checkout.",
"properties": {
"handlers": {
"additionalProperties": true,
"description": "Payment handlers accepted by the merchant.",
"type": "object"
},
"instruments": {
"description": "Payment instruments used for the order.",
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status after submission.",
"enum": [
"complete_in_progress",
"completed"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"status",
"currency",
"totals"
],
"title": "Receipt response",
"type": "object"
}
],
"title": "Checkout or receipt response",
"type": "object"
}
},
{
"description": "Creates a new cart\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cart": {
"description": "Cart properties.",
"properties": {
"attribution": {
"description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting.",
"properties": {
"activity_id_tag": {
"description": "Activity identifier parameter name.",
"type": "string"
},
"activity_id_value": {
"description": "Activity identifier value matching activity_id_tag.",
"type": "string"
},
"click_id_tag": {
"description": "Click identifier parameter name (e.g., 'gclid', 'fbclid').",
"type": "string"
},
"click_id_value": {
"description": "Click identifier value matching click_id_tag.",
"type": "string"
},
"referring_domain": {
"description": "Domain that referred the buyer to the merchant's storefront.",
"type": "string"
},
"utm_campaign": {
"description": "UTM campaign parameter.",
"type": "string"
},
"utm_content": {
"description": "UTM content parameter.",
"type": "string"
},
"utm_medium": {
"description": "UTM medium parameter.",
"type": "string"
},
"utm_source": {
"description": "UTM source parameter.",
"type": "string"
},
"utm_term": {
"description": "UTM term parameter.",
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer including email and phone number.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.",
"properties": {
"address_country": {
"description": "Country hint for localization.",
"type": "string"
},
"address_region": {
"description": "Region/state hint for localization.",
"type": "string"
},
"currency": {
"description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD').",
"type": "string"
},
"eligibility": {
"description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.",
"items": {
"description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').",
"pattern": "^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$",
"type": "string"
},
"type": "array"
},
"intent": {
"description": "Context describing buyer's intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code hint for localization.",
"type": "string"
}
},
"type": "object"
},
"discounts": {
"description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.",
"properties": {
"codes": {
"description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"description": "Information about the fulfillment.",
"properties": {
"methods": {
"description": "The methods of fulfillment.",
"items": {
"properties": {
"destinations": {
"description": "The destinations to fulfill to.",
"items": {
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "The groups to fulfill to.",
"items": {
"properties": {
"id": {
"type": "string"
},
"selected_option_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"line_item_ids": {
"description": "The line item ids to fulfill.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"description": "ID of the selected destination.",
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"line_items": {
"description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.",
"items": {
"properties": {
"id": {
"description": "The ID of the line item to update.",
"type": "string"
},
"item": {
"properties": {
"id": {
"description": "The Product Variant ID to add or update.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"quantity": {
"type": "integer"
}
},
"required": [
"item",
"quantity"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"line_items"
],
"type": "object"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"cart"
],
"type": "object"
},
"name": "create_cart",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured cart content.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Cart GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"currency",
"totals"
],
"title": "Cart response",
"type": "object"
}
},
{
"description": "Creates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"checkout": {
"description": "Checkout properties.",
"properties": {
"attribution": {
"description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).",
"properties": {
"activity_id_tag": {
"description": "Activity identifier parameter name.",
"type": "string"
},
"activity_id_value": {
"description": "Activity identifier value matching activity_id_tag.",
"type": "string"
},
"click_id_tag": {
"description": "Click identifier parameter name (e.g., 'gclid', 'fbclid').",
"type": "string"
},
"click_id_value": {
"description": "Click identifier value matching click_id_tag.",
"type": "string"
},
"referring_domain": {
"description": "Domain that referred the buyer to the merchant's storefront.",
"type": "string"
},
"utm_campaign": {
"description": "UTM campaign parameter.",
"type": "string"
},
"utm_content": {
"description": "UTM content parameter.",
"type": "string"
},
"utm_medium": {
"description": "UTM medium parameter.",
"type": "string"
},
"utm_source": {
"description": "UTM source parameter.",
"type": "string"
},
"utm_term": {
"description": "UTM term parameter.",
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer including email and phone number.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"cart_id": {
"description": "Cart ID to convert to checkout. When provided, the business uses cart contents (line_items, context, buyer) and ignores overlapping fields in the checkout payload. Format: 'gid://shopify/Cart/abc123?key=secret'",
"type": "string"
},
"context": {
"additionalProperties": true,
"description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.",
"properties": {
"address_country": {
"description": "Country hint for localization.",
"type": "string"
},
"address_region": {
"description": "Region/state hint for localization.",
"type": "string"
},
"currency": {
"description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD').",
"type": "string"
},
"eligibility": {
"description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.",
"items": {
"description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').",
"pattern": "^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$",
"type": "string"
},
"type": "array"
},
"intent": {
"description": "Context describing buyer's intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code hint for localization.",
"type": "string"
}
},
"type": "object"
},
"discounts": {
"description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.",
"properties": {
"codes": {
"description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"description": "Information about the fulfillment.",
"properties": {
"methods": {
"description": "The methods of fulfillment.",
"items": {
"properties": {
"destinations": {
"description": "The destinations to fulfill to.",
"items": {
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "The groups to fulfill to.",
"items": {
"properties": {
"id": {
"type": "string"
},
"selected_option_id": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"line_item_ids": {
"description": "The line item ids to fulfill.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"description": "ID of the selected destination.",
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"line_items": {
"description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.",
"items": {
"properties": {
"id": {
"description": "The ID of the line item to update.",
"type": "string"
},
"item": {
"properties": {
"id": {
"description": "The Product Variant ID to add or update.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"quantity": {
"type": "integer"
}
},
"required": [
"item",
"quantity"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for this checkout.",
"properties": {
"instruments": {
"description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).",
"items": {
"additionalProperties": true,
"allOf": [
{
"else": {
"properties": {
"credential": {
"properties": {
"type": {
"not": {
"const": "apple_pay_token"
}
}
},
"required": [
"type"
]
}
}
},
"if": {
"properties": {
"handler_id": {
"const": "apple-pay"
}
},
"required": [
"handler_id"
]
},
"then": {
"properties": {
"credential": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
},
"type": {
"const": "card"
}
},
"required": [
"billing_address",
"credential"
]
}
}
],
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Billing address for the instrument.",
"properties": {
"address_country": {
"description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_locality": {
"description": "Locality of the billing address.",
"type": "string"
},
"address_region": {
"description": "Region of the billing address.",
"type": "string"
},
"extended_address": {
"description": "Extended address of the billing address such as an apartment number, C/O, or alternative name.",
"type": "string"
},
"first_name": {
"description": "First name of the contact associated with the billing address.",
"type": "string"
},
"last_name": {
"description": "Last name of the contact associated with the billing address.",
"type": "string"
},
"phone_number": {
"description": "Phone number of the contact associated with the billing address.",
"type": "string"
},
"postal_code": {
"description": "Postal code of the billing address.",
"type": "string"
},
"street_address": {
"description": "Street address of the billing address.",
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"allOf": [
{
"else": {
"required": [
"type"
]
},
"if": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type"
]
},
"then": {
"properties": {
"payment_data": {
"additionalProperties": true,
"properties": {
"data": {
"type": "string"
},
"header": {
"additionalProperties": true,
"anyOf": [
{
"required": [
"ephemeral_public_key"
]
},
{
"required": [
"wrapped_key"
]
}
],
"properties": {
"application_data": {
"type": "string"
},
"ephemeral_public_key": {
"type": "string"
},
"public_key_hash": {
"type": "string"
},
"transaction_id": {
"type": "string"
},
"wrapped_key": {
"type": "string"
}
},
"required": [
"public_key_hash",
"transaction_id"
],
"type": "object"
},
"signature": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"version",
"data",
"signature",
"header"
],
"type": "object"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
}
}
],
"description": "Payment credential payload to process the transaction for this instrument.",
"properties": {
"approval_id": {
"description": "Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.",
"type": "string"
},
"payment_data": {
"type": "object"
},
"token": {
"description": "Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.",
"type": "string"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).",
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Display information for this payment instrument.",
"properties": {
"brand": {
"description": "Card brand (e.g., visa, mastercard), when available.",
"type": "string"
},
"expiry_month": {
"description": "Card expiry month (1-12). Required for card instruments.",
"type": "integer"
},
"expiry_year": {
"description": "Card expiry year. Required for card instruments.",
"type": "integer"
},
"funding_source": {
"description": "How the card is funded, as reported by Apple Pay.",
"enum": [
"debit",
"credit",
"prepaid",
"store"
],
"type": "string"
},
"last_digits": {
"description": "Last 4 digits of the card, when available.",
"type": "string"
},
"rich_card_art": {
"description": "Rich card art URL or identifier for the payment instrument.",
"type": "string"
},
"rich_text_description": {
"description": "Rich text description of the payment instrument for display purposes.",
"type": "string"
}
},
"type": "object"
},
"handler_id": {
"description": "Identifier of the payment handler that was used to generate this instrument.",
"type": "string"
},
"id": {
"description": "A unique identifier for this payment instrument instance.",
"type": "string"
},
"selected": {
"description": "Whether this instrument is the currently selected for the checkout.",
"type": "boolean"
},
"type": {
"description": "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card.",
"type": "string"
}
},
"required": [
"id",
"handler_id",
"type"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"required": [
"line_items"
],
"type": "object"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"checkout"
],
"type": "object"
},
"name": "create_checkout",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured checkout content returned while the checkout is still open.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for the checkout.",
"properties": {
"instruments": {
"description": "Payment instruments available to or selected by the buyer.",
"items": {
"additionalProperties": true,
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Mailing address fields.",
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Handler-specific display data (for example card brand and last digits).",
"type": [
"object",
"null"
]
},
"handler_id": {
"type": "string"
},
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status.",
"enum": [
"incomplete",
"requires_escalation",
"ready_for_complete",
"canceled"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"status",
"currency",
"totals",
"links"
],
"title": "Checkout response",
"type": "object"
}
},
{
"description": "Get the cart contents\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"id"
],
"type": "object"
},
"name": "get_cart",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured cart content.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Cart GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"currency",
"totals"
],
"title": "Cart response",
"type": "object"
}
},
{
"description": "Returns details about the checkout, including line items, totals, and any applicable discounts or taxes.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"id"
],
"type": "object"
},
"name": "get_checkout",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "The open checkout, or a receipt when the checkout has already been submitted.",
"oneOf": [
{
"additionalProperties": true,
"description": "Structured checkout content returned while the checkout is still open.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for the checkout.",
"properties": {
"instruments": {
"description": "Payment instruments available to or selected by the buyer.",
"items": {
"additionalProperties": true,
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Mailing address fields.",
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Handler-specific display data (for example card brand and last digits).",
"type": [
"object",
"null"
]
},
"handler_id": {
"type": "string"
},
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status.",
"enum": [
"incomplete",
"requires_escalation",
"ready_for_complete",
"canceled"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"status",
"currency",
"totals",
"links"
],
"title": "Checkout response",
"type": "object"
},
{
"additionalProperties": true,
"description": "Structured receipt content returned once the checkout has been submitted.",
"properties": {
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"order": {
"additionalProperties": true,
"description": "Order confirmation. Present once the checkout has completed.",
"properties": {
"id": {
"description": "The order GID.",
"type": "string"
},
"label": {
"description": "The buyer-facing order label.",
"type": "string"
},
"permalink_url": {
"description": "The order status URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"id",
"permalink_url"
],
"type": "object"
},
"payment": {
"additionalProperties": true,
"description": "Payment summary for the completed checkout.",
"properties": {
"handlers": {
"additionalProperties": true,
"description": "Payment handlers accepted by the merchant.",
"type": "object"
},
"instruments": {
"description": "Payment instruments used for the order.",
"items": {
"additionalProperties": true,
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status after submission.",
"enum": [
"complete_in_progress",
"completed"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"status",
"currency",
"totals"
],
"title": "Receipt response",
"type": "object"
}
],
"title": "Checkout or receipt response",
"type": "object"
}
},
{
"description": "Get the details of an order\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"id": {
"description": "The ID of the order. Format: 'gid://shopify/Order/123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"id"
],
"type": "object"
},
"name": "get_order",
"outputSchema": null
},
{
"description": "Retrieve complete product detail by identifier. Returns a singular product\nwith a relevant set of variants, exact pricing, and real-time availability.\nSupports interactive option selection via selected and preferences parameters\nfor variant narrowing and availability signals. Use for product detail page\nrendering and purchase decisions.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"catalog": {
"description": "Product detail parameters.",
"properties": {
"context": {
"additionalProperties": true,
"description": "Buyer signals for localization and personalization.",
"properties": {
"address_country": {
"description": "Country code in ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_region": {
"description": "Region or state.",
"type": "string"
},
"currency": {
"description": "Currency code in ISO 4217 format.",
"type": "string"
},
"intent": {
"description": "Buyer intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code.",
"type": "string"
}
},
"type": "object"
},
"filters": {
"additionalProperties": true,
"description": "Narrowing criteria for catalog results.",
"properties": {
"available": {
"default": true,
"description": "Filter by availability. Default true (only sale-ready items).",
"type": "boolean"
},
"categories": {
"description": "Category filters combined with OR logic.",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Price range filter.",
"properties": {
"max": {
"description": "Maximum price in minor currency units.",
"type": "integer"
},
"min": {
"description": "Minimum price in minor currency units.",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"id": {
"description": "Product ID.",
"type": "string"
},
"preferences": {
"description": "Buyer preferences.",
"items": {
"type": "string"
},
"type": "array"
},
"selected": {
"description": "Selected variant options.",
"items": {
"properties": {
"label": {
"type": "string"
},
"name": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"signals": {
"additionalProperties": true,
"description": "Platform environment data.",
"properties": {
"dev.ucp.buyer_ip": {
"description": "Buyer IP address.",
"type": "string"
},
"dev.ucp.user_agent": {
"description": "Buyer user agent.",
"type": "string"
}
},
"type": "object"
}
},
"required": [
"id"
],
"type": "object"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"catalog"
],
"type": "object"
},
"name": "get_product",
"outputSchema": null
},
{
"description": "Look up multiple products or variants by identifier.\nUse this tool to resolve multiple product/variant IDs in a single request.\n\nSupports:\n- Product IDs (gid://shopify/Product/...): Returns product with match: \"featured\"\n- Variant IDs (gid://shopify/ProductVariant/...): Returns parent product with the exact variant\n\nResults are grouped by product. Each variant includes an inputs array showing\nwhich request ID resolved to it and whether the match was exact or featured.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n\nMaximum 10 IDs per request.\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"catalog": {
"description": "Catalog lookup parameters.",
"properties": {
"context": {
"additionalProperties": true,
"description": "Buyer signals for localization and personalization.",
"properties": {
"address_country": {
"description": "Country code in ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_region": {
"description": "Region or state.",
"type": "string"
},
"currency": {
"description": "Currency code in ISO 4217 format.",
"type": "string"
},
"intent": {
"description": "Buyer intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code.",
"type": "string"
}
},
"type": "object"
},
"filters": {
"additionalProperties": true,
"description": "Narrowing criteria for catalog results.",
"properties": {
"available": {
"default": true,
"description": "Filter by availability. Default true (only sale-ready items).",
"type": "boolean"
},
"categories": {
"description": "Category filters combined with OR logic.",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Price range filter.",
"properties": {
"max": {
"description": "Maximum price in minor currency units.",
"type": "integer"
},
"min": {
"description": "Minimum price in minor currency units.",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"ids": {
"description": "Product IDs to look up.",
"items": {
"type": "string"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"signals": {
"additionalProperties": true,
"description": "Platform environment data.",
"properties": {
"dev.ucp.buyer_ip": {
"description": "Buyer IP address.",
"type": "string"
},
"dev.ucp.user_agent": {
"description": "Buyer user agent.",
"type": "string"
}
},
"type": "object"
}
},
"required": [
"ids"
],
"type": "object"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"catalog"
],
"type": "object"
},
"name": "lookup_catalog",
"outputSchema": null
},
{
"description": "Search for products from the online store, hosted on Shopify.\n\nThis tool can be used to search for products using natural language queries, specific filter criteria, or both.\nAt least one of query or filters must be provided.\n\nResults are paginated, with initial results limited to improve experience.\nUse the pagination.cursor from the response to fetch additional pages when users request more results.\n\nResponse conforms to the UCP catalog search capability (dev.ucp.shopping.catalog.search).\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"catalog": {
"description": "Catalog search parameters.",
"properties": {
"context": {
"additionalProperties": true,
"description": "Buyer signals for localization and personalization.",
"properties": {
"address_country": {
"description": "Country code in ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_region": {
"description": "Region or state.",
"type": "string"
},
"currency": {
"description": "Currency code in ISO 4217 format.",
"type": "string"
},
"intent": {
"description": "Buyer intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code.",
"type": "string"
}
},
"type": "object"
},
"filters": {
"additionalProperties": true,
"description": "Narrowing criteria for catalog results.",
"properties": {
"available": {
"default": true,
"description": "Filter by availability. Default true (only sale-ready items).",
"type": "boolean"
},
"categories": {
"description": "Category filters combined with OR logic.",
"items": {
"type": "string"
},
"type": "array"
},
"price": {
"description": "Price range filter.",
"properties": {
"max": {
"description": "Maximum price in minor currency units.",
"type": "integer"
},
"min": {
"description": "Minimum price in minor currency units.",
"type": "integer"
}
},
"type": "object"
}
},
"type": "object"
},
"pagination": {
"description": "Pagination parameters.",
"properties": {
"cursor": {
"description": "Pagination cursor.",
"type": "string"
},
"limit": {
"default": 10,
"description": "Number of results to return.",
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"query": {
"description": "Search query string.",
"type": "string"
},
"signals": {
"additionalProperties": true,
"description": "Platform environment data.",
"properties": {
"dev.ucp.buyer_ip": {
"description": "Buyer IP address.",
"type": "string"
},
"dev.ucp.user_agent": {
"description": "Buyer user agent.",
"type": "string"
}
},
"type": "object"
}
},
"type": "object"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"catalog"
],
"type": "object"
},
"name": "search_catalog",
"outputSchema": null
},
{
"description": "Perform updates to a cart.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"cart": {
"description": "Cart properties.",
"properties": {
"attribution": {
"description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters). Forwarded to the cart for downstream reporting.",
"properties": {
"activity_id_tag": {
"description": "Activity identifier parameter name.",
"type": "string"
},
"activity_id_value": {
"description": "Activity identifier value matching activity_id_tag.",
"type": "string"
},
"click_id_tag": {
"description": "Click identifier parameter name (e.g., 'gclid', 'fbclid').",
"type": "string"
},
"click_id_value": {
"description": "Click identifier value matching click_id_tag.",
"type": "string"
},
"referring_domain": {
"description": "Domain that referred the buyer to the merchant's storefront.",
"type": "string"
},
"utm_campaign": {
"description": "UTM campaign parameter.",
"type": "string"
},
"utm_content": {
"description": "UTM content parameter.",
"type": "string"
},
"utm_medium": {
"description": "UTM medium parameter.",
"type": "string"
},
"utm_source": {
"description": "UTM source parameter.",
"type": "string"
},
"utm_term": {
"description": "UTM term parameter.",
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer including email and phone number.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.",
"properties": {
"address_country": {
"description": "Country hint for localization.",
"type": "string"
},
"address_region": {
"description": "Region/state hint for localization.",
"type": "string"
},
"currency": {
"description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD').",
"type": "string"
},
"eligibility": {
"description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.",
"items": {
"description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').",
"pattern": "^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$",
"type": "string"
},
"type": "array"
},
"intent": {
"description": "Context describing buyer's intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code hint for localization.",
"type": "string"
}
},
"type": "object"
},
"discounts": {
"description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.",
"properties": {
"codes": {
"description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"description": "Information about the fulfillment.",
"properties": {
"methods": {
"description": "The methods of fulfillment.",
"items": {
"properties": {
"destinations": {
"description": "The destinations to fulfill to.",
"items": {
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "The groups to fulfill to.",
"items": {
"properties": {
"id": {
"type": "string"
},
"selected_option_id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "The line item ids to fulfill.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"description": "ID of the selected destination.",
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"line_items": {
"description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.",
"items": {
"properties": {
"id": {
"description": "The ID of the line item to update.",
"type": "string"
},
"item": {
"properties": {
"id": {
"description": "The Product Variant ID to add or update.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"quantity": {
"type": "integer"
}
},
"required": [
"item",
"quantity"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"line_items"
],
"type": "object"
},
"id": {
"description": "The ID of the cart. Format: 'gid://shopify/Cart/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"cart",
"id"
],
"type": "object"
},
"name": "update_cart",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured cart content.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Cart GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"currency",
"totals"
],
"title": "Cart response",
"type": "object"
}
},
{
"description": "Updates a checkout. Returns checkout details, including line items, totals, and any applicable discounts or taxes.\n\nPrices in the response are integers in the currency's ISO 4217 minor units, paired with\na currency code: {\"amount\": 600, \"currency\": \"USD\"} is $6.00 and {\"amount\": 2500,\n\"currency\": \"USD\"} is $25.00. Convert to major units before quoting a price to a buyer\n(divide by 100 for two-decimal currencies such as USD and EUR; zero-decimal currencies\nsuch as JPY are already whole units).\n\n",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"checkout": {
"description": "Checkout properties.",
"properties": {
"attribution": {
"description": "Marketing attribution context for the buyer's session (referring domain, click IDs, UTM parameters).",
"properties": {
"activity_id_tag": {
"description": "Activity identifier parameter name.",
"type": "string"
},
"activity_id_value": {
"description": "Activity identifier value matching activity_id_tag.",
"type": "string"
},
"click_id_tag": {
"description": "Click identifier parameter name (e.g., 'gclid', 'fbclid').",
"type": "string"
},
"click_id_value": {
"description": "Click identifier value matching click_id_tag.",
"type": "string"
},
"referring_domain": {
"description": "Domain that referred the buyer to the merchant's storefront.",
"type": "string"
},
"utm_campaign": {
"description": "UTM campaign parameter.",
"type": "string"
},
"utm_content": {
"description": "UTM content parameter.",
"type": "string"
},
"utm_medium": {
"description": "UTM medium parameter.",
"type": "string"
},
"utm_source": {
"description": "UTM source parameter.",
"type": "string"
},
"utm_term": {
"description": "UTM term parameter.",
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer including email and phone number.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"context": {
"additionalProperties": true,
"description": "Provisional context hints for localization and pricing. Used when authoritative data (e.g., shipping address) is missing; higher-resolution data supersedes these values and unsupported hints may be ignored without error.",
"properties": {
"address_country": {
"description": "Country hint for localization.",
"type": "string"
},
"address_region": {
"description": "Region/state hint for localization.",
"type": "string"
},
"currency": {
"description": "Preferred currency (ISO 4217, e.g., 'EUR', 'USD').",
"type": "string"
},
"eligibility": {
"description": "Buyer claims about eligible benefits such as loyalty membership, payment perks, and similar.",
"items": {
"description": "Reverse-domain identifier. Must contain at least two dot-separated segments (e.g., 'com.example.loyalty').",
"pattern": "^[a-z](?:[a-z0-9-]*[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9_-]*[a-z0-9_])?)+$",
"type": "string"
},
"type": "array"
},
"intent": {
"description": "Context describing buyer's intent.",
"type": "string"
},
"language": {
"description": "Language tag in IETF BCP 47 format.",
"type": "string"
},
"postal_code": {
"description": "Postal code hint for localization.",
"type": "string"
}
},
"type": "object"
},
"discounts": {
"description": "Discount or promo codes to apply to the cart. Only prompt if customer mentions having a discount code.",
"properties": {
"codes": {
"description": "Discount codes to apply. Case-insensitive. Replaces previously submitted codes. Send empty array to clear.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"fulfillment": {
"description": "Information about the fulfillment.",
"properties": {
"methods": {
"description": "The methods of fulfillment.",
"items": {
"properties": {
"destinations": {
"description": "The destinations to fulfill to.",
"items": {
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "The groups to fulfill to.",
"items": {
"properties": {
"id": {
"type": "string"
},
"selected_option_id": {
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "The line item ids to fulfill.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"description": "ID of the selected destination.",
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"line_items": {
"description": "Items to add to the cart or checkout. Required when creating a new cart or checkout.",
"items": {
"properties": {
"id": {
"description": "The ID of the line item to update.",
"type": "string"
},
"item": {
"properties": {
"id": {
"description": "The Product Variant ID to add or update.",
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"quantity": {
"type": "integer"
}
},
"required": [
"item",
"quantity"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for this checkout.",
"properties": {
"instruments": {
"description": "Payment instruments for this checkout (e.g., credit cards, tokens, wallets).",
"items": {
"additionalProperties": true,
"allOf": [
{
"else": {
"properties": {
"credential": {
"properties": {
"type": {
"not": {
"const": "apple_pay_token"
}
}
},
"required": [
"type"
]
}
}
},
"if": {
"properties": {
"handler_id": {
"const": "apple-pay"
}
},
"required": [
"handler_id"
]
},
"then": {
"properties": {
"credential": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
},
"type": {
"const": "card"
}
},
"required": [
"billing_address",
"credential"
]
}
}
],
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Billing address for the instrument.",
"properties": {
"address_country": {
"description": "Country of the billing address in 2-letter ISO 3166-1 alpha-2 format.",
"type": "string"
},
"address_locality": {
"description": "Locality of the billing address.",
"type": "string"
},
"address_region": {
"description": "Region of the billing address.",
"type": "string"
},
"extended_address": {
"description": "Extended address of the billing address such as an apartment number, C/O, or alternative name.",
"type": "string"
},
"first_name": {
"description": "First name of the contact associated with the billing address.",
"type": "string"
},
"last_name": {
"description": "Last name of the contact associated with the billing address.",
"type": "string"
},
"phone_number": {
"description": "Phone number of the contact associated with the billing address.",
"type": "string"
},
"postal_code": {
"description": "Postal code of the billing address.",
"type": "string"
},
"street_address": {
"description": "Street address of the billing address.",
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"allOf": [
{
"else": {
"required": [
"type"
]
},
"if": {
"properties": {
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type"
]
},
"then": {
"properties": {
"payment_data": {
"additionalProperties": true,
"properties": {
"data": {
"type": "string"
},
"header": {
"additionalProperties": true,
"anyOf": [
{
"required": [
"ephemeral_public_key"
]
},
{
"required": [
"wrapped_key"
]
}
],
"properties": {
"application_data": {
"type": "string"
},
"ephemeral_public_key": {
"type": "string"
},
"public_key_hash": {
"type": "string"
},
"transaction_id": {
"type": "string"
},
"wrapped_key": {
"type": "string"
}
},
"required": [
"public_key_hash",
"transaction_id"
],
"type": "object"
},
"signature": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required": [
"version",
"data",
"signature",
"header"
],
"type": "object"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"const": "apple_pay_token"
}
},
"required": [
"type",
"payment_data"
]
}
}
],
"description": "Payment credential payload to process the transaction for this instrument.",
"properties": {
"approval_id": {
"description": "Identifier of the payment approval authorizing this credential, as returned by the approvals API. Required for shop_pay credentials when the merchant requires payment approvals.",
"type": "string"
},
"payment_data": {
"type": "object"
},
"token": {
"description": "Opaque payment token value, required except when restating a platform-listed instrument (e.g., a Shop Pay wallet card) whose token the platform re-derives from the instrument id.",
"type": "string"
},
"transaction_identifier": {
"type": "string"
},
"type": {
"description": "Namespaced token type using dot notation (e.g., stripe.token, merchant.token, google.pay).",
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Display information for this payment instrument.",
"properties": {
"brand": {
"description": "Card brand (e.g., visa, mastercard), when available.",
"type": "string"
},
"expiry_month": {
"description": "Card expiry month (1-12). Required for card instruments.",
"type": "integer"
},
"expiry_year": {
"description": "Card expiry year. Required for card instruments.",
"type": "integer"
},
"funding_source": {
"description": "How the card is funded, as reported by Apple Pay.",
"enum": [
"debit",
"credit",
"prepaid",
"store"
],
"type": "string"
},
"last_digits": {
"description": "Last 4 digits of the card, when available.",
"type": "string"
},
"rich_card_art": {
"description": "Rich card art URL or identifier for the payment instrument.",
"type": "string"
},
"rich_text_description": {
"description": "Rich text description of the payment instrument for display purposes.",
"type": "string"
}
},
"type": "object"
},
"handler_id": {
"description": "Identifier of the payment handler that was used to generate this instrument.",
"type": "string"
},
"id": {
"description": "A unique identifier for this payment instrument instance.",
"type": "string"
},
"selected": {
"description": "Whether this instrument is the currently selected for the checkout.",
"type": "boolean"
},
"type": {
"description": "Instrument type. Apple Pay uses 'card' because the submitted instrument represents a tokenized card.",
"type": "string"
}
},
"required": [
"id",
"handler_id",
"type"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
}
},
"required": [
"line_items"
],
"type": "object"
},
"id": {
"description": "The ID of the checkout to update. Format: 'gid://shopify/Checkout/abc123'",
"type": "string"
},
"meta": {
"description": "Metadata for UCP agent profile discovery.",
"properties": {
"ucp-agent": {
"properties": {
"profile": {
"description": "Agent profile URI for UCP discovery.",
"format": "uri",
"type": "string"
}
},
"required": [
"profile"
],
"type": "object"
}
},
"required": [
"ucp-agent"
],
"type": "object"
}
},
"required": [
"meta",
"checkout",
"id"
],
"type": "object"
},
"name": "update_checkout",
"outputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": true,
"description": "Structured checkout content returned while the checkout is still open.",
"properties": {
"attribution": {
"additionalProperties": true,
"description": "Marketing attribution context for the buyer's session.",
"properties": {
"activity_id_tag": {
"type": "string"
},
"activity_id_value": {
"type": "string"
},
"click_id_tag": {
"type": "string"
},
"click_id_value": {
"type": "string"
},
"referring_domain": {
"type": "string"
},
"utm_campaign": {
"type": "string"
},
"utm_content": {
"type": "string"
},
"utm_medium": {
"type": "string"
},
"utm_source": {
"type": "string"
},
"utm_term": {
"type": "string"
}
},
"type": "object"
},
"buyer": {
"additionalProperties": true,
"description": "Information about the buyer.",
"properties": {
"email": {
"format": "email",
"type": "string"
},
"phone_number": {
"type": "string"
}
},
"type": "object"
},
"continue_url": {
"description": "The URL where the buyer can continue checkout.",
"format": "uri",
"type": "string"
},
"currency": {
"description": "The presentment currency code (ISO 4217).",
"type": "string"
},
"discounts": {
"additionalProperties": true,
"description": "Discount codes and applied discounts for the checkout or cart.",
"properties": {
"applied": {
"description": "Discounts applied to the checkout or cart, including automatic discounts.",
"items": {
"additionalProperties": true,
"properties": {
"allocations": {
"description": "Line item or fulfillment total allocations of the discount.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The allocated amount in minor currency units.",
"type": "integer"
},
"path": {
"description": "JSONPath to the discounted line item or total.",
"type": "string"
}
},
"required": [
"path",
"amount"
],
"type": "object"
},
"type": "array"
},
"amount": {
"description": "The discount amount in minor currency units.",
"type": "integer"
},
"automatic": {
"type": "boolean"
},
"code": {
"type": "string"
},
"method": {
"description": "How the discount is allocated across the targeted items.",
"enum": [
"each",
"across",
"one"
],
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"title",
"amount"
],
"type": "object"
},
"type": "array"
},
"codes": {
"description": "Discount codes submitted for the checkout or cart.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"expires_at": {
"description": "The date and time when the checkout expires.",
"format": "date-time",
"type": "string"
},
"fulfillment": {
"additionalProperties": true,
"description": "Fulfillment methods, destinations, delivery groups, and delivery options.",
"properties": {
"methods": {
"description": "Fulfillment methods available for the checkout or cart.",
"items": {
"additionalProperties": true,
"properties": {
"destinations": {
"description": "Destinations available for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
},
"groups": {
"description": "Delivery groups for this fulfillment method.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"type": "string"
},
"line_item_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"options": {
"description": "Delivery options available for the group.",
"items": {
"additionalProperties": true,
"properties": {
"description": {
"additionalProperties": true,
"description": "Buyer-facing description of the delivery option.",
"properties": {
"plain": {
"type": "string"
}
},
"type": "object"
},
"id": {
"type": "string"
},
"title": {
"type": "string"
},
"totals": {
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units.",
"type": "integer"
},
"type": {
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"selected_option_id": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"line_item_ids"
],
"type": "object"
},
"type": "array"
},
"id": {
"type": "string"
},
"line_item_ids": {
"description": "Line item IDs covered by this fulfillment method.",
"items": {
"type": "string"
},
"type": "array"
},
"selected_destination_id": {
"type": [
"string",
"null"
]
},
"type": {
"enum": [
"shipping",
"pickup"
],
"type": "string"
}
},
"required": [
"id",
"type",
"line_item_ids"
],
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"id": {
"description": "The Shopify Checkout GID.",
"type": "string"
},
"line_items": {
"description": "Line items in the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"id": {
"description": "The line item ID.",
"type": "string"
},
"item": {
"additionalProperties": true,
"description": "The merchandise item for a line item.",
"properties": {
"id": {
"description": "The product variant GID.",
"type": "string"
},
"image_url": {
"description": "The item image URL.",
"format": "uri",
"type": "string"
},
"price": {
"description": "The unit price in minor currency units.",
"type": "integer"
},
"title": {
"description": "The item title.",
"type": "string"
}
},
"required": [
"id",
"title",
"price"
],
"type": "object"
},
"parent_id": {
"description": "The parent line item ID for nested line items.",
"type": "string"
},
"quantity": {
"description": "The line item quantity.",
"type": "integer"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"id",
"item",
"quantity",
"totals"
],
"type": "object"
},
"type": "array"
},
"links": {
"description": "Merchant policy links relevant to the checkout.",
"items": {
"additionalProperties": true,
"properties": {
"title": {
"type": "string"
},
"type": {
"type": "string"
},
"url": {
"description": "The policy URL.",
"format": "uri",
"type": "string"
}
},
"required": [
"type",
"url"
],
"type": "object"
},
"type": "array"
},
"messages": {
"description": "Errors or warnings surfaced while processing the tool call.",
"items": {
"additionalProperties": true,
"properties": {
"code": {
"type": "string"
},
"content": {
"type": "string"
},
"content_type": {
"enum": [
"plain",
"markdown"
],
"type": "string"
},
"path": {
"type": "string"
},
"severity": {
"enum": [
"recoverable",
"requires_buyer_input",
"requires_buyer_review",
"unrecoverable"
],
"type": "string"
},
"type": {
"enum": [
"error",
"warning",
"info"
],
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
},
"type": "array"
},
"payment": {
"additionalProperties": true,
"description": "Payment information for the checkout.",
"properties": {
"instruments": {
"description": "Payment instruments available to or selected by the buyer.",
"items": {
"additionalProperties": true,
"properties": {
"billing_address": {
"additionalProperties": true,
"description": "Mailing address fields.",
"properties": {
"address_country": {
"type": "string"
},
"address_locality": {
"type": "string"
},
"address_region": {
"type": "string"
},
"extended_address": {
"type": "string"
},
"first_name": {
"type": "string"
},
"id": {
"type": "string"
},
"last_name": {
"type": "string"
},
"phone_number": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"street_address": {
"type": "string"
}
},
"type": "object"
},
"credential": {
"additionalProperties": true,
"properties": {
"type": {
"type": "string"
}
},
"type": "object"
},
"display": {
"additionalProperties": true,
"description": "Handler-specific display data (for example card brand and last digits).",
"type": [
"object",
"null"
]
},
"handler_id": {
"type": "string"
},
"id": {
"type": "string"
},
"selected": {
"type": "boolean"
},
"type": {
"type": "string"
}
},
"type": "object"
},
"type": "array"
}
},
"type": "object"
},
"status": {
"description": "The checkout status.",
"enum": [
"incomplete",
"requires_escalation",
"ready_for_complete",
"canceled"
],
"type": "string"
},
"totals": {
"description": "Monetary totals in minor currency units.",
"items": {
"additionalProperties": true,
"properties": {
"amount": {
"description": "The amount in minor currency units. Discount totals are negative.",
"type": "integer"
},
"display_text": {
"description": "Buyer-facing label for the total.",
"type": "string"
},
"type": {
"description": "Cost category. Well-known values: subtotal, items_discount, discount, fulfillment, tax, fee, total. Businesses may use additional values, which always carry `display_text` (Shopify emits `duty`).",
"type": "string"
}
},
"required": [
"type",
"amount"
],
"type": "object"
},
"type": "array"
},
"ucp": {
"additionalProperties": true,
"description": "UCP protocol metadata for the response.",
"properties": {
"capabilities": {
"additionalProperties": true,
"description": "Negotiated UCP capabilities.",
"type": "object"
},
"payment_handlers": {
"additionalProperties": true,
"description": "Payment handlers available to the buyer. Empty on receipts.",
"type": "object"
},
"services": {
"additionalProperties": true,
"description": "Services available to the agent.",
"type": "object"
},
"status": {
"description": "Whether UCP processing succeeded.",
"enum": [
"success",
"error"
],
"type": "string"
},
"version": {
"description": "The negotiated UCP version.",
"type": "string"
}
},
"required": [
"version",
"status",
"services",
"capabilities",
"payment_handlers"
],
"type": "object"
}
},
"required": [
"ucp",
"id",
"line_items",
"status",
"currency",
"totals",
"links"
],
"title": "Checkout response",
"type": "object"
}
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:de74492d3525f1216db5df12139a6237abf1eecd7e2486fe2b68cfda67554c71 | sha256sum