Skip to main content

Checkout Backend (2.0)

Download OpenAPI specification:Download

The Checkout Backend API is used to initialize an order through authenticated requests. This includes the ability to create and manipulate orders in Checkout.

Refer to the changelog for the latest updates to this API.

Authentication

OAuthToken

Authenticates an API request from a public integration. Generate this token in the Developer Dashboard. Refer to Build Public Integrations for more information.

Security Scheme Type OAuth2
authorizationCode OAuth Flow
Authorization URL: https://apps.boldapps.net/accounts/dashboard/authorize
Token URL: https://api.boldcommerce.com/auth/oauth2/token

APIAccessToken

Authenticates an API request from a private integration. Generate this token in the Bold Account Center. Refer to the Quick Start for more information.

Security Scheme Type API Key
Header parameter name: API Access Token

Customers

A child of the Order resource. Contains information about authenticated customers on your store, including name, email, and saved addresses. Use these endpoints to add or remove an authenticated customer to an order.

Delete Customer

Clears the customer from the Order.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}

Create Authenticated Customer

"Creates a new authenticated customer.

Cannot create a customer when a customer was already provided by the Initialize Order endpoint or the Create Authenticated Customer endpoint.

If you wish to add a new authenticated customer to an order or add a guest customer you must first delete the existing customer using the Delete Customer endpoint"

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
first_name
string

The customer's first name.

last_name
string

The customer's last name.

email_address
required
string

The customer's email address.

platform_id
required
string

The customer's platform identifier.

public_id
string

The customer's public identifier.

accepts_marketing
boolean
Default: false

If the customer would like to receive any sort of marketing emails.

Array of objects or null (Address) [ items ]

The saved addresses of an authenticated customer stored from the platform.

Responses

Request samples

