Rye Checkout Intents API
The Checkout Intents API from Rye — 6 operation(s) for checkout intents.
The Checkout Intents API from Rye — 6 operation(s) for checkout intents.
openapi: 3.0.0
info:
title: Universal Checkout Betas Checkout Intents API
version: 1.0.5
description: 'Turn any product URL into a completed checkout. Instantly retrieve price, tax, and shipping for any product, and let users buy without ever leaving your native AI experience.
View the [Rye API docs](https://docs.rye.com).'
termsOfService: https://rye.com/terms-of-service
license:
name: UNLICENSED
contact:
name: Rye
email: dev@rye.com
url: https://docs.rye.com
servers:
- url: https://staging.api.rye.com
tags:
- name: Checkout Intents
paths:
/api/v1/checkout-intents:
get:
operationId: ListCheckoutIntents
responses:
'200':
description: Paginated checkout intents response
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntentListResponse'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateError'
description: 'Retrieve a paginated list of checkout intents
Enables developers to query checkout intents associated with their account, with filters and cursor-based pagination.'
summary: List checkout intents
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:read
parameters:
- description: Maximum number of results to return (default 100)
in: query
name: limit
required: false
schema:
format: int32
type: integer
minimum: 1
maximum: 100
example: 20
- in: query
name: after
required: false
schema:
type: string
- in: query
name: before
required: false
schema:
type: string
- in: query
name: id
required: false
schema:
default: []
type: array
items:
type: string
- in: query
name: state
required: false
schema:
default: []
type: array
items:
$ref: '#/components/schemas/CheckoutIntentState'
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const checkoutIntent of client.checkoutIntents.list()) {\n console.log(checkoutIntent);\n}"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\npage = client.checkout_intents.list()\npage = page.data[0]\nprint(page)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.CheckoutIntentListPage;\nimport com.rye.models.checkoutintents.CheckoutIntentListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n CheckoutIntentListPage page = client.checkoutIntents().list();\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\""
post:
operationId: CreateCheckoutIntent
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntent'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/RuntimeError'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/AmazonUnavailableError'
description: Create a checkout intent with the given request body.
summary: Create checkout intent
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:write
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntentPostParams'
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst checkoutIntent = await client.checkoutIntents.create({\n buyer: {\n address1: '123 Main St',\n city: 'New York',\n country: 'US',\n email: 'john.doe@example.com',\n firstName: 'John',\n lastName: 'Doe',\n phone: '1234567890',\n postalCode: '10001',\n province: 'NY',\n },\n productUrl: 'https://www.amazon.com/dp/B0DFC9MT8Q',\n quantity: 1,\n});\n\nconsole.log(checkoutIntent);"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\ncheckout_intent = client.checkout_intents.create(\n buyer={\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"country\": \"US\",\n \"email\": \"john.doe@example.com\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"phone\": \"1234567890\",\n \"postal_code\": \"10001\",\n \"province\": \"NY\",\n },\n product_url=\"https://www.amazon.com/dp/B0DFC9MT8Q\",\n quantity=1,\n)\nprint(checkout_intent)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.Buyer;\nimport com.rye.models.checkoutintents.CheckoutIntent;\nimport com.rye.models.checkoutintents.CheckoutIntentCreateParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n CheckoutIntentCreateParams params = CheckoutIntentCreateParams.builder()\n .buyer(Buyer.builder()\n .address1(\"123 Main St\")\n .city(\"New York\")\n .country(\"US\")\n .email(\"john.doe@example.com\")\n .firstName(\"John\")\n .lastName(\"Doe\")\n .phone(\"1234567890\")\n .postalCode(\"10001\")\n .province(\"NY\")\n .build())\n .productUrl(\"https://www.amazon.com/dp/B0DFC9MT8Q\")\n .quantity(1)\n .build();\n CheckoutIntent checkoutIntent = client.checkoutIntents().create(params);\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\" \\\n -d '{\n \"buyer\": {\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"country\": \"US\",\n \"email\": \"john.doe@example.com\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phone\": \"1234567890\",\n \"postalCode\": \"10001\",\n \"province\": \"NY\"\n },\n \"productUrl\": \"https://www.amazon.com/dp/B0DFC9MT8Q\",\n \"quantity\": 1,\n \"referenceId\": \"order-1234\"\n }'"
/api/v1/checkout-intents/{id}:
get:
operationId: GetCheckoutIntent
responses:
'200':
description: Checkout intent information
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntent'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: 'Retrieve a checkout intent by id
Returns checkout intent information if the lookup succeeds.'
summary: Retrieve checkout intent
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:read
parameters:
- description: The id of the checkout intent to look up
in: path
name: id
required: true
schema:
type: string
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst checkoutIntent = await client.checkoutIntents.retrieve('id');\n\nconsole.log(checkoutIntent);"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\ncheckout_intent = client.checkout_intents.retrieve(\n \"id\",\n)\nprint(checkout_intent)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.CheckoutIntent;\nimport com.rye.models.checkoutintents.CheckoutIntentRetrieveParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n CheckoutIntent checkoutIntent = client.checkoutIntents().retrieve(\"id\");\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents/$ID \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\""
/api/v1/checkout-intents/{id}/order:
get:
operationId: GetCheckoutIntentOrder
responses:
'200':
description: The order
content:
application/json:
schema:
$ref: '#/components/schemas/OrderResponse'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
description: 'Retrieve the order associated with a checkout intent.
Returns the single order created when the checkout intent reached the
`completed` state. 404 if the intent has not produced an order yet.'
summary: Retrieve order
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:read
parameters:
- description: The id of the checkout intent to look up
in: path
name: id
required: true
schema:
type: string
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst order = await client.checkoutIntents.retrieveOrder('id');\n\nconsole.log(order.id);"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\norder = client.checkout_intents.retrieve_order(\n \"id\",\n)\nprint(order.id)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.CheckoutIntentRetrieveOrderParams;\nimport com.rye.models.orders.Order;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n Order order = client.checkoutIntents().retrieveOrder(\"id\");\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents/$ID/order \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\""
/api/v1/checkout-intents/{id}/confirm:
post:
operationId: ConfirmCheckoutIntent
responses:
'200':
description: The confirmed checkout intent
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntent'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'409':
description: Conflict
content:
application/json:
schema:
$ref: '#/components/schemas/InvalidCheckoutIntentStateError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/RuntimeError'
description: 'Confirm a checkout intent with provided payment information
Confirm means we have buyer''s name, address and payment info, so we can
move forward to place the order.'
summary: Confirm checkout intent
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:write
parameters:
- description: The id of the checkout intent to confirm
in: path
name: id
required: true
schema:
type: string
requestBody:
description: The request body containing the payment information
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntentConfirmParams'
description: ''
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst checkoutIntent = await client.checkoutIntents.confirm('id', {\n paymentMethod: { stripeToken: 'tok_1RkrWWHGDlstla3f1Fc7ZrhH', type: 'stripe_token' },\n});\n\nconsole.log(checkoutIntent);"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\ncheckout_intent = client.checkout_intents.confirm(\n id=\"id\",\n payment_method={\n \"stripe_token\": \"tok_1RkrWWHGDlstla3f1Fc7ZrhH\",\n \"type\": \"stripe_token\",\n },\n)\nprint(checkout_intent)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.CheckoutIntent;\nimport com.rye.models.checkoutintents.CheckoutIntentConfirmParams;\nimport com.rye.models.checkoutintents.PaymentMethod;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n CheckoutIntentConfirmParams params = CheckoutIntentConfirmParams.builder()\n .id(\"id\")\n .paymentMethod(PaymentMethod.StripeTokenPaymentMethod.builder()\n .stripeToken(\"tok_1RkrWWHGDlstla3f1Fc7ZrhH\")\n .type(PaymentMethod.StripeTokenPaymentMethod.Type.STRIPE_TOKEN)\n .build())\n .build();\n CheckoutIntent checkoutIntent = client.checkoutIntents().confirm(params);\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents/$ID/confirm \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\" \\\n -d '{\n \"paymentMethod\": {\n \"stripeToken\": \"tok_1RkrWWHGDlstla3f1Fc7ZrhH\",\n \"type\": \"stripe_token\"\n }\n }'"
/api/v1/checkout-intents/{id}/shipments:
get:
operationId: GetShipments
responses:
'200':
description: Shipments list response
content:
application/json:
schema:
$ref: '#/components/schemas/ShipmentsListResponse'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/NotFoundError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateError'
description: List shipments for a checkout intent
summary: List shipments for checkout intent
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:read
parameters:
- description: The id of the checkout intent
in: path
name: id
required: true
schema:
type: string
- description: Maximum number of results to return (default 100)
in: query
name: limit
required: false
schema:
format: int32
type: integer
minimum: 1
maximum: 100
example: 20
- in: query
name: after
required: false
schema:
type: string
- in: query
name: before
required: false
schema:
type: string
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\n// Automatically fetches more pages as needed.\nfor await (const shipment of client.checkoutIntents.shipments.list('id')) {\n console.log(shipment);\n}"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\npage = client.checkout_intents.shipments.list(\n id=\"id\",\n)\npage = page.data[0]\nprint(page)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.shipments.ShipmentListPage;\nimport com.rye.models.checkoutintents.shipments.ShipmentListParams;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n ShipmentListPage page = client.checkoutIntents().shipments().list(\"id\");\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents/$ID/shipments \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\""
/api/v1/checkout-intents/purchase:
post:
operationId: Purchase
responses:
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntent'
'401':
description: Authentication Failed
content:
application/json:
schema:
$ref: '#/components/schemas/AuthenticationError'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/ValidateError'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/RuntimeError'
'503':
description: Service Unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/AmazonUnavailableError'
description: 'Create a checkout intent and immediately trigger the purchase workflow.
This is a "fire-and-forget" endpoint that combines create + confirm in one step.
The workflow handles offer retrieval, payment authorization, and order placement
asynchronously. Poll the GET endpoint to check status.'
summary: Purchase product
tags:
- Checkout Intents
security:
- bearerAuth:
- checkout_intents:write
parameters: []
requestBody:
description: The request body containing the checkout intent purchase parameters
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckoutIntentPurchaseParams'
description: ''
x-codeSamples:
- lang: JavaScript
source: "import CheckoutIntents from 'checkout-intents';\n\nconst client = new CheckoutIntents({\n apiKey: process.env['CHECKOUT_INTENTS_API_KEY'], // This is the default and can be omitted\n});\n\nconst checkoutIntent = await client.checkoutIntents.purchase({\n buyer: {\n address1: '123 Main St',\n city: 'New York',\n country: 'US',\n email: 'john.doe@example.com',\n firstName: 'John',\n lastName: 'Doe',\n phone: '1234567890',\n postalCode: '10001',\n province: 'NY',\n },\n paymentMethod: { stripeToken: 'tok_1RkrWWHGDlstla3f1Fc7ZrhH', type: 'stripe_token' },\n productUrl: 'https://www.amazon.com/dp/B0DFC9MT8Q',\n quantity: 1,\n});\n\nconsole.log(checkoutIntent);"
- lang: Python
source: "import os\nfrom checkout_intents import CheckoutIntents\n\nclient = CheckoutIntents(\n api_key=os.environ.get(\"CHECKOUT_INTENTS_API_KEY\"), # This is the default and can be omitted\n)\ncheckout_intent = client.checkout_intents.purchase(\n buyer={\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"country\": \"US\",\n \"email\": \"john.doe@example.com\",\n \"first_name\": \"John\",\n \"last_name\": \"Doe\",\n \"phone\": \"1234567890\",\n \"postal_code\": \"10001\",\n \"province\": \"NY\",\n },\n payment_method={\n \"stripe_token\": \"tok_1RkrWWHGDlstla3f1Fc7ZrhH\",\n \"type\": \"stripe_token\",\n },\n product_url=\"https://www.amazon.com/dp/B0DFC9MT8Q\",\n quantity=1,\n)\nprint(checkout_intent)"
- lang: Java
source: "package com.rye.example;\n\nimport com.rye.client.CheckoutIntentsClient;\nimport com.rye.client.okhttp.CheckoutIntentsOkHttpClient;\nimport com.rye.models.checkoutintents.Buyer;\nimport com.rye.models.checkoutintents.CheckoutIntent;\nimport com.rye.models.checkoutintents.CheckoutIntentPurchaseParams;\nimport com.rye.models.checkoutintents.PaymentMethod;\n\npublic final class Main {\n private Main() {}\n\n public static void main(String[] args) {\n CheckoutIntentsClient client = CheckoutIntentsOkHttpClient.fromEnv();\n\n CheckoutIntentPurchaseParams params = CheckoutIntentPurchaseParams.builder()\n .buyer(Buyer.builder()\n .address1(\"123 Main St\")\n .city(\"New York\")\n .country(\"US\")\n .email(\"john.doe@example.com\")\n .firstName(\"John\")\n .lastName(\"Doe\")\n .phone(\"1234567890\")\n .postalCode(\"10001\")\n .province(\"NY\")\n .build())\n .paymentMethod(PaymentMethod.StripeTokenPaymentMethod.builder()\n .stripeToken(\"tok_1RkrWWHGDlstla3f1Fc7ZrhH\")\n .type(PaymentMethod.StripeTokenPaymentMethod.Type.STRIPE_TOKEN)\n .build())\n .productUrl(\"https://www.amazon.com/dp/B0DFC9MT8Q\")\n .quantity(1)\n .build();\n CheckoutIntent checkoutIntent = client.checkoutIntents().purchase(params);\n }\n}"
- lang: cURL
source: "curl https://staging.api.rye.com/api/v1/checkout-intents/purchase \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: Bearer $CHECKOUT_INTENTS_API_KEY\" \\\n -d '{\n \"buyer\": {\n \"address1\": \"123 Main St\",\n \"city\": \"New York\",\n \"country\": \"US\",\n \"email\": \"john.doe@example.com\",\n \"firstName\": \"John\",\n \"lastName\": \"Doe\",\n \"phone\": \"1234567890\",\n \"postalCode\": \"10001\",\n \"province\": \"NY\"\n },\n \"paymentMethod\": {\n \"stripeToken\": \"tok_1RkrWWHGDlstla3f1Fc7ZrhH\",\n \"type\": \"stripe_token\"\n },\n \"productUrl\": \"https://www.amazon.com/dp/B0DFC9MT8Q\",\n \"quantity\": 1,\n \"referenceId\": \"order-1234\"\n }'"
components:
schemas:
AuthenticationError:
properties:
name:
type: string
message:
type: string
stack:
type: string
required:
- name
- message
type: object
additionalProperties: false
PaymentMethod:
anyOf:
- $ref: '#/components/schemas/StripeTokenPaymentMethod'
- $ref: '#/components/schemas/BasisTheoryPaymentMethod'
- $ref: '#/components/schemas/DrawdownPaymentMethod'
- $ref: '#/components/schemas/X402PaymentMethod'
AmazonUnavailableError:
properties:
name:
type: string
message:
type: string
stack:
type: string
required:
- name
- message
type: object
additionalProperties: false
ShippedShipment:
$ref: '#/components/schemas/WithStatus_BaseShipmentWithTracking.shipped_'
title: Shipped
CheckoutConstraints:
properties:
offerRetrievalEffort:
$ref: '#/components/schemas/OfferRetrievalEffort'
example: max
maxShippingPrice:
type: integer
format: int32
example: 500
minimum: 0
maxTotalPrice:
type: integer
format: int32
example: 100000
minimum: 0
type: object
CompletedCheckoutIntent:
allOf:
- $ref: '#/components/schemas/BaseCheckoutIntent'
- properties:
estimatedDeliveryDate:
type: string
format: date-time
nullable: true
deprecated: true
orderId:
type: string
nullable: true
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
offer:
$ref: '#/components/schemas/Offer'
state:
type: string
enum:
- completed
nullable: false
required:
- orderId
- paymentMethod
- offer
- state
type: object
title: Completed
ShipmentUnion:
anyOf:
- $ref: '#/components/schemas/ShipmentWithTrackingUnion'
- $ref: '#/components/schemas/ShipmentWithoutTrackingUnion'
WithStatus_BaseShipmentWithTracking.delayed_:
allOf:
- $ref: '#/components/schemas/BaseShipmentWithTracking'
- properties:
status:
type: string
enum:
- delayed
nullable: false
required:
- status
type: object
X402NextAction:
properties:
x402:
properties:
expiresAt:
type: string
recipient:
type: string
currency:
type: string
enum:
- USDC
nullable: false
maxAmountRequired:
type: string
network:
type: string
scheme:
type: string
enum:
- exact
nullable: false
required:
- expiresAt
- recipient
- currency
- maxAmountRequired
- network
- scheme
type: object
type:
type: string
enum:
- x402
nullable: false
required:
- x402
- type
type: object
FailedCheckoutIntent:
allOf:
- $ref: '#/components/schemas/BaseCheckoutIntent'
- properties:
failureReason:
$ref: '#/components/schemas/FailureReason'
paymentMethod:
$ref: '#/components/schemas/PaymentMethod'
offer:
$ref: '#/components/schemas/Offer'
state:
type: string
enum:
- failed
nullable: false
required:
- failureReason
- state
type: object
title: Failed
Shipping:
properties:
availableOptions:
items:
$ref: '#/components/schemas/ShippingOption'
type: array
selectedOptionId:
type: string
required:
- availableOptions
type: object
CancellationReason:
properties:
message:
type: string
description: 'Optional free-text note explaining the cancellation, forwarded to the
merchant when possible.'
maxLength: 256
code:
$ref: '#/components/schemas/CancellationReasonCode'
required:
- code
type: object
OrderedShipment:
$ref: '#/components/schemas/WithStatus_BaseShipment.ordered_'
title: Ordered
FieldErrors:
properties: {}
type: object
additionalProperties:
properties:
value: {}
message:
type: string
required:
- message
type: object
Offer:
properties:
commission:
$ref: '#/components/schemas/CommissionPotential'
shipping:
$ref: '#/components/schemas/Shipping'
cost:
$ref: '#/components/schemas/Cost'
appliedPromoCodes:
items:
type: string
type: array
required:
- shipping
- cost
type: object
DeniedCancellation:
allOf:
- $ref: '#/components/schemas/BaseCancellation'
- properties:
denialReason:
$ref: '#/components/schemas/CancellationDenialReason'
state:
type: string
enum:
- denied
nulla
# --- truncated at 32 KB (54 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/rye/refs/heads/main/openapi/rye-checkout-intents-api-openapi.yml