Skip to main content

Checkout Frontend (2.0)

Download OpenAPI specification:Download

The Checkout Frontend API is used to interact with an order. This includes the ability to get and manipulate order details from a browser. \n\nRefer to the changelog for the latest updates to this API.

Authentication

JWT

Authenticates the API request. The expected token is a JSON Web Token (JWT) generated during the initialization of the the order via the Initialize Order endpoint.

Once the JWT expires (after 60 minutes), you must generate a new JWT using the Resume Order endpoint.

Security Scheme Type API Key
Header parameter name: JWT

Addresses

A child of the Order resource. Contains information about shipping and billing addresses. Use these endpoints to add shipping and billing addresses to an order.

Set Shipping Address

Sets the shipping address on the order.

Each order can have only one shipping address. If you call this endpoint and a shipping address already exists, the existing address is overwritten.

Set Shipping Address calls Validate Address before setting the shipping address.

Note: Checkout admin settings can override schema requirements for phone_number and business_name. If phone_number or business_name are set to required in the Bold Checkout admin, they are also required in this endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
string

The first name of the addressee.

last_name
string

The last name of the addressee.

address_line_1
string

The street address.

address_line_2
string

Any additional street address details (apt #, suite #, etc).

country
required
string

The country name.

city
string

The city name.

province
string

The province or state name, if applicable. If show_province is set to true, this field is required.

country_code
required
string

The country code, in ISO 3166 format.

province_code
string

The province or state code, in ISO 3166 format, if applicable. If show_province is set to true, this field is required.

postal_code
string

The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.

business_name
string

If applicable, the business name.

phone_number
string

The phone number of the addressee.

Responses

Request samples

Content type
application/json
{
  • "id": "123",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address_line_1": "50 Fultz Blvd",
  • "address_line_2": "Suite 200",
  • "country": "Canada",
  • "city": "Winnipeg",
  • "province": "Manitoba",
  • "country_code": "CA",
  • "province_code": "MB",
  • "postal_code": "R3Y0L6",
  • "business_name": "Acme Inc.",
  • "phone_number": "8005550101"
}

Response samples

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

Get Shipping Address

Gets the shipping address on the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Update Shipping Address

Updates the shipping address on the order.

This endpoint updates all fields of the shipping address. Any value left blank in the request body will be made blank in the updated address. The fields country, country_code, province, and province_code cannot be left blank.

Note: Checkout admin settings can override schema requirements for phone_number and business_name. If phone_number or business_name are set to required in the Bold Checkout admin, they are also required in this endpoint.

Note: If taxes were previously calculated, changes to the shipping address may affect those calculations. Taxes are not recalculated automatically, so you must call the Generate Taxes endpoint to recalculate taxes for the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
string

The first name of the addressee.

last_name
string

The last name of the addressee.

address_line_1
string

The street address.

address_line_2
string

Any additional street address details (apt #, suite #, etc).

country
required
string

The country name.

city
string

The city name.

province
string

The province or state name, if applicable. If show_province is set to true, this field is required.

country_code
required
string

The country code, in ISO 3166 format.

province_code
string

The province or state code, in ISO 3166 format, if applicable. If show_province is set to true, this field is required.

postal_code
string

The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.

business_name
string

If applicable, the business name.

phone_number
string

The phone number of the addressee.

Responses

Request samples

Content type
application/json
{
  • "id": "123",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address_line_1": "50 Fultz Blvd",
  • "address_line_2": "Suite 200",
  • "country": "Canada",
  • "city": "Winnipeg",
  • "province": "Manitoba",
  • "country_code": "CA",
  • "province_code": "MB",
  • "postal_code": "R3Y0L6",
  • "business_name": "Acme Inc.",
  • "phone_number": "8005550101"
}

Response samples

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

Delete Shipping Address

Clears the shipping address from the order.

Note: If taxes were previously calculated, changes to the shipping address may affect those calculations. Taxes are not recalculated automatically, so you must call the Generate Taxes endpoint to recalculate taxes for the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Set Billing Address

Sets the billing address on the order.

Each order can have only one billing address. If you call this endpoint and a billing address already exists, the existing address will be overwritten.

Set Billing Address calls Validate Address before setting the billing address.

Note: Checkout admin settings can override schema requirements for phone_number and business_name. If phone_number or business_name are set to required in the Bold Checkout admin, they are also required in this endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
string

The first name of the addressee.

last_name
string

The last name of the addressee.

address_line_1
string

The street address.

address_line_2
string

Any additional street address details (apt #, suite #, etc).

country
required
string

The country name.

city
string

The city name.

province
string

The province or state name, if applicable. If show_province is set to true, this field is required.

country_code
required
string

The country code, in ISO 3166 format.

province_code
string

The province or state code, in ISO 3166 format, if applicable. If show_province is set to true, this field is required.

postal_code
string

The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.

business_name
string

If applicable, the business name.

phone_number
string

The phone number of the addressee.

Responses

Request samples

Content type
application/json
{
  • "id": "123",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address_line_1": "50 Fultz Blvd",
  • "address_line_2": "Suite 200",
  • "country": "Canada",
  • "city": "Winnipeg",
  • "province": "Manitoba",
  • "country_code": "CA",
  • "province_code": "MB",
  • "postal_code": "R3Y0L6",
  • "business_name": "Acme Inc.",
  • "phone_number": "8005550101"
}

Response samples

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

Get Billing Address

Get the billing address on the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Update Billing Address

Updates the billing address on the order.

This endpoint updates all fields of the billing address associated with the order, and any value left blank in this request body will be made blank in the updated address. The fields country, country_code, province, and province_code cannot be left blank.

Note: Checkout admin settings can override schema requirements for phone_number and business_name. If phone_number or business_name are set to required in the Bold Checkout admin, they are also required in this endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
string

The first name of the addressee.

last_name
string

The last name of the addressee.

address_line_1
string

The street address.

address_line_2
string

Any additional street address details (apt #, suite #, etc).

country
required
string

The country name.

city
string

The city name.

province
string

The province or state name, if applicable. If show_province is set to true, this field is required.

country_code
required
string

The country code, in ISO 3166 format.

province_code
string

The province or state code, in ISO 3166 format, if applicable. If show_province is set to true, this field is required.

postal_code
string

The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.

business_name
string

If applicable, the business name.

phone_number
string

The phone number of the addressee.

Responses

Request samples

Content type
application/json
{
  • "id": "123",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address_line_1": "50 Fultz Blvd",
  • "address_line_2": "Suite 200",
  • "country": "Canada",
  • "city": "Winnipeg",
  • "province": "Manitoba",
  • "country_code": "CA",
  • "province_code": "MB",
  • "postal_code": "R3Y0L6",
  • "business_name": "Acme Inc.",
  • "phone_number": "8005550101"
}

Response samples

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

Delete Billing Address

Clears the billing address from the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Validate Address

Validates if the given postal code matches up with postal codes from Canada, US, Ireland, Great Britain, France or Singapore. This endpoint also validates the state/province provided, if required by country. Countries that require a state/province in their address are listed in the Country and Province/State Requirements reference.

Calls to the Set Shipping Address, Set Billing Address, Update Shipping Address, or Update Billing Address endpoints apply the same validations applied by this endpoint.

Calling this endpoint does not change the application state or apply the address. While not required, it can be helpful to call this endpoint before setting or updating an address on an order, especially if you want to implement custom error handling in more complicated address scenarios.

Note: Checkout admin settings can override schema requirements for phone_number and business_name. If phone_number or business_name are set to required in the Bold Checkout admin, they are also required in this endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
string

The first name of the addressee.

last_name
string

The last name of the addressee.

address_line_1
string

The street address.

address_line_2
string

Any additional street address details (apt #, suite #, etc).

country
required
string

The country name.

city
string

The city name.

province
string

The province or state name, if applicable. If show_province is set to true, this field is required.

country_code
required
string

The country code, in ISO 3166 format.

province_code
string

The province or state code, in ISO 3166 format, if applicable. If show_province is set to true, this field is required.

postal_code
string

The postal/zip code. Required for most countries, including the United States, Canada, and Mexico. Validated on format only when provided.

business_name
string

If applicable, the business name.

phone_number
string

The phone number of the addressee.

Responses

Request samples

Content type
application/json
{
  • "id": "123",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address_line_1": "50 Fultz Blvd",
  • "address_line_2": "Suite 200",
  • "country": "Canada",
  • "city": "Winnipeg",
  • "province": "Manitoba",
  • "country_code": "CA",
  • "province_code": "MB",
  • "postal_code": "R3Y0L6",
  • "business_name": "Acme Inc.",
  • "phone_number": "8005550101"
}

Response samples

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

Customers

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

Create Guest Customer

Creates a new guest customer and associates it with the order.

You cannot create a new guest customer when there is already one on the order.

To add a new guest customer to an order or add an authenticated customer, you must first delete the existing customer using the Delete Customer endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
required
string

The customer's first name.

last_name
required
string

The customer's last name.

email_address
required
string

The customer's email address.

accepts_marketing
boolean
Default: false

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

Responses

Request samples

Content type
application/json
{
  • "first_name": "John",
  • "last_name": "Doe",
  • "email_address": "[email protected]",
  • "accepts_marketing": false
}

Response samples

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

Update Guest Customer Deprecated

Note: This endpoint is deprecated. Instead, use the Update Customer endpoint to make edits to the customer on the order.

Updates the guest customer on the order.

Cannot update customer data that was provided from the Initialize Order endpoint.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
required
string

The customer's first name.

last_name
required
string

The customer's last name.

email_address
required
string

The customer's email address.

accepts_marketing
boolean
Default: false

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

Responses

Request samples

Content type
application/json
{
  • "first_name": "John",
  • "last_name": "Doe",
  • "email_address": "[email protected]",
  • "accepts_marketing": false
}

Response samples

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

Update Customer

Updates the customer on the order. This endpoint does not update the platform_id, public_id, or saved_addresses fields. You can add customers to the order via the Initialize Order, the Create Authenticated Customer and the Create Guest Customer endpoints.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
first_name
required
string

The customer's first name.

last_name
required
string

The customer's last name.

email_address
required
string

The customer's email address.

accepts_marketing
boolean
Default: false

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

Responses

Request samples

Content type
application/json
{
  • "first_name": "John",
  • "last_name": "Doe",
  • "email_address": "[email protected]",
  • "accepts_marketing": false
}

Response samples

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

Get Customer

Retrieves information about the customer on the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Delete Customer

Deletes the customer from the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Validate Email Address

Validates the email address and performs an MX check to make sure the domain can accept email.

Note that this endpoint does not validate that the the email address exists on the domain.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

query Parameters
email_address
required
string

The email address to be validated.

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Discounts

Contains information about discount codes that have been applied to an order. Use these endpoints to manipulate discount codes on an order.

Add Discount Code

Applies a discount code to the current order.

This endpoint applies an order-level discount code with a source of coupon. Each order may have only one coupon discount. If you attempt to add more than one, this endpoint returns an error, and the second discount code is not added.

To add a discount code at the line item level, refer to the discount_line_items plugin action.

Note: This endpoint does not create a new discount code. New discount codes can be created in the Bold Checkout admin.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
code
required
string

The discount code.

Responses

Request samples

Content type
application/json
{
  • "code": "FREESHIPPING"
}

Response samples

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

List Discount Codes

Retrieves all discount codes applied to the order, shipping, or individual line items, if applicable. If the order is not discounted, the endpoint returns an empty discounts array.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

Response samples

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

Delete Discount Code

Removes the discount code and its discounts from the order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
code
required
string

The discount code.

Responses

Request samples

Content type
application/json
{
  • "code": "FREESHIPPING"
}

Response samples

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

Validate Discount Code

Validates the given discount code against the current order state and shop settings. Calling this endpoint does not change the application state or apply the discount.

It is not required to call this endpoint before calling the Add Discount Code endpoint, but it can be helpful if you want to implement custom error handling in more complicated discount code scenarios.

For more information about discount validation, refer to Validate Discount Codes.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

query Parameters
discount_code
required
string
Example: discount_code=TESTCODE

The discount code to be validated.

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Responses

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 manipulate line items on an order.

Add Line Item

Adds a new line item to the order.

Only products that have already been synced to Checkout can be added from the frontend. One of either the sku or the platform_id is required.

This endpoint can also add a gift card to an order.

Authorizations:
path Parameters
shop_identifier
required
string
Example: zp3oafdor9

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

public_order_id
required
string
Example: woiph4vhqss9jjr50lR5am7IWurQ8FdbmtdOj4aaFIOfFiFGcvhY6x1t6eT0GoB

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

header Parameters
Authorization
required
string <JWT>
Example: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdXRoX3R5cGUiOiJWMl9BUEkiLCJwYXlsb2FkIjp7InB1YmxpY19vcmRlcl9pZCI6Inlyb0Y2NDNNeUpTZVZRUUpES2R2c2QxYXdXY3BpRVFJbkhOaTJkWlhmWW9PdVI0dmFGVUhpNHBPRG9pRWFpOVQifSwiZXhwIjoxNjMyMzQxMjg3LCJuYmYiOm51bGwsImlhdCI6bnVsbH0.swmYcVBHyK2i86jN-bIOL3WOCzP5VQVLq9Ev-TfIC_c

Authenticates the API request. The expected token is a JWT generated during the initialization of the the order via the Initialize Order endpoint. Once the JWT has expired (after 60 minutes), a new JWT can be regenerated using the Resume Order endpoint.

Request Body schema: application/json
platform_id
string

An identifier of the product on the platform.

sku
string

A merchant-defined stock-keeping unit of the line item.

quantity
required
integer

The quantity of the line item to be added to the order.

line_item_key
required
string (LineItemKey)

A unique identifier, set by the merchant, serving to refer to this line item throughout Bold Checkout. You can retrieve this value using the Products API and looking for the id on each product.

Additional Properties (object) or Gift Card Properties (object) or No properties (object) (Line Item Properties)

Any arbitrary property that you want to associate with this item. Line Items can also be Gift Cards, which have specific and unique properties.

Responses

Request samples

Content type
application/json
Example
{
  • "platform_id": 5423,
  • "sku": "OAK_GRATER_SM",
  • "quantity": 2,
  • "line_item_key": "ABC123",
  • "line_item_properties": {
    }
}

Response samples

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