Content type
application/json
{
  • "first_name": "John",
  • "last_name": "doe",
  • "email_address": "john.doe@mydomain.com",
  • "platform_id": "50942578465125",
  • "public_id": "pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA",
  • "accepts_marketing": true,
  • "saved_addresses": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Integrations

Contains a shared secret, which is used to configure the webhooks that your integration uses.

Configure Integration Settings

Used to configure the Shop integration.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

Request Body schema: application/json
shared_secret
required
string

A string used to sign callback url requests for webhook subscriptions.

Responses

Request samples

Content type
application/json
{
  • "shared_secret": "example_shared_secret"
}

Response samples

Content type
application/json
{
  • "data": [ ]
}

Line Items

A child of the Order resource. Contains information about the product and the taxes, fees, and discounts associated with it. Use these endpoints to update information about one or multiple line items.

Update Line Items

Updates the fulfilled_quantity property of multiple line items. For more information, refer to the Fulfill an Order page.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

Request Body schema: application/json
Array of objects[ items ]
Array
line_item_key
required
string (LineItemKey)

A user-defined unique identifier serving to refer to this line throughout Bold Checkout.

fulfilled_quantity
integer

Responses

Request samples

Content type
application/json
{
  • "line_items": [
    ]
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Update Line Item

Updates the fulfilled_quantity property of a single line item. For more information, refer to the Fulfill an Order page.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

line_item_key
required
string (LineItemKey)

A user-defined unique identifier serving to refer to this line throughout Bold Checkout.

Request Body schema: application/json
fulfilled_quantity
integer

Responses

Request samples

Content type
application/json
{
  • "fulfilled_quantity": 2
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Orders

Contains information about a single order, including the JWT, order ID, and application state. Use these endpoints to initialize, refresh, or cancel an order.

Initialize Order

Used to initialize an order and retrieve a JWT. The JWT will be used to authorize all the storefront requests.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
cart_id
string

Identifier of an existing cart to load from the platform. This field is unsupported when using a custom platform.

access_token
string

An optional string token that you can pass to the platform. For example, use this field if your platform requires an authentication token to retrieve cart information (WooCommerce & commercetools).

Array of Cart Item (object) or SKU Cart Item (object) or Variant ID Cart Item (object)[ items ]

Array of items to add to the cart. Note that the "Cart Item" type is only supported by Shopify.

object (Customer)
object

Additional information about an order. This information is for the use of the store or integration, so Bold Checkout does not do anything with this metadata. It can also be used to include extra information about an order and included when pushed to the platform.

resumable_link
string

A URL used to resume an order. If provided, the default resumable link generated by Checkout will be overwritten with this URL. This resumable link will be provided in the email and webhook for an abandoned checkout.

flow_id
string or null

An identifier for the origin checkout flow that created the order. Bold-hosted templates provide this field and are identified by the first 4 letters "bold", which are reserved. The field is optional for custom checkout flows and other clients, but provides a convenience for determining the order's origin. For more information, refer to Checkout Flows

Responses

Request samples

Content type
application/json
Example
{
  • "cart_id": "1snVSJAWYWWYhfLWq9ABcXMwx8mcvh2U",
  • "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Refresh JWT

This endpoint can be used to generate a new JWT for the order. The initial JWT expires after 60 minutes.

This endpoint can also be use to resume an existing order (ie. Abandoned orders).

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
public_order_id
string (Public Order ID)

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

Responses

Request samples

Content type
application/json
{
  • "public_order_id": "AbC123"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Cancel Order

Cancels an order, voiding any held authorizations. This endpoint fails if the order has already been fulfilled or any payments were captured.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
reason
string

Optional order cancellation reason.

Responses

Request samples

Content type
application/json
{
  • "reason": "Duplicate order"
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Payments

A child of the Order resource. Contains information about the payments on an order. Use these endpoints to capture partial or full payments.

Capture Payment for Arbitrary Amount

Captures a payment for the amount specified against the order total (shipping, taxes, etc included).

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
amount
required
number

Amount to capture, represented in base currency units, using ISO-4217 standards.

reauth
required
boolean
Default: true

Whether or not Checkout should attempt to re-authorize payment if the authorize transaction has been used or expired.

idempotent_key
string

A unique idempotency key generated by the client which the server uses to recognize subsequent retries of the same requests.

capture_data
object

Responses

Request samples

Content type
application/json
Example
{
  • "amount": 120,
  • "reauth": true,
  • "idempotent_key": "your_idempotent_key_here",
  • "capture_data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Capture Payment for Full Order Amount

Captures a payment for the full order total amount (including shipping, taxes, etc).

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
reauth
required
boolean
Default: true

Whether or not Checkout should attempt to re-authorize payment if the authorize transaction has been used or expired.

idempotent_key
string

A unique idempotency key generated by the client which the server uses to recognize subsequent retries of the same requests.

capture_data
object

Responses

Request samples

Content type
application/json
{
  • "reauth": true,
  • "idempotent_key": "your_idempotent_key_here",
  • "capture_data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Refunds

Contains information about any refunds applied to the order. Use these endpoints to apply partial or full refunds.

Issue Refund for Arbitrary Amount

Issues a refund for the amount specified against any captured transactions on the order. Restocks line items (if applicable). This endpoint does not perform any currency conversions.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
amount
number

Amount to refund, represented in base currency units, using ISO-4217 standards.

reason
string

The note attached to the refund.

email_notification
boolean

Whether or not Checkout will send an email notification. If true, an email will be sent.

refund_meta_data
object

(optional) Additional refund transaction data for specific payment gateway integrations.

Responses

Request samples

Content type
application/json
{
  • "amount": 60.55,
  • "reason": "Product arrived broken.",
  • "email_notification": true,
  • "refund_meta_data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Issue Refund for Full Order Amount

Issues a refund for the entire order (including shipping, taxes, etc). Restocks line items (if applicable). This endpoint does not perform any currency conversions.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

public_order_id
required
string

The public order id generated when the order is initialized by making a request to the Initialize Order endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
reason
string

The note attached to the refund.

email_notification
boolean

Whether or not Checkout will send an email notification. If true, an email will be sent.

refund_order_data
object

(optional) Additional refund transaction data for specific payment gateway integrations.

Responses

Request samples

Content type
application/json
{
  • "reason": "Product arrived broken.",
  • "email_notification": true,
  • "refund_meta_data": {
    }
}

Response samples

Content type
application/json
{
  • "data": {
    }
}

Webhooks

Contains information about the webhooks that are registered on a given store. Use these endpoints to manipulate the webhooks registered on your store.

List Webhooks

Retrieves a list of registered webhooks.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Responses

Response samples

Content type
application/json
{}

Create Webhook

Register for a webhook by specifying the destination URL and topic.

For more information on Checkout webhooks, refer to Register for Webhooks.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json
webhook_topic_id
required
integer

The webhook topic id.

callback_url
required
string

The URL that the webhook payload will be sent to.

Responses

Callbacks

Request samples

Content type
application/json
{}

Response samples

Content type
application/json
{}

Callback payload samples

Callback
POST: {$request.body#/callback_url}
Content type
application/json
{
  • "customer": {
    },
  • "line_items": [],
  • "order_meta_data": {
    },
  • "public_order_id": "nPTPIlIahDoEgZFabZNNvg7uxahLkGb1x4UINz3eqYV3eHewsjq7kubZc5BLAUqC",
  • "resumable_link": "https://mycheckout.com/resume"
}

Update Webhook

Update the destination URL for a specific webhook.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

webhook_topic_id
required
string

The webhook topic id.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Request Body schema: application/json

The only property that can be changed for a webhook configuration is the callback url. Webhook topics cannot be updated, if any existing webhook is no longer required it must be deleted using the Delete Webhook endpoint. Or if registering for a new webhook, use the Create Webhook endpoint.

callback_url
required
string

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{}

Delete Webhook

Unregister a webhook.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

webhook_topic_id
required
string

The webhook topic id.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Responses

Response samples

Content type
application/json
[ ]

List Webhook Topics

Gets the list of available webhook topics.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Shops

Contains information about the store's checkout configuration, which is set in the Bold Checkout admin.

Get Shop General Settings

Retrieves basic settings from the shop's General Settings section in Checkout Admin.

Authorizations:
path Parameters
shop_identifier
required
string

The identifier of the shop, which can be retrieved by making a request to the Get Info endpoint.

header Parameters
Authorization
required
string <Bearer-Token>
Example: Bearer yroF643MyJSeVQQJDKdvsd1awWcpiEQInHNi2dZXfYoOuR4vaFUHi4pODoiEai9T

Authenticates the API request. The expected token can either be generated from the "Developer Settings" page in the Account Center admin or through the Oauth installation. For more information about generating an API access token, refer to the Quick Start.

Responses

Response samples

Content type
application/json
{
  • "data": {
    }
}