--- title: Checkout description: Create and update checkouts to provide a custom checkout experience for your sales channel. api_version: 2025-10 api_name: admin-rest api_type: rest source_url: html: https://shopify.dev/docs/api/admin-rest/latest/resources/checkout md: https://shopify.dev/docs/api/admin-rest/latest/resources/checkout.md --- ![](https://shopify.dev/images/logos/GraphQL.svg)![](https://shopify.dev/images/logos/GraphQL-dark.svg) The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate). # Checkout Multiple access scopes needed — refer to each endpoint for access scope requirements. Requires access to [protected customer data](https://shopify.dev/apps/store/data-protection/protected-customer-data). Important The REST Checkout API is deprecated as of version 2024-07. Please see the [developer changelog](https://shopify.dev/changelog/deprecation-of-checkout-apis) for more information. If you're building an app with the [Sales Channel SDK](https://shopify.dev/docs/apps/channels), then you can use the Checkout API to let customers purchase products from Shopify stores that have installed your sales channel. Shopify uses the Checkout resource to manage a user's cart as it transitions to a paid order. This process includes specifying which line items are included in the checkout, attaching a customer's shipping and payment details, and calculating tax and shipping rates. Credit card payments can be attached to a Checkout using the [Payment](https://shopify.dev/docs/api/admin-rest/current/resources/payment) resource. #### Note You can't use the Checkout API to create a new checkout user experience for an individual store. For that you need to use an SDK that's powered by the [Storefront API](https://shopify.dev/docs/api/storefront) instead, such as the [JavaScript Buy](https://shopify.dev/docs/custom-storefronts/additional-sdks/js-buy), [iOS Buy](https://shopify.dev/docs/custom-storefronts/mobile-kit/buy-sdk-ios), and [Android Buy](https://shopify.dev/docs/custom-storefronts/mobile-kit/buy-sdk-android) SDKs. \# ## Endpoints * [post](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#post-checkouts) [/admin/api/latest/checkouts.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#post-checkouts) Creates a checkout deprecated * [post](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#post-checkouts-token-complete) [/admin/api/latest/checkouts/{token}/complete.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#post-checkouts-token-complete) Completes a checkout deprecated * [get](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#get-checkouts-token) [/admin/api/latest/checkouts/{token}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#get-checkouts-token) Retrieves a checkout deprecated * [get](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#get-checkouts-token-shipping-rates) [/admin/api/latest/checkouts/{token}/shipping\_​rates.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#get-checkouts-token-shipping-rates) Retrieves a list of shipping rates deprecated * [put](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#put-checkouts-token) [/admin/api/latest/checkouts/{token}.​json](https://shopify.dev/docs/api/admin-rest/latest/resources/checkout#put-checkouts-token) Modifies an existing checkout deprecated *** ## The Checkout resource ### Properties *** applied\_discount deprecated A cart-level discount applied to the checkout. Apply a discount by specifying values for `amount`, `title`, `description`, `value`, and `value_type`. Show applied\_discount properties * **amount**: The amount that is deducted from `payment_due` in presentment currency. * **title**: The title to categorize the applied discount. * **description**: The description of the applied discount. * **value**: The value that was used to calculate the final applied discount amount. * **value\_type**: The type of value that was used to calculate the final applied discount amount. Valid values: `fixed_amount` and `percentage`. * **non\_applicable\_reason**: The reason why the discount is not applicable, if the discount cannot be applied to the checkout. * **applicable**: Whether this discount code can be applied to the checkout. * **application\_type**: Describes how the discount was applied to the checkout. Possible values: * **automatic**: The discount [was applied automatically](https://shopify.dev/api/examples/discounts#creating-automatic-discounts). * **discount\_code**: The merchant or customer entered a [discount code](https://shopify.dev/api/examples/discounts#creating-code-discounts). * **manual**: The discount was applied manually by the merchant or an app. * **script**: The discount was applied by a [Shopify Script](https://help.shopify.com/en/manual/checkout-settings/script-editor). *** billing\_address deprecated The mailing address associated with the payment method. It has the following properties: Show billing\_address properties * **address1**: The street address of the billing address. * **address2**: An optional additional field for the street address of the billing address. * **city**: The city, town, or village of the billing address. * **company**: The company of the person associated with the billing address. * **country**: The name of the country of the billing address. * **country\_code**: The two-letter code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format) for the country of the billing address. * **first\_name**: The first name of the person associated with the payment method. * **last\_name**: The last name of the person associated with the payment method. * **phone**: The phone number at the billing address. * **province**: The name of the region (province, state, prefecture, …) of the billing address. * **province\_code**: The alphanumeric abbreviation of the region of the billing address. * **zip**: The postal code (zip, postcode, Eircode, …) of the billing address. *** buyer\_accepts\_marketing deprecated Whether the customer has consented to receive marketing material via email. *** created\_at read-only deprecated The date and time ([ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601)) when the checkout was created. *** currency read-only deprecated The three-letter code ([ISO 4217](https://en.wikipedia.org/wiki/ISO_4217) format) of the shop's default currency at the time of checkout. For the currency that the customer used at checkout, see `presentment_currency`. *** customer\_id deprecated The ID of the customer associated with this checkout. *** discount\_code deprecated The discount code that is applied to the checkout. This populates `applied_discount` with the appropriate metadata for that discount code. To remove a discount code, send an empty string or `null`. *** email deprecated The customer's email address. A checkout needs to have a value for `email` or `phone` before it can be completed. *** gift\_cards deprecated A list of gift card objects, each containing information about a gift card applied to this checkout. Gift cards can be applied to a checkout by passing `{ "checkout": { "gift_cards": [{ "code": "a gift card code" }, { "code": "another gift card code" }] } }`. Each gift card object has the following properties: Show gift\_cards properties * **amount\_used**: The amount of the gift card used by this checkout in presentment currency. * **code**: The gift card code. * **balance**: The amount left on the gift card after being applied to this checkout in presentment currency. * **id**: The ID for the applied gift card. * **last\_characters**: The last four characters of the applied gift card for display back to the user. Updating the gift card list overwrites any previous list already defined in the checkout. To remove a gift card from the list of applied gift cards, re-apply the `gift_cards` array without that gift card. *** line\_items deprecated A list of line item objects, each containing information about an item in the checkout. Each line item object has the following properties: Show line\_items properties * **applied\_discounts**: A list of the discounts applied to the line item. * **compare\_at\_price**: The original selling price of the product, if applicable. * **discount\_allocations**: A list all discounts on the checkout that target this line item, including both "across" and "each" applications. A superset of `applied_discounts`. * **fulfillment\_service**: If the variant is a gift card, allows to override the fulfillment service so the gift card can be activated with a custom code. Valid values: `manual`. * **grams**: The weight of the item in grams. * **id**: The checkout-specific ID of the line item. * **line\_price**: The line price of the item, based on `price` multiplied by `quantity`. * **price**: The price of the item in presentment currency. * **product\_id**: The product of the line item. * **properties**: The [customization information](https://shopify.dev/api/liquid/objects/line_item#line_item-properties) for a line item (optional). * **quantity**: The number of products that were purchased. * **requires\_shipping**: Whether the fulfillment requires shipping. * **sku**: The unique identifier of the item in the fulfillment. * **taxable**: Whether this product is taxable. * **title**: The title of the product. * **variant\_id**: The variant ID of the line item. * **variant\_title**: The title of the product variant. * **vendor**: The name of the item's supplier. *** order read-only deprecated An object containing the ID, name, and status page URL of the associated order when the checkout is complete. Default value: `null`. *** payment\_due read-only deprecated The amount left to be paid in presentment currency. This is equal to the sum of the checkout line prices, taxes, and shipping minus discounts and gift cards. *** {} ## The Checkout resource ```json { "applied_discount": { "amount": "30.00", "title": "XYZ Promotion", "description": "Promotional item for blackfriday.", "value": "30.00", "value_type": "fixed_amount", "non_applicable_reason": null, "applicable": true, "application_type": "discount_code" }, "billing_address": { "address1": "Chestnut Street 92", "address2": "Suite 300", "city": "Louisville", "company": null, "country": "US", "first_name": null, "id": 207119551, "last_name": null, "phone": "555-625-1199", "province": "KY", "zip": "40202", "province_code": null, "country_code": null }, "buyer_accepts_marketing": false, "created_at": { "created_at": "2008-01-10T11:00:00-05:00" }, "currency": { "currency": "USD" }, "customer_id": { "customer_id": 1234 }, ``` *** ## postCreates a checkoutdeprecated Requires `checkouts` access scope. Creates a checkout ### Parameters *** api\_version string required *** ### Examples Create a checkout with a product variant and quantity Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.line\_​items:​\[{"variant\_id":39072856,​"quantity":5}] deprecated A list of line item objects, each containing information about an item in the checkout. Each line item object has the following properties: Show line\_items properties * **applied\_discounts**: A list of the discounts applied to the line item. * **compare\_at\_price**: The original selling price of the product, if applicable. * **discount\_allocations**: A list all discounts on the checkout that target this line item, including both "across" and "each" applications. A superset of `applied_discounts`. * **fulfillment\_service**: If the variant is a gift card, allows to override the fulfillment service so the gift card can be activated with a custom code. Valid values: `manual`. * **grams**: The weight of the item in grams. * **id**: The checkout-specific ID of the line item. * **line\_price**: The line price of the item, based on `price` multiplied by `quantity`. * **price**: The price of the item in presentment currency. * **product\_id**: The product of the line item. * **properties**: The [customization information](https://shopify.dev/api/liquid/objects/line_item#line_item-properties) for a line item (optional). * **quantity**: The number of products that were purchased. * **requires\_shipping**: Whether the fulfillment requires shipping. * **sku**: The unique identifier of the item in the fulfillment. * **taxable**: Whether this product is taxable. * **title**: The title of the product. * **variant\_id**: The variant ID of the line item. * **variant\_title**: The title of the product variant. * **vendor**: The name of the item's supplier. Create a checkout without any line items Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.email:​"me\@example.com" deprecated The customer's email address. A checkout needs to have a value for `email` or `phone` before it can be completed. Creating a checkout with errors, such as using the ID of a variant that doesn't exist or that isn't published to your sales channel, fails with a 422 response and returns errors Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.line\_​items:​\[{"variant\_id":123456789,​"quantity":1}] deprecated A list of line item objects, each containing information about an item in the checkout. Each line item object has the following properties: Show line\_items properties * **applied\_discounts**: A list of the discounts applied to the line item. * **compare\_at\_price**: The original selling price of the product, if applicable. * **discount\_allocations**: A list all discounts on the checkout that target this line item, including both "across" and "each" applications. A superset of `applied_discounts`. * **fulfillment\_service**: If the variant is a gift card, allows to override the fulfillment service so the gift card can be activated with a custom code. Valid values: `manual`. * **grams**: The weight of the item in grams. * **id**: The checkout-specific ID of the line item. * **line\_price**: The line price of the item, based on `price` multiplied by `quantity`. * **price**: The price of the item in presentment currency. * **product\_id**: The product of the line item. * **properties**: The [customization information](https://shopify.dev/api/liquid/objects/line_item#line_item-properties) for a line item (optional). * **quantity**: The number of products that were purchased. * **requires\_shipping**: Whether the fulfillment requires shipping. * **sku**: The unique identifier of the item in the fulfillment. * **taxable**: Whether this product is taxable. * **title**: The title of the product. * **variant\_id**: The variant ID of the line item. * **variant\_title**: The title of the product variant. * **vendor**: The name of the item's supplier. Creating a checkout with line item errors fails and returns the errors mapped by index Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.line\_​items:​\[{"variant\_id":39072856,​"quantity":1},​{"variant\_id":1,​"quantity":1},​{"variant\_id":1,​"quantity":1},​{"variant\_id":49148385,​"quantity":1},​{"variant\_id":1,​"quantity":1}] deprecated A list of line item objects, each containing information about an item in the checkout. Each line item object has the following properties: Show line\_items properties * **applied\_discounts**: A list of the discounts applied to the line item. * **compare\_at\_price**: The original selling price of the product, if applicable. * **discount\_allocations**: A list all discounts on the checkout that target this line item, including both "across" and "each" applications. A superset of `applied_discounts`. * **fulfillment\_service**: If the variant is a gift card, allows to override the fulfillment service so the gift card can be activated with a custom code. Valid values: `manual`. * **grams**: The weight of the item in grams. * **id**: The checkout-specific ID of the line item. * **line\_price**: The line price of the item, based on `price` multiplied by `quantity`. * **price**: The price of the item in presentment currency. * **product\_id**: The product of the line item. * **properties**: The [customization information](https://shopify.dev/api/liquid/objects/line_item#line_item-properties) for a line item (optional). * **quantity**: The number of products that were purchased. * **requires\_shipping**: Whether the fulfillment requires shipping. * **sku**: The unique identifier of the item in the fulfillment. * **taxable**: Whether this product is taxable. * **title**: The title of the product. * **variant\_id**: The variant ID of the line item. * **variant\_title**: The title of the product variant. * **vendor**: The name of the item's supplier. post ## /admin/api/2025-10/checkouts.​json ```bash curl -d '{"checkout":{"line_items":[{"variant_id":39072856,"quantity":5}]}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` {} ## Response JSON ```json HTTP/1.1 202 Accepted { "checkout": { "completed_at": null, "created_at": "2025-10-01T14:57:04-04:00", "currency": "USD", "presentment_currency": "USD", "customer_id": null, "customer_locale": "en", "device_id": null, "discount_code": null, "discount_codes": [], "email": null, "legal_notice_url": null, "location_id": null, "name": "#1068673451", "note": "", "note_attributes": {}, "order_id": null, "order_status_url": null, "order": null, "payment_due": "995.00", "payment_url": "https://app.local/cardserver/sessions", "payments": [], "phone": null, "shopify_payments_account_id": null, "privacy_policy_url": null, "refund_policy_url": null, "requires_shipping": true, "reservation_time_left": 0, "reservation_time": null, "source_identifier": null, "source_name": "755357713", "source_url": null, "subscription_policy_url": null, "subtotal_price": "995.00", "shipping_policy_url": null, "tax_exempt": false, "taxes_included": false, "terms_of_sale_url": null, "terms_of_service_url": null, "token": "063a10e7764351de3dd17bb040a4eb52", "total_price": "995.00", "total_tax": "0.00", "total_tip_received": "0.00", "total_line_items_price": "995.00", "updated_at": "2025-10-01T14:57:04-04:00", "user_id": null, "web_url": "https://jsmith.myshopify.com/548380009/checkouts/063a10e7764351de3dd17bb040a4eb52", "line_items": [ { "id": "2b58e521ad047100e4039d279d10226a", "key": "2b58e521ad047100e4039d279d10226a", "product_id": 632910392, "variant_id": 39072856, "sku": "IPOD2008GREEN", "vendor": "Apple", "title": "IPod Nano - 8GB", "variant_title": "Green", "image_url": "https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456", "taxable": true, "requires_shipping": true, "gift_card": false, "price": "199.00", "compare_at_price": null, "line_price": "995.00", "properties": {}, "quantity": 5, "grams": 567, "fulfillment_service": "manual", "applied_discounts": [], "discount_allocations": [], "tax_lines": [] } ], "gift_cards": [], "tax_lines": [], "tax_manipulations": [], "shipping_line": null, "shipping_rate": null, "shipping_address": null, "credit_card": null, "billing_address": null, "applied_discount": null, "applied_discounts": [], "discount_violations": [] } } ``` ### examples * #### Create a checkout with a product variant and quantity ##### ```curl curl -d '{"checkout":{"line_items":[{"variant_id":39072856,"quantity":5}]}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.line_items = [ { "variant_id": 39072856, "quantity": 5 } ]; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.line_items = [ { "variant_id" => 39072856, "quantity" => 5 } ] checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.line_items = [ { "variant_id": 39072856, "quantity": 5 } ]; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2025-10-01T14:57:04-04:00","currency":"USD","presentment_currency":"USD","customer_id":null,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":null,"legal_notice_url":null,"location_id":null,"name":"#1068673451","note":"","note_attributes":{},"order_id":null,"order_status_url":null,"order":null,"payment_due":"995.00","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"755357713","source_url":null,"subscription_policy_url":null,"subtotal_price":"995.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"063a10e7764351de3dd17bb040a4eb52","total_price":"995.00","total_tax":"0.00","total_tip_received":"0.00","total_line_items_price":"995.00","updated_at":"2025-10-01T14:57:04-04:00","user_id":null,"web_url":"https://jsmith.myshopify.com/548380009/checkouts/063a10e7764351de3dd17bb040a4eb52","line_items":[{"id":"2b58e521ad047100e4039d279d10226a","key":"2b58e521ad047100e4039d279d10226a","product_id":632910392,"variant_id":39072856,"sku":"IPOD2008GREEN","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Green","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"995.00","properties":{},"quantity":5,"grams":567,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[]}],"gift_cards":[],"tax_lines":[],"tax_manipulations":[],"shipping_line":null,"shipping_rate":null,"shipping_address":null,"credit_card":null,"billing_address":null,"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Create a checkout without any line items ##### ```curl curl -d '{"checkout":{"email":"me@example.com"}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.email = "me@example.com"; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.email = "me@example.com" checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.email = "me@example.com"; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2025-10-01T14:57:15-04:00","currency":"USD","presentment_currency":"USD","customer_id":1073339459,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"me@example.com","legal_notice_url":null,"location_id":null,"name":"#1068673452","note":"","note_attributes":{},"order_id":null,"order_status_url":null,"order":null,"payment_due":"0.00","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":false,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"755357713","source_url":null,"subscription_policy_url":null,"subtotal_price":"0.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"2723080e472c1e9c8ec12291a11e0d76","total_price":"0.00","total_tax":"0.00","total_tip_received":"0.00","total_line_items_price":"0.00","updated_at":"2025-10-01T14:57:15-04:00","user_id":null,"web_url":"https://jsmith.myshopify.com/548380009/checkouts/2723080e472c1e9c8ec12291a11e0d76","line_items":[],"gift_cards":[],"tax_lines":[],"tax_manipulations":[],"shipping_line":null,"shipping_rate":null,"shipping_address":null,"credit_card":null,"billing_address":null,"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Creating a checkout with errors, such as using the ID of a variant that doesn't exist or that isn't published to your sales channel, fails with a 422 response and returns errors ##### ```curl curl -d '{"checkout":{"line_items":[{"variant_id":123456789,"quantity":1}]}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.line_items = [ { "variant_id": 123456789, "quantity": 1 } ]; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.line_items = [ { "variant_id" => 123456789, "quantity" => 1 } ] checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.line_items = [ { "variant_id": 123456789, "quantity": 1 } ]; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 422 Unprocessable Entity{"errors":{"line_items":{"0":{"variant_id":[{"code":"product_not_available","message":"product is not published for this customer.","options":{}}]}}}} ``` * #### Creating a checkout with line item errors fails and returns the errors mapped by index ##### ```curl curl -d '{"checkout":{"line_items":[{"variant_id":39072856,"quantity":1},{"variant_id":1,"quantity":1},{"variant_id":1,"quantity":1},{"variant_id":49148385,"quantity":1},{"variant_id":1,"quantity":1}]}}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.line_items = [ { "variant_id": 39072856, "quantity": 1 }, { "variant_id": 1, "quantity": 1 }, { "variant_id": 1, "quantity": 1 }, { "variant_id": 49148385, "quantity": 1 }, { "variant_id": 1, "quantity": 1 } ]; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.line_items = [ { "variant_id" => 39072856, "quantity" => 1 }, { "variant_id" => 1, "quantity" => 1 }, { "variant_id" => 1, "quantity" => 1 }, { "variant_id" => 49148385, "quantity" => 1 }, { "variant_id" => 1, "quantity" => 1 } ] checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.line_items = [ { "variant_id": 39072856, "quantity": 1 }, { "variant_id": 1, "quantity": 1 }, { "variant_id": 1, "quantity": 1 }, { "variant_id": 49148385, "quantity": 1 }, { "variant_id": 1, "quantity": 1 } ]; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 422 Unprocessable Entity{"errors":{"line_items":{"1":{"variant_id":[{"code":"product_not_available","message":"product is not published for this customer.","options":{}}]},"2":{"variant_id":[{"code":"product_not_available","message":"product is not published for this customer.","options":{}}]},"4":{"variant_id":[{"code":"product_not_available","message":"product is not published for this customer.","options":{}}]}}}} ``` *** ## postCompletes a checkoutdeprecated Requires `checkouts` access scope. Completes a checkout ### Parameters *** api\_version string required *** token string required *** ### Examples Complete a checkout without requiring payment Path parameters token=​b490a9220cd14d7344024f4874f640a6 string required post ## /admin/api/2025-10/checkouts/b490a9220cd14d7344024f4874f640a6/complete.​json ```bash curl -d '{}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/b490a9220cd14d7344024f4874f640a6/complete.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` {} ## Response JSON ```json HTTP/1.1 202 Accepted { "checkout": { "completed_at": null, "created_at": "2012-10-12T07:05:27-04:00", "currency": "USD", "presentment_currency": "USD", "customer_id": 207119551, "customer_locale": "en", "device_id": null, "discount_code": null, "discount_codes": [], "email": "bob.norman@mail.example.com", "legal_notice_url": null, "location_id": null, "name": "#86568385", "note": "", "note_attributes": { "custom engraving": "Happy Birthday", "colour": "green" }, "order_id": null, "order_status_url": null, "order": null, "payment_due": "0.00", "payment_url": "https://app.local/cardserver/sessions", "payments": [], "phone": null, "shopify_payments_account_id": null, "privacy_policy_url": null, "refund_policy_url": null, "requires_shipping": false, "reservation_time_left": 0, "reservation_time": null, "source_identifier": null, "source_name": "web", "source_url": null, "subscription_policy_url": null, "subtotal_price": "0.00", "shipping_policy_url": null, "tax_exempt": false, "taxes_included": false, "terms_of_sale_url": null, "terms_of_service_url": null, "token": "b490a9220cd14d7344024f4874f640a6", "total_price": "0.00", "total_tax": "0.00", "total_tip_received": "0.00", "total_line_items_price": "0.00", "updated_at": "2025-10-01T14:57:00-04:00", "user_id": null, "web_url": "https://checkout.local/548380009/checkouts/b490a9220cd14d7344024f4874f640a6", "line_items": [ { "id": "49148385", "key": "49148385", "product_id": 632910392, "variant_id": 49148385, "sku": "IPOD2008RED", "vendor": "Apple", "title": "IPod Nano - 8GB", "variant_title": "Red", "image_url": "https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456", "taxable": true, "requires_shipping": false, "gift_card": false, "price": "0.00", "compare_at_price": null, "line_price": "0.00", "properties": {}, "quantity": 1, "grams": 200, "fulfillment_service": "manual", "applied_discounts": [], "discount_allocations": [], "tax_lines": [ { "price": "0.00", "rate": 0.06, "title": "Tax", "channel_liable": false } ] } ], "gift_cards": [], "tax_lines": [ { "price": "0.00", "rate": 0.06, "title": "Tax", "compare_at": 0.06 } ], "tax_manipulations": [], "shipping_line": null, "shipping_rate": null, "shipping_address": { "id": 921093900, "first_name": "Bob", "last_name": "Norman", "phone": "+1(502)-459-2181", "company": null, "address1": "Chestnut Street 92", "address2": "", "city": "Louisville", "province": "Kentucky", "province_code": "KY", "country": "United States", "country_code": "US", "zip": "40202" }, "credit_card": null, "billing_address": { "id": 921093900, "first_name": "Bob", "last_name": "Norman", "phone": "+1(502)-459-2181", "company": null, "address1": "Chestnut Street 92", "address2": "", "city": "Louisville", "province": "Kentucky", "province_code": "KY", "country": "United States", "country_code": "US", "zip": "40202" }, "applied_discount": null, "applied_discounts": [], "discount_violations": [] } } ``` ### examples * #### Complete a checkout without requiring payment ##### ```curl curl -d '{}' \ -X POST "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/b490a9220cd14d7344024f4874f640a6/complete.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.token = "b490a9220cd14d7344024f4874f640a6"; await checkout.complete({}); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.token = "b490a9220cd14d7344024f4874f640a6" checkout.complete( session: test_session, ) ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.token = "b490a9220cd14d7344024f4874f640a6"; await checkout.complete({}); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":207119551,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"bob.norman@mail.example.com","legal_notice_url":null,"location_id":null,"name":"#86568385","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":null,"order_status_url":null,"order":null,"payment_due":"0.00","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":false,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"0.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"b490a9220cd14d7344024f4874f640a6","total_price":"0.00","total_tax":"0.00","total_tip_received":"0.00","total_line_items_price":"0.00","updated_at":"2025-10-01T14:57:00-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/b490a9220cd14d7344024f4874f640a6","line_items":[{"id":"49148385","key":"49148385","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":false,"gift_card":false,"price":"0.00","compare_at_price":null,"line_price":"0.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"0.00","rate":0.06,"title":"Tax","channel_liable":false}]}],"gift_cards":[],"tax_lines":[{"price":"0.00","rate":0.06,"title":"Tax","compare_at":0.06}],"tax_manipulations":[],"shipping_line":null,"shipping_rate":null,"shipping_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"credit_card":null,"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` *** ## getRetrieves a checkoutdeprecated Requires `checkouts` access scope. Retrieves a checkout ### Parameters *** api\_version string required *** token string required *** ### Examples Retrieve a completed checkout Path parameters token=​bd5a8aa1ecd019dd3520ff791ee3a24c string required Retrieve a processing checkout Path parameters token=​7yjf4v2we7gamku6a6h7tvm8h3mmvs4x string required Retrieve an existing checkout Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required get ## /admin/api/2025-10/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c.​json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "checkout": { "completed_at": "2005-07-31T11:57:11-04:00", "created_at": "2012-10-12T07:05:27-04:00", "currency": "USD", "presentment_currency": "USD", "customer_id": 207119551, "customer_locale": "en", "device_id": null, "discount_code": null, "discount_codes": [], "email": "bob.norman@mail.example.com", "legal_notice_url": null, "location_id": null, "name": "#901414060", "note": "", "note_attributes": { "custom engraving": "Happy Birthday", "colour": "green" }, "order_id": 450789469, "order_status_url": "https://checkout.local/548380009/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c/thank_you", "order": { "id": 450789469, "name": "#1001", "status_url": "https://checkout.local/548380009/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c/thank_you" }, "payment_due": "421.88", "payment_url": "https://app.local/cardserver/sessions", "payments": [], "phone": null, "shopify_payments_account_id": null, "privacy_policy_url": null, "refund_policy_url": null, "requires_shipping": true, ``` ### examples * #### Retrieve a completed checkout ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.find({ session: session, token: "bd5a8aa1ecd019dd3520ff791ee3a24c", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.find( session: test_session, token: "bd5a8aa1ecd019dd3520ff791ee3a24c", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.find({ session: session, token: "bd5a8aa1ecd019dd3520ff791ee3a24c", }); ``` #### response ```json HTTP/1.1 200 OK{"checkout":{"completed_at":"2005-07-31T11:57:11-04:00","created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":207119551,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"bob.norman@mail.example.com","legal_notice_url":null,"location_id":null,"name":"#901414060","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":450789469,"order_status_url":"https://checkout.local/548380009/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c/thank_you","order":{"id":450789469,"name":"#1001","status_url":"https://checkout.local/548380009/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c/thank_you"},"payment_due":"421.88","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"398.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"bd5a8aa1ecd019dd3520ff791ee3a24c","total_price":"421.88","total_tax":"23.88","total_tip_received":"0.00","total_line_items_price":"398.00","updated_at":"2012-10-12T07:05:27-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/bd5a8aa1ecd019dd3520ff791ee3a24c","line_items":[{"id":"60715a3461f5f853","key":"60715a3461f5f853","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"11.94","rate":0.06,"title":"Tax","channel_liable":false}]},{"id":"0703986f986628ba","key":"0703986f986628ba","product_id":632910392,"variant_id":808950810,"sku":"IPOD2008PINK","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Pink","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano-2.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"11.94","rate":0.06,"title":"Tax","channel_liable":false}]}],"gift_cards":[],"tax_lines":[{"price":"23.88","rate":0.06,"title":"Tax","compare_at":0.06}],"tax_manipulations":[],"shipping_line":{"handle":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping","tax_lines":[]},"shipping_rate":{"id":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping"},"shipping_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"credit_card":null,"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Retrieve a processing checkout ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/7yjf4v2we7gamku6a6h7tvm8h3mmvs4x.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.find({ session: session, token: "7yjf4v2we7gamku6a6h7tvm8h3mmvs4x", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.find( session: test_session, token: "7yjf4v2we7gamku6a6h7tvm8h3mmvs4x", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.find({ session: session, token: "7yjf4v2we7gamku6a6h7tvm8h3mmvs4x", }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":207119551,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"bob.norman@mail.example.com","legal_notice_url":null,"location_id":null,"name":"#446514532","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":null,"order_status_url":null,"order":null,"payment_due":"419.49","payment_url":"https://app.local/cardserver/sessions","payments":[{"id":25428999,"unique_token":"e01e661f4a99acd9dcdg6f1422d0d6f7","payment_processing_error_message":null,"fraudulent":false,"transaction":{"amount":"598.94","amount_in":null,"amount_out":null,"amount_rounding":null,"authorization":"authorization-key","created_at":"2005-08-01T11:57:11-04:00","currency":"USD","error_code":null,"parent_id":null,"gateway":"bogus","id":389404469,"kind":"authorization","message":null,"status":"success","test":false,"receipt":{"testcase":true,"authorization":"123456"},"location_id":null,"user_id":null,"transaction_group_id":null,"device_id":null,"payment_details":{"credit_card_bin":null,"avs_result_code":null,"cvv_result_code":null,"credit_card_number":"•••• •••• •••• 4242","credit_card_company":"Visa","buyer_action_info":null,"credit_card_name":null,"credit_card_wallet":null,"credit_card_expiration_month":null,"credit_card_expiration_year":null,"payment_method_name":"visa"}},"credit_card":null}],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"398.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"7yjf4v2we7gamku6a6h7tvm8h3mmvs4x","total_price":"419.49","total_tax":"21.49","total_tip_received":"0.00","total_line_items_price":"398.00","updated_at":"2012-10-12T07:05:27-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/7yjf4v2we7gamku6a6h7tvm8h3mmvs4x","line_items":[{"id":"60715a3461f5f853","key":"60715a3461f5f853","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[]},{"id":"0703986f986628ba","key":"0703986f986628ba","product_id":632910392,"variant_id":808950810,"sku":"IPOD2008PINK","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Pink","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano-2.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[]}],"gift_cards":[],"tax_lines":[{"price":"21.49","rate":0.06,"title":"State Tax","compare_at":0.06}],"tax_manipulations":[],"shipping_line":{"handle":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping","tax_lines":[]},"shipping_rate":{"id":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping"},"shipping_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"credit_card":{"first_name":"Bob","last_name":"Norman","first_digits":"1","last_digits":"1","brand":"bogus","expiry_month":8,"expiry_year":2042,"customer_id":null},"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Retrieve an existing checkout ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.find({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.find( session: test_session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.find({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":207119551,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"bob.norman@mail.example.com","legal_notice_url":null,"location_id":null,"name":"#862052962","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":null,"order_status_url":null,"order":null,"payment_due":"419.49","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"398.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","total_price":"419.49","total_tax":"21.49","total_tip_received":"0.00","total_line_items_price":"398.00","updated_at":"2012-10-12T07:05:27-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a","line_items":[{"id":"60715a3461f5f853","key":"60715a3461f5f853","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[]},{"id":"0703986f986628ba","key":"0703986f986628ba","product_id":632910392,"variant_id":808950810,"sku":"IPOD2008PINK","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Pink","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano-2.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[]}],"gift_cards":[],"tax_lines":[{"price":"21.49","rate":0.06,"title":"State Tax","compare_at":0.06}],"tax_manipulations":[],"shipping_line":{"handle":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping","tax_lines":[]},"shipping_rate":{"id":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping"},"shipping_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"credit_card":null,"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` *** ## getRetrieves a list of shipping ratesdeprecated Retrieves a list of available shipping rates for the specified checkout. Implementers need to poll this endpoint until rates become available. Each shipping rate contains the checkout's new subtotal price, total tax, and total price in the event that this shipping rate is selected. This can be used to update the UI without performing further API requests.To apply a shipping rate, update the checkout's shipping line with the handle of the selected rate. ### Parameters *** api\_version string required *** token string required *** ### Examples Retrieve available shipping rates Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required Retrieving shipping rates before they're available returns an empty array Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required Retrieving shipping rates when none are available for the current shipping address or cart returns an empty array Path parameters token=​zs9ru89kuqcdagk8bz4r9hnxt22wwd42 string required get ## /admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a/shipping\_​rates.​json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a/shipping_rates.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "shipping_rates": [ { "id": "shopify-Free%20Shipping-0.00", "price": "0.00", "title": "Free Shipping", "checkout": { "total_tax": "23.88", "total_price": "421.88", "subtotal_price": "398.00" }, "phone_required": false, "delivery_range": null, "estimated_time_in_transit": null, "handle": "shopify-Free%20Shipping-0.00" } ] } ``` ### examples * #### Retrieve available shipping rates ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a/shipping_rates.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.shipping_rates({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.shipping_rates( session: test_session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.shipping_rates({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` #### response ```json HTTP/1.1 200 OK{"shipping_rates":[{"id":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping","checkout":{"total_tax":"23.88","total_price":"421.88","subtotal_price":"398.00"},"phone_required":false,"delivery_range":null,"estimated_time_in_transit":null,"handle":"shopify-Free%20Shipping-0.00"}]} ``` * #### Retrieving shipping rates before they're available returns an empty array ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a/shipping_rates.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.shipping_rates({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.shipping_rates( session: test_session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.shipping_rates({ session: session, token: "exuw7apwoycchjuwtiqg8nytfhphr62a", }); ``` #### response ```json HTTP/1.1 202 Accepted{"shipping_rates":[]} ``` * #### Retrieving shipping rates when none are available for the current shipping address or cart returns an empty array ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/zs9ru89kuqcdagk8bz4r9hnxt22wwd42/shipping_rates.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.Checkout.shipping_rates({ session: session, token: "zs9ru89kuqcdagk8bz4r9hnxt22wwd42", }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::Checkout.shipping_rates( session: test_session, token: "zs9ru89kuqcdagk8bz4r9hnxt22wwd42", ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.Checkout.shipping_rates({ session: session, token: "zs9ru89kuqcdagk8bz4r9hnxt22wwd42", }); ``` #### response ```json HTTP/1.1 200 OK{"shipping_rates":[]} ``` *** ## putModifies an existing checkoutdeprecated Requires `checkouts` access scope. Modifies an existing checkout ### Parameters *** api\_version string required *** token string required *** ### Examples Select a shipping rate Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.token:​"exuw7apwoycchjuwtiqg8nytfhphr62a" read-only deprecated A unique identifier for a particular checkout. checkout.shipping\_​line:​{"handle":"shopify-Free%20Shipping-0.00"} deprecated The selected shipping rate. A new shipping rate can be selected by updating the value for `handle`. A shipping line is required when `requires_shipping` is `true`. Learn more about [selecting shipping rates](#shipping_rates). Update the shipping address and email of a checkout Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.token:​"exuw7apwoycchjuwtiqg8nytfhphr62a" read-only deprecated A unique identifier for a particular checkout. checkout.email:​"john.smith\@example.com" deprecated The customer's email address. A checkout needs to have a value for `email` or `phone` before it can be completed. checkout.shipping\_​address:​{"first\_name":"John",​"last\_name":"Smith",​"address1":"126 York St.",​"city":"Los Angeles",​"province\_code":"CA",​"country\_code":"US",​"phone":"(123)456-7890",​"zip":"90002"} deprecated The mailing address to where the checkout will be shipped. It has the following properties: Show shipping\_address properties * **address1**: The street address of the shipping address. * **address2**: An optional additional field for the street address of the shipping address. * **city**: The city, town, or village of the shipping address. * **company**: The company of the person associated with the shipping address. * **country**: The name of the country of the shipping address. * **country\_code**: The two-letter code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format) for the country of the shipping address. * **first\_name**: The first name of the person associated with the shipping address. * **last\_name**: The last name of the person associated with the shipping address. * **phone**: The phone number at the shipping address. * **province**: The name of the region (province, state, prefecture, …) of the shipping address. * **province\_code**: The alphanumeric abbreviation of the region of the shipping address. * **zip**: The postal code (zip, postcode, Eircode, …) of the shipping address. Updating a shipping address with an invalid zip code fails and returns errors Path parameters token=​exuw7apwoycchjuwtiqg8nytfhphr62a string required Request body checkout​[](https://shopify.dev/apps/store/data-protection/protected-customer-data) Checkout resource Show checkout properties checkout.token:​"exuw7apwoycchjuwtiqg8nytfhphr62a" read-only deprecated A unique identifier for a particular checkout. checkout.shipping\_​address:​{"first\_name":"John",​"last\_name":"Smith",​"address1":"126 York St.",​"city":"Beverly Hills",​"province\_code":"CA",​"country\_code":"US",​"phone":"(123)456-7890",​"zip":"1234"} deprecated The mailing address to where the checkout will be shipped. It has the following properties: Show shipping\_address properties * **address1**: The street address of the shipping address. * **address2**: An optional additional field for the street address of the shipping address. * **city**: The city, town, or village of the shipping address. * **company**: The company of the person associated with the shipping address. * **country**: The name of the country of the shipping address. * **country\_code**: The two-letter code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2) format) for the country of the shipping address. * **first\_name**: The first name of the person associated with the shipping address. * **last\_name**: The last name of the person associated with the shipping address. * **phone**: The phone number at the shipping address. * **province**: The name of the region (province, state, prefecture, …) of the shipping address. * **province\_code**: The alphanumeric abbreviation of the region of the shipping address. * **zip**: The postal code (zip, postcode, Eircode, …) of the shipping address. put ## /admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.​json ```bash curl -d '{"checkout":{"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","shipping_line":{"handle":"shopify-Free%20Shipping-0.00"}}}' \ -X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` {} ## Response JSON ```json HTTP/1.1 202 Accepted { "checkout": { "completed_at": null, "created_at": "2012-10-12T07:05:27-04:00", "currency": "USD", "presentment_currency": "USD", "customer_id": 207119551, "customer_locale": "en", "device_id": null, "discount_code": null, "discount_codes": [], "email": "bob.norman@mail.example.com", "legal_notice_url": null, "location_id": null, "name": "#862052962", "note": "", "note_attributes": { "custom engraving": "Happy Birthday", "colour": "green" }, "order_id": null, "order_status_url": null, "order": null, "payment_due": "421.88", "payment_url": "https://app.local/cardserver/sessions", "payments": [], "phone": null, "shopify_payments_account_id": null, "privacy_policy_url": null, "refund_policy_url": null, "requires_shipping": true, "reservation_time_left": 0, "reservation_time": null, "source_identifier": null, "source_name": "web", ``` ### examples * #### Select a shipping rate ##### ```curl curl -d '{"checkout":{"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","shipping_line":{"handle":"shopify-Free%20Shipping-0.00"}}}' \ -X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.shipping_line = { "handle": "shopify-Free%20Shipping-0.00" }; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a" checkout.shipping_line = { "handle" => "shopify-Free%20Shipping-0.00" } checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.shipping_line = { "handle": "shopify-Free%20Shipping-0.00" }; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":207119551,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"bob.norman@mail.example.com","legal_notice_url":null,"location_id":null,"name":"#862052962","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":null,"order_status_url":null,"order":null,"payment_due":"421.88","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"398.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","total_price":"421.88","total_tax":"23.88","total_tip_received":"0.00","total_line_items_price":"398.00","updated_at":"2025-10-01T14:57:08-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a","line_items":[{"id":"60715a3461f5f853","key":"60715a3461f5f853","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"11.94","rate":0.06,"title":"Tax","channel_liable":false}]},{"id":"0703986f986628ba","key":"0703986f986628ba","product_id":632910392,"variant_id":808950810,"sku":"IPOD2008PINK","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Pink","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano-2.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"11.94","rate":0.06,"title":"Tax","channel_liable":false}]}],"gift_cards":[],"tax_lines":[{"price":"23.88","rate":0.06,"title":"Tax","compare_at":0.06}],"tax_manipulations":[],"shipping_line":{"handle":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping","tax_lines":[]},"shipping_rate":{"id":"shopify-Free%20Shipping-0.00","price":"0.00","title":"Free Shipping"},"shipping_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"credit_card":null,"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Update the shipping address and email of a checkout ##### ```curl curl -d '{"checkout":{"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","email":"john.smith@example.com","shipping_address":{"first_name":"John","last_name":"Smith","address1":"126 York St.","city":"Los Angeles","province_code":"CA","country_code":"US","phone":"(123)456-7890","zip":"90002"}}}' \ -X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.email = "john.smith@example.com"; checkout.shipping_address = { "first_name": "John", "last_name": "Smith", "address1": "126 York St.", "city": "Los Angeles", "province_code": "CA", "country_code": "US", "phone": "(123)456-7890", "zip": "90002" }; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a" checkout.email = "john.smith@example.com" checkout.shipping_address = { "first_name" => "John", "last_name" => "Smith", "address1" => "126 York St.", "city" => "Los Angeles", "province_code" => "CA", "country_code" => "US", "phone" => "(123)456-7890", "zip" => "90002" } checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.email = "john.smith@example.com"; checkout.shipping_address = { "first_name": "John", "last_name": "Smith", "address1": "126 York St.", "city": "Los Angeles", "province_code": "CA", "country_code": "US", "phone": "(123)456-7890", "zip": "90002" }; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 202 Accepted{"checkout":{"completed_at":null,"created_at":"2012-10-12T07:05:27-04:00","currency":"USD","presentment_currency":"USD","customer_id":1073339458,"customer_locale":"en","device_id":null,"discount_code":null,"discount_codes":[],"email":"john.smith@example.com","legal_notice_url":null,"location_id":null,"name":"#862052962","note":"","note_attributes":{"custom engraving":"Happy Birthday","colour":"green"},"order_id":null,"order_status_url":null,"order":null,"payment_due":"417.90","payment_url":"https://app.local/cardserver/sessions","payments":[],"phone":null,"shopify_payments_account_id":null,"privacy_policy_url":null,"refund_policy_url":null,"requires_shipping":true,"reservation_time_left":0,"reservation_time":null,"source_identifier":null,"source_name":"web","source_url":null,"subscription_policy_url":null,"subtotal_price":"398.00","shipping_policy_url":null,"tax_exempt":false,"taxes_included":false,"terms_of_sale_url":null,"terms_of_service_url":null,"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","total_price":"417.90","total_tax":"19.90","total_tip_received":"0.00","total_line_items_price":"398.00","updated_at":"2025-10-01T14:57:11-04:00","user_id":null,"web_url":"https://checkout.local/548380009/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a?key=094378f22a39f8155e1197347c6659e4","line_items":[{"id":"60715a3461f5f853","key":"60715a3461f5f853","product_id":632910392,"variant_id":49148385,"sku":"IPOD2008RED","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Red","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"9.95","rate":0.05,"title":"Tax","channel_liable":false}]},{"id":"0703986f986628ba","key":"0703986f986628ba","product_id":632910392,"variant_id":808950810,"sku":"IPOD2008PINK","vendor":"Apple","title":"IPod Nano - 8GB","variant_title":"Pink","image_url":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano-2.png?v=1759343456","taxable":true,"requires_shipping":true,"gift_card":false,"price":"199.00","compare_at_price":null,"line_price":"199.00","properties":{},"quantity":1,"grams":200,"fulfillment_service":"manual","applied_discounts":[],"discount_allocations":[],"tax_lines":[{"price":"9.95","rate":0.05,"title":"Tax","channel_liable":false}]}],"gift_cards":[],"tax_lines":[{"price":"19.90","rate":0.05,"title":"Tax","compare_at":0.05}],"tax_manipulations":[],"shipping_line":null,"shipping_rate":null,"shipping_address":{"id":921093900,"first_name":"John","last_name":"Smith","phone":"(123)456-7890","company":null,"address1":"126 York St.","address2":"","city":"Los Angeles","province":"California","province_code":"CA","country":"United States","country_code":"US","zip":"90002"},"credit_card":null,"billing_address":{"id":921093900,"first_name":"Bob","last_name":"Norman","phone":"+1(502)-459-2181","company":null,"address1":"Chestnut Street 92","address2":"","city":"Louisville","province":"Kentucky","province_code":"KY","country":"United States","country_code":"US","zip":"40202"},"applied_discount":null,"applied_discounts":[],"discount_violations":[]}} ``` * #### Updating a shipping address with an invalid zip code fails and returns errors ##### ```curl curl -d '{"checkout":{"token":"exuw7apwoycchjuwtiqg8nytfhphr62a","shipping_address":{"first_name":"John","last_name":"Smith","address1":"126 York St.","city":"Beverly Hills","province_code":"CA","country_code":"US","phone":"(123)456-7890","zip":"1234"}}}' \ -X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/checkouts/exuw7apwoycchjuwtiqg8nytfhphr62a.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const checkout = new admin.rest.resources.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.shipping_address = { "first_name": "John", "last_name": "Smith", "address1": "126 York St.", "city": "Beverly Hills", "province_code": "CA", "country_code": "US", "phone": "(123)456-7890", "zip": "1234" }; await checkout.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session checkout = ShopifyAPI::Checkout.new(session: test_session) checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a" checkout.shipping_address = { "first_name" => "John", "last_name" => "Smith", "address1" => "126 York St.", "city" => "Beverly Hills", "province_code" => "CA", "country_code" => "US", "phone" => "(123)456-7890", "zip" => "1234" } checkout.save! ``` ##### ```node // Session is built by the OAuth process const checkout = new shopify.rest.Checkout({session: session}); checkout.token = "exuw7apwoycchjuwtiqg8nytfhphr62a"; checkout.shipping_address = { "first_name": "John", "last_name": "Smith", "address1": "126 York St.", "city": "Beverly Hills", "province_code": "CA", "country_code": "US", "phone": "(123)456-7890", "zip": "1234" }; await checkout.save({ update: true, }); ``` #### response ```json HTTP/1.1 422 Unprocessable Entity{"errors":{"shipping_address":{"zip":[{"code":"invalid_for_country","message":"Enter a valid ZIP code for the United States","options":{"country":"United States"}}]}}} ```