openapi: 3.0.0 info: title: Checkout Admin version: '2.0' description: |- Use the Checkout Admin API to configure store-level settings. This includes the ability to configure overrides. Refer to the changelog for the latest updates to this API. termsOfService: https://boldcommerce.com/terms-of-service contact: name: Contact Us url: https://developer-dashboard.boldcommerce.com/default/contactus servers: - url: https://api.boldcommerce.com security: - OAuthToken: [] - APIAccessToken: [] tags: - name: Cross Origin Resource Sharing (CORS) description: Contains information about the domains that can access the Bold Checkout APIs. Use these endpoints to manage the approved domains. - name: External Payment Gateways description: Contains information about an external payment gateway that can be integrated into a store's checkout experience. Use these endpoints to manipulate the external payment gateways for a store. - name: Gift Cards description: Contains information about Gift Cards on a given store. Use this endpoint to get all data associated with a Gift Card for a store. - name: Integrations description: Contains a shared secret, which is used to configure the webhooks that your integration uses. - name: Lightweight Frontend Experience (LiFE) Elements description: Contains information about the Checkout Lightweight Frontend Experience (LiFE) Elements, which enable you to add custom elements into your checkout experience. Use these endpoints to add, edit, and delete elements. - name: Overrides description: Contains information about the API overrides on a given store, such as the override type, redirect URL, and shared secret. Use these endpoints to manipulate overrides for a store. - name: Payment CSS description: Contains information about the CSS used to style the [Payment Isolation Gateway Interface (PIGI)](/guides/getting-started/glossary#payment-isolation-gateway-interface-pigi). Use these endpoints to manipulate the PIGI iFrame for all orders on a store. - name: Remote State Authority description: Contains information about the Remote State Authority on a given store, such as the URL and shared secret. Use these endpoints to manipulate configuration details for the Remote State Authority for a store. Refer to [Create a Checkout Remote State Authority](/default/guides/platform-connector/rsa/create-checkout-rsa) for more information. - name: Saved Payment Methods description: Contains information about customers' payment methods. Use these endpoints to retrieve or modify saved payment methods. - name: Shops description: Contains information about the store's checkout configuration, which is set in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4). - name: Tax Zone Settings description: Contains information about tax providers for individual tax zones. - name: Warehouses description: Contains information about the warehouses for a given store. This information is required to retrieve shipping rates and calculate taxes. - name: Webhooks description: Contains information about the webhooks registered on a given store. Use these endpoints to manipulate the webhooks registered on your store. - name: Zones description: | Contains information about the [zones](/guides/getting-started/glossary#zone) for a given store. Use these endpoints to manipulate the [shipping zones](/guides/getting-started/glossary#shipping-zone), [tax zones](/guides/getting-started/glossary#tax-zone), and [warehouse zones](/guides/getting-started/glossary#warehouse-zone) for a store. > **Tip:** Some operations in Checkout require at least one zone to be created. If you have no interest in specific regions, you can use a [default zone](/guides/getting-started/glossary#default-zone) instead. externalDocs: description: For more information about Checkout, refer to the Overview. url: https://developer.boldcommerce.com/guides/checkout paths: /checkout/shop/{shop_identifier}/cors: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Add Domain to CORS Allowlist operationId: AddDomainCORSAllowlist tags: - Cross Origin Resource Sharing (CORS) description: |- Adds a domain to the list of domains with permission to call the Bold Checkout APIs. Use this endpoint if you are self-hosting your checkout. This endpoint is also required to enable self-hosted development stores to call the Bold Checkout APIs. requestBody: content: application/json: schema: type: object properties: domain: $ref: '#/components/schemas/CORSDomain' responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/CORSDomainList' examples: CORSDomains: $ref: '#/components/examples/CORSDomainsExample' '500': $ref: '#/components/responses/UnknownError' get: summary: Get CORS Allowlist operationId: GetCORSAllowlist tags: - Cross Origin Resource Sharing (CORS) description: Retrieves the list of domains with permission to call the Bold Checkout APIs. responses: '200': description: OK content: application/json: schema: oneOf: - type: object description: The list of domains on the CORS allowlist. properties: data: type: array items: $ref: '#/components/schemas/CORSDomainList' - type: object description: An empty object, indicating that there are no domains in the CORS allowlist. properties: data: type: object maxProperties: 0 examples: CORSDomains: $ref: '#/components/examples/CORSDomainsExample' NoCORSDomains: value: data: {} '500': $ref: '#/components/responses/UnknownError' /checkout/shop/{shop_identifier}/cors/{domain_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/domain_id' delete: summary: Delete Domain from CORS Allowlist operationId: DeleteDomainFromCORSAllowlist tags: - Cross Origin Resource Sharing (CORS) description: Deletes a domain from the list of domains with permission to call the Bold Checkout APIs. Specify the domain to be deleted using the `domain_id` in the request route. responses: '200': description: OK content: application/json: schema: type: array maxLength: 0 '404': description: Domain ID does not exist content: application/json: schema: type: array maxLength: 0 /checkout/shop/{shop_identifier}/life_elements: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Create Element operationId: CreateElement tags: - Lightweight Frontend Experience (LiFE) Elements description: Adds a LiFE element to the store's checkout at a specific location. For more information about the locations and where they are, refer to the [Checkout LiFE guide](/guides/checkout/life). requestBody: content: application/json: schema: $ref: '#/components/schemas/LiFE_element' responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: life_elements: $ref: '#/components/schemas/LiFE_element' '422': description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: NameFieldIsRequired: value: errors: - code: 02-94 type: life_element.invalid_life_element_data message: The meta_data_field is required. details: {} get: summary: List Elements operationId: ListElements tags: - Lightweight Frontend Experience (LiFE) Elements description: Lists the LiFE elements that are associated with a given store's checkout. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: life_elements: type: array uniqueItems: true items: $ref: '#/components/schemas/LiFE_element' /checkout/shop/{shop_identifier}/life_elements/{public_element_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/public_element_id' patch: summary: Update Element operationId: UpdateElement tags: - Lightweight Frontend Experience (LiFE) Elements description: Updates a LiFE element that already exists on a store's checkout. You can edit any of the element's attributes using this endpoint. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: life_elements: $ref: '#/components/schemas/LiFE_element' '422': description: Unprocessable request content: application/json: schema: $ref: '#/components/schemas/Errors' examples: LifeElementNotFound: value: errors: - code: 02-94 type: life_element.life_element_not_configured message: LiFE element with the given `public_id` not found. details: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/LiFE_element' delete: summary: Delete Element operationId: DeleteElement description: Removes a LiFE element from a store's checkout. tags: - Lightweight Frontend Experience (LiFE) Elements responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '422': description: Unprocessable request content: application/json: schema: $ref: '#/components/schemas/Errors' examples: LifeElementNotFound: value: errors: - code: 02-91 type: life_element.life_element_not_configured message: LiFE element with the given `public_id` not found. details: {} /checkout/shop/{shop_identifier}/external_payment_gateways: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Create External Payment Gateway operationId: CreateExternalPaymentGateway tags: - External Payment Gateways description: Adds an external payment gateway to a store. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: external_payment_gateway: $ref: '#/components/schemas/ExternalPaymentGateway' examples: example-1: value: data: external_payment_gateway: public_id: VfYRxzOjRkwG6B2xWbxhPQ name: External Payment Gateway base_url: www.example.com/payments iframe_url: www.example.com/gateway api_token: XjqnSQWYAZXt partial_capture: true additional_order_details: true provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228 currency: CAD location: payment_method_below '422': description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: NameFieldIsRequired: value: errors: - code: 02-91 type: external_payment_gateway.invalid_external_payment_gateway_data message: The name field is required. details: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalPaymentGateway' examples: example-1: value: name: External Payment Gateway base_url: www.example.com/payments iframe_url: www.example.com/gateway api_token: XjqnSQWYAZXt partial_capture: true additional_order_details: true provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228 currency: CAD http_headers: - key: foo value: bar location: payment_method_below get: summary: List External Payment Gateways operationId: ListExternalPaymentGateways tags: - External Payment Gateways description: Lists external payment gateways for a given store. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: external_payment_gateways: type: array uniqueItems: true items: $ref: '#/components/schemas/ExternalPaymentGateway' examples: example-1: value: data: external_payment_gateways: - public_id: SqCAft3jGmwDVK8aQbhi2R name: First External Payment Gateway base_url: www.example-1.com/payments iframe_url: www.example-1.com/gateway api_token: XjqnSQWYAZXt partial_capture: true additional_order_details: true provider_id: 5dgg27kce-2jd7-1h8v-j2f5-xsgn2di9s764 currency: CAD location: payment_method_below http_headers: - key: foo value: bar - public_id: VfYRxzOjRkwG6B2xWbxhPQ name: Second External Payment Gateway base_url: www.example-2.com/payments iframe_url: www.example-2.com/gateway api_token: PjqnSQWYAZXz partial_capture: true additional_order_details: true provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228 currency: CAD location: payment_method_below http_headers: null /checkout/shop/{shop_identifier}/external_payment_gateways/{public_gateway_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/public_gateway_id' patch: summary: Update External Payment Gateway operationId: UpdateExternalPaymentGateway tags: - External Payment Gateways description: Updates an external payment gateway on a store. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: external_payment_gateway: $ref: '#/components/schemas/ExternalPaymentGateway' examples: example-1: value: data: external_payment_gateway: public_id: VfYRxzOjRkwG6B2xWbxhPQ name: External Payment Gateway base_url: www.example.com/payments iframe_url: www.example.com/gateway api_token: XjqnSQWYAZXt partial_capture: true additional_order_details: true provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228 currency: CAD http_headers: - key: foo value: bar location: payment_method_below '422': description: Unprocessable request content: application/json: schema: $ref: '#/components/schemas/Errors' examples: PaymentGatewayNotFound: value: errors: - code: 02-91 type: external_payment_gateway.not_found message: External payment gateway with the given `public_id` not found. details: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/ExternalPaymentGateway' examples: example-1: value: name: External Payment Gateway base_url: www.example.com/payments iframe_url: www.example.com/gateway api_token: XjqnSQWYAZXt partial_capture: true additional_order_details: true provider_id: 8ad85ccf-7fd6-4f4b-a1a2-dff42fb3e228 currency: CAD http_headers: - key: foo value: bar location: payment_method_below delete: summary: Delete External Payment Gateway operationId: DeleteExternalPaymentGateway description: Removes an external payment gateway from a store. tags: - External Payment Gateways responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '422': description: Unprocessable request content: application/json: schema: $ref: '#/components/schemas/Errors' examples: PaymentGatewayNotFound: value: errors: - code: 02-91 type: external_payment_gateway.not_found message: External payment gateway with the given `public_id` not found. details: {} /checkout/shop/{shop_identifier}/customer/{public_customer_id}/payment_methods: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/public_customer_id' get: summary: List Saved Payment Methods operationId: ListSavedPaymentMethods tags: - Saved Payment Methods description: Lists all saved payment methods for a specific customer. responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/CustomerPaymentMethods' example: success: true cards: - type: credit_card public_id: ZdtkGke3jqR4qeI9IvtrHaRQZxdobJ5SaGdcX7V22O0v2U5bBqDGb6FHAkpPk4KS is_default: false cc_type: Visa last_four: '1111' expiration: date: 2023-11 /checkout/shop/{shop_identifier}/customer/stored-cards/{public_payment_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/public_payment_id' delete: summary: Delete Saved Payment Method operationId: DeleteSavedPaymentMethod tags: - Saved Payment Methods description: Deletes the saved payment method associated with a public payment identifier. responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/DeletePaymentMethod' examples: OneOrMorePaymentMethodsRemaining: value: success: true defaultCardId: 1 NoRemainingPaymentMethods: value: success: true defaultCardId: '' /checkout/shop/{shop_identifier}/overrides: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Create API Override operationId: CreateAPIOverride tags: - Overrides description: Creates an API override for a given store. The API override is used to customize base functionality. Store level API overrides will apply to all orders, but per-order overrides may take priority. For more information, refer to [API Overrides](/guides/checkout/api-overrides). requestBody: content: application/json: schema: $ref: '#/components/schemas/OverrideRequest' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OverrideConfig' examples: example-1: value: data: public_id: '1' override_type: discount url: https://example.com/overrides/callback_url created_at: '2021-11-17 21:03:36' updated_at: '2021-11-17 21:03:36' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorsV1' examples: OverrideTypeDoesNotExist: value: errors: - message: The override_type does not exist. type: api_override field: override_type severity: validation sub_type: api_override InvalidURL: value: errors: - message: The `url` field must be a valid url. type: api_override field: url severity: validation sub_type: api_override get: summary: List API Overrides operationId: ListAPIOverrides tags: - Overrides description: Retrieves a list of registered API overrides for a given store. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array uniqueItems: true items: $ref: '#/components/schemas/OverrideConfig' examples: example-1: value: data: - public_id: '1' override_type: discount url: https://example.com/overrides/discount created_at: '2021-11-17 21:03:36' updated_at: '2021-11-17 21:03:36' - public_id: '2' override_type: shipping url: https://example.com/overrides/shipping created_at: '2021-11-17 21:03:36' updated_at: '2021-11-17 21:03:36' /checkout/shop/{shop_identifier}/overrides/{public_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - schema: type: string name: public_id in: path required: true description: The identifier for the affected API override. patch: summary: Update API Override operationId: UpdateAPIOverride tags: - Overrides description: Updates the given override. Enables the caller to update the `url` property, the `override_type` property, or both, for a given API override. A store can have more than one API override of the same type. requestBody: content: application/json: schema: $ref: '#/components/schemas/OverrideRequest' example: override_type: discount url: https://example.com/overrides/updated_callback_url shared_secret: aq9834g4aqkdwa0 responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/OverrideConfig' examples: UpdatedCallbackURL: value: data: public_id: '1' override_type: discount url: https://example.com/overrides/updated_callback_url created_at: '2021-11-17 21:03:36' updated_at: 2021-11-20 215:09:22 '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorsV1' examples: OverrideTypeDoesNotExist: value: errors: - message: The override_type does not exist. type: api_override field: override_type severity: validation sub_type: api_override InvalidURL: value: errors: - message: The `url` field must be a valid url. type: api_override field: url severity: validation sub_type: api_override delete: summary: Delete API Override operationId: DeleteAPIOverride tags: - Overrides description: Delete an API override from the given store. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorsV1' examples: MissingPublicID: value: errors: - message: The `public id` field is required. type: api_override field: public_id severity: validation sub_type: api_override /checkout/shop/{shop_identifier}/rsa_config: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Connect Remote State Authority operationId: ConnectRemoteStateAuthority tags: - Remote State Authority description: Connects Remote State Authority to a given shop. requestBody: content: application/json: schema: type: object properties: url: type: string description: The destination URL to which a request will be made when order state changes occur. example: https://example.com/my_remote_state_authority shared_secret: type: string description: Your shared secret, which can be any string you choose. Bold uses this string and the current date to create a signature for each request. minLength: 8 maxLength: 255 example: d5210fa5563dd4f5b06f00d0 required: - url - shared_secret responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/RemoteStateAuthorityConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid URL: value: errors: - code: 02-89 type: remote_state_authority.rsa_already_configured message: Remote State Authority already configured. Please update configuration instead. patch: summary: Update Remote State Authority Connection operationId: UpdateRemoteStateAuthorityConnection tags: - Remote State Authority description: Updates connection to a Remote State Authority for a given shop. requestBody: content: application/json: schema: type: object properties: url: type: string description: The destination URL to which a request will be made when order state changes occur. example: https://example.com/my_remote_state_authority shared_secret: type: string description: Your shared secret, which can be any string you choose. Bold uses this string and the current date to create a signature for each request. minLength: 8 maxLength: 255 example: d5210fa5563dd4f5b06f00d0 responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/RemoteStateAuthorityConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid URL: value: errors: - code: 02-89 type: remote_state_authority.rsa_not_configured message: Remote State Authority not configured. get: summary: Get Remote State Authority operationId: GetRemoteStateAuthority tags: - Remote State Authority description: Gets Remote State Authority connection details for a given shop. responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/RemoteStateAuthorityConfig' examples: ConfigurationFound: value: data: remote_state_authority: url: https://example.com/my_remote_state_authority ConfigurationNotFound: value: data: remote_state_authority: null delete: summary: Delete Remote State Authority operationId: DeleteRemoteStateAuthority tags: - Remote State Authority description: Removes Remote State Authority functionality for a given shop. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: remote_state_authority: {} '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Remote State Authority not configured: value: errors: - code: 02-89 type: remote_state_authority.rsa_not_configured message: Remote State Authority not configured. /checkout/shop/{shop_identifier}/gift_card: parameters: - $ref: '#/components/parameters/shop_identifier' get: summary: Get Gift Card operationId: GetGiftCard tags: - Gift Cards description: |- Gets a gift card on a given shop, specified by either the `public_payment_method_id` or a combination of the `card_token` and `card_pin`. For more information, refer to the [Manage Gift Cards](/guides/checkout/gift-cards) guide. parameters: - in: query name: params required: true style: form explode: true schema: type: object oneOf: - type: object title: Public Payment Method Id properties: public_payment_method_id: type: string description: The payment public ID of the gift card, assigned when configured as a customer's payment method. example: i5uATT2QVKlozoDA2msg89w3mWAdPTIeLtED44R1SJYUVuI7jO4NqHdM8vjoqq7A7P required: - public_payment_method_id - type: object title: Card Token and Pin properties: card_token: type: string description: The gift card token. example: AJPG-TPOE-FNAA-MDEH card_pin: type: string description: The gift card PIN. example: '937' required: - card_token - card_pin responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: gift_card: $ref: '#/components/schemas/GiftCard' examples: GiftCardFound: value: data: gift_card: card_token: OAVXDVRAJUGFMHEK amount: 5000 balance: 2575 recipient_name: John recipient_email: john.smith@example.com message: Enjoy this gift certificate from us. expiry_date: '2025-04-01' customer_name: Jane customer_email: jane.doe@example.com '422': description: Unprocessable entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Provide either public_payment_method_id or card_token and PIN: value: errors: - code: 02-50 type: gift_cards.invalid_gift_card_data message: Please provide one of `public payment method id` or `card token` and `card pin`. The card_pin is required: value: errors: - code: 02-50 type: gift_cards.invalid_gift_card_data message: The card pin field is required when the `card token` field is present. Gift Card not found: value: errors: - code: 02-87 type: gift_cards.gift_card_not_found message: The gift card was not found. '500': $ref: '#/components/responses/UnknownError' /checkout/shop/{shop_identifier}/integration/config: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Configure Integration Settings operationId: ConfigureIntegrationSettings tags: - Integrations description: |- Configures webhooks to integrate with your shop, using a given shared secret. Read more about configuring webhook integration in the [Register for Webhooks guide](/guides/checkout/webhooks#configure-the-shared-secret). requestBody: content: application/json: schema: $ref: '#/components/schemas/ConfigureIntegrationBody' responses: '200': description: OK content: application/json: schema: type: array minItems: 0 maxItems: 0 '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/UnprocessableEntity' examples: MissingSharedSecret: value: errors: - message: The shared secret field is required. type: integration_config field: shared_secret severity: validation sub_type: '' '500': description: Occurs if the shop could not be determined. content: application/json: schema: $ref: '#/components/schemas/ErrorV2' examples: CouldNotFindShop: value: code: 11-13 type: integration_config.shop_could_not_be_determined message: shop could not be determined /checkout/shop/{shop_identifier}/zones/{zone_id}/tax_zone_settings: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/zone_id' post: summary: Create Tax Zone Setting operationId: CreateTaxZoneSetting tags: - Tax Zone Settings description: Creates or updates a tax zone setting for a tax zone. There can only be one tax zone setting for a tax zone. requestBody: content: application/json: schema: $ref: '#/components/schemas/TaxZoneSettingRequest' example: tax_provider: override responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/TaxZoneSettingConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: tax_zone_setting.invalid_tax_zone_setting_data message: The tax_provider field is required. Invalid Zone ID: value: errors: - code: 02-38 type: tax_zone_setting.zone_not_found message: No zone found with id 282. delete: summary: Delete Tax Zone Settings operationId: DeleteTaxZoneSetting tags: - Tax Zone Settings description: Deletes a tax zone setting for a tax zone. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: tax_zone_setting.invalid_tax_zone_setting_data message: The `zone_id` field must be of type Integer. /checkout/shop/{shop_identifier}/zones/tax_zone_settings: parameters: - $ref: '#/components/parameters/shop_identifier' get: summary: Get Tax Zone Settings operationId: GetTaxZoneSetting tags: - Tax Zone Settings description: Lists all tax zone settings for a shop. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: tax_zone_settings: type: array items: $ref: '#/components/schemas/TaxZoneSettingConfig' /checkout/shop/{shop_identifier}/zones/{zone_id}/warehouses: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/zone_id' post: summary: Create Warehouse operationId: CreateWarehouse tags: - Warehouses description: Adds a warehouse to a given shop. Each warehouse must belong to an existing warehouse zone, and a zone can have only one warehouse. Refer to [Create Zone](checkout-admin#operation/CreateZone). requestBody: content: application/json: schema: $ref: '#/components/schemas/WarehouseRequest' example: address: 123 Main St. address2: c/o Buck Skaggstein city: American Fork province_code: UT province: Utah country_code: US country: United States postal_code: '84003' extended_postal_code: '52' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/WarehouseConfig' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid Zone ID: value: errors: - code: 02-37 type: zone.zone_not_found message: No zone found with id 282. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: warehouse.invalid_warehouse_data message: The address field is required. - code: 02-50 type: warehouse.invalid_warehouse_data message: The postal_code field is required. Warehouse Already Exists: value: errors: - code: 02-39 type: warehouse.warehouse_already_exists message: A warehouse already exists for this zone. Please delete it before creating a new one. details: warehouse: $ref: '#/components/schemas/WarehouseConfig' patch: summary: Update Warehouse operationId: UpdateWarehouse tags: - Warehouses description: Updates a warehouse. requestBody: content: application/json: schema: $ref: '#/components/schemas/WarehouseUpdateRequest' example: address: 123 Main St. address2: c/o Buck Skaggstein city: American Fork province_code: UT province: Utah country_code: US country: United States postal_code: '84003' extended_postal_code: '52' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/WarehouseConfig' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid Zone ID: value: errors: - code: 02-37 type: zone.zone_not_found message: No zone found with id 282. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid Address: value: errors: - code: 02-50 type: warehouse.invalid_warehouse_data message: The `address` field must be of type String. delete: summary: Delete Warehouse operationId: DeleteWarehouse tags: - Warehouses description: Deletes a warehouse. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Invalid Zone ID: value: errors: - code: 02-37 type: zone.zone_not_found message: No zone found with id 282. /checkout/shop/{shop_identifier}/zones/warehouses: parameters: - $ref: '#/components/parameters/shop_identifier' get: summary: List Warehouses operationId: GetWarehouses tags: - Warehouses description: Lists all warehouses for a given shop. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: warehouses: type: array items: $ref: '#/components/schemas/WarehouseConfig' /checkout/shop/{shop_identifier}/webhooks: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Create Webhook operationId: CreateWebhook tags: - Webhooks description: |- Create a webhook registration by specifying the destination URL and topic. For more information on Checkout webhooks, refer to [Register for Webhooks](/guides/checkout/webhooks#register-for-the-webhook). responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/WebhookConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/ErrorV2' examples: TopicIDDoesNotExist: value: code: 10-10 type: webhook_subscriptions.webhook_topic_id does not exist message: webhook_topic_id does not exist. details: {} MissingRequiredField: value: message: The callback_url field is required. type: webhook_subscriptions severity: validation field: callback_url sub_type: '' requestBody: content: application/json: schema: type: object properties: webhook_topic_id: $ref: '#/components/schemas/WebhookTopicID' callback_url: $ref: '#/components/schemas/CallbackURL' required: - webhook_topic_id - callback_url callbacks: ProcessedOrder: '{$request.body#/callback_url/order/processed}': post: summary: Processed Order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/ProcessedOrderWebhook' example: value: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com application_state: customer: accepts_marketing: true email_address: john.doe@example.com first_name: John last_name: Doe platform_id: '50942578465125' public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA saved_addresses: [] addresses: shipping: 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' billing: 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' line_items: - product_data: id: 724bca product_title: Oak Cheese Grater title: Small image_url: http://shop.images/oakcheesegrater properties: property1: string property2: string description: A handmade oak cheese grater to elevate your cheese-eating experience. quantity: 2 price: 2350 total_price: 4700 visible: 1 line_item_key: oak_cheese_grater_2643 barcode: 1234ABC compare_at_price: 4000 weight: 1000 weight_unit: g product_id: oak-cheese-grater variant_id: oak-cheese-grater-small requires_shipping: true sku: OAK_GRATER_SM taxable: true tags: Kitchen, Cheese Board, Oak vendor: Cheese Boards Unlimited total_weight: 2000 - taxes: - value: 1000 name: GST is_included: true - fees: - amount: 500 name: Miscellaneous fee. - discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon - fulfilled_quantity: 2 fees: - id: '123456789' line_text: Custom Fee — Added by Plugin fee_type: fixed value: 10 source: PLUGIN plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee taxable: true show_description: true taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon payments: - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW amount: 4700 currency: CAD type: spreedly display_string: Credit Card Payment id: '' token: 7uZAMRAf80KiEwibsrrM5IB41yU retain: false order_total: 4700 order_meta_data: cart_parameters: key: cp-key1 property1: A cart param. property2: A cart param. note_attributes: key: na-key1 property1: A note attribute. property2: A note attribute. notes: A special delivery note. tags: - order-1 shipping: selected_shipping: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID available_shipping_lines: - id: string line: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon resumable_link: string flow_id: external-company-one-page-template currency: iso_code: CAD iso_numeric_code: 124 symbol: $ format: ${{amount}} has_decimal: true show_iso_code: true created_via: My_Order_Creating_Plugin is_processed: false order_id: 79047599 platform_order_id: 1389wjfalsdf9y4r public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M order_id: 829 platform_order_id: '' platform_friendly_identifier: '' order_source: e3b37c97-8544-4fee-b8f3-cf33deb28be5 order_source_name: api_v2 fulfillment_status: unfulfilled fulfillment_data: [] responses: '200': description: Successful operation CreatedOrder: '{$request.body#/callback_url/order/created}': post: summary: Created Order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreatedOrderWebhook' example: value: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com application_state: customer: accepts_marketing: true email_address: john.doe@example.com first_name: John last_name: Doe platform_id: '50942578465125' public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA saved_addresses: [] addresses: shipping: 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' billing: 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' line_items: - product_data: id: 724bca product_title: Oak Cheese Grater title: Small image_url: http://shop.images/oakcheesegrater properties: property1: string property2: string description: A handmade oak cheese grater to elevate your cheese-eating experience. quantity: 2 price: 2350 total_price: 4700 visible: 1 line_item_key: oak_cheese_grater_2643 barcode: 1234ABC compare_at_price: 4000 weight: 1000 weight_unit: g product_id: oak-cheese-grater variant_id: oak-cheese-grater-small requires_shipping: true sku: OAK_GRATER_SM taxable: true tags: Kitchen, Cheese Board, Oak vendor: Cheese Boards Unlimited total_weight: 2000 - taxes: - value: 1000 name: GST is_included: true - fees: - amount: 500 name: Miscellaneous fee. - discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon - fulfilled_quantity: 2 fees: - id: '123456789' line_text: Custom Fee — Added by Plugin fee_type: fixed value: 10 source: PLUGIN plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee taxable: true show_description: true taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon payments: - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW amount: 4700 currency: CAD type: spreedly display_string: Credit Card Payment id: '' token: 7uZAMRAf80KiEwibsrrM5IB41yU retain: false order_total: 4700 order_meta_data: cart_parameters: key: cp-key1 property1: A cart param. property2: A cart param. note_attributes: key: na-key1 property1: A note attribute. property2: A note attribute. notes: A special delivery note. tags: - order-1 shipping: selected_shipping: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID available_shipping_lines: - id: string line: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon resumable_link: string flow_id: external-company-one-page-template currency: iso_code: CAD iso_numeric_code: 124 symbol: $ format: ${{amount}} has_decimal: true show_iso_code: true created_via: My_Order_Creating_Plugin is_processed: false order_id: 79047599 platform_order_id: 1389wjfalsdf9y4r public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M order_id: 829 platform_order_id: '179' platform_friendly_identifier: '179' order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5 order_source_name: api_v2 fulfillment_status: unfulfilled fulfillment_data: [] responses: '200': description: Successful operation FulfilledOrder: '{$request.body#/callback_url/order/fulfilled}': post: summary: Fulfilled Order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FulfilledOrderWebhook' example: value: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com application_state: customer: accepts_marketing: true email_address: john.doe@example.com first_name: John last_name: Doe platform_id: '50942578465125' public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA saved_addresses: [] addresses: shipping: 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' billing: 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' line_items: - product_data: id: 724bca product_title: Oak Cheese Grater title: Small image_url: http://shop.images/oakcheesegrater properties: property1: string property2: string description: A handmade oak cheese grater to elevate your cheese-eating experience. quantity: 2 price: 2350 total_price: 4700 visible: 1 line_item_key: oak_cheese_grater_2643 barcode: 1234ABC compare_at_price: 4000 weight: 1000 weight_unit: g product_id: oak-cheese-grater variant_id: oak-cheese-grater-small requires_shipping: true sku: OAK_GRATER_SM taxable: true tags: Kitchen, Cheese Board, Oak vendor: Cheese Boards Unlimited total_weight: 2000 - taxes: - value: 1000 name: GST is_included: true - fees: - amount: 500 name: Miscellaneous fee. - discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon - fulfilled_quantity: 2 fees: - id: '123456789' line_text: Custom Fee — Added by Plugin fee_type: fixed value: 10 source: PLUGIN plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee taxable: true show_description: true taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon payments: - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW amount: 4700 currency: CAD type: spreedly display_string: Credit Card Payment id: '' token: 7uZAMRAf80KiEwibsrrM5IB41yU retain: false order_total: 4700 order_meta_data: cart_parameters: key: cp-key1 property1: A cart param. property2: A cart param. note_attributes: key: na-key1 property1: A note attribute. property2: A note attribute. notes: A special delivery note. tags: - order-1 shipping: selected_shipping: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID available_shipping_lines: - id: string line: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon resumable_link: string flow_id: external-company-one-page-template currency: iso_code: CAD iso_numeric_code: 124 symbol: $ format: ${{amount}} has_decimal: true show_iso_code: true created_via: My_Order_Creating_Plugin is_processed: false order_id: 79047599 platform_order_id: 1389wjfalsdf9y4r public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M order_id: 829 platform_order_id: '179' platform_friendly_identifier: '179' order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5 order_source_name: api_v2 fulfillment_status: fulfilled fulfillment_data: total_value: 17 total_shipping_value: 10 shipping_details: [] tracking_company: ups tracking_number: sJKfh72hKD7djh tracking_url: https://www.ups.com/example-tracking-links location_id: -3 fulfilled_at: '2022-01-04 19:52:16' fulfilled_items: [] total_discount: 12 total_fees: 4 order_fees: [] total_order_fees: 13 total_tax: 5 responses: '200': description: Successful operation FailedOrder: '{$request.body#/callback_url/order/failed}': post: summary: Failed Order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/FailedOrderWebhook' example: value: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com application_state: customer: accepts_marketing: true email_address: john.doe@example.com first_name: John last_name: Doe platform_id: '50942578465125' public_id: pjpTyGh8KzNQ225wPqxgy7LwNuC887h6ecGyp3omwT4XW8SszjVSdHzWHN4NBwqhA saved_addresses: [] addresses: shipping: 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' billing: 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' line_items: - product_data: id: 724bca product_title: Oak Cheese Grater title: Small image_url: http://shop.images/oakcheesegrater properties: property1: string property2: string description: A handmade oak cheese grater to elevate your cheese-eating experience. quantity: 2 price: 2350 total_price: 4700 visible: 1 line_item_key: oak_cheese_grater_2643 barcode: 1234ABC compare_at_price: 4000 weight: 1000 weight_unit: g product_id: oak-cheese-grater variant_id: oak-cheese-grater-small requires_shipping: true sku: OAK_GRATER_SM taxable: true tags: Kitchen, Cheese Board, Oak vendor: Cheese Boards Unlimited total_weight: 2000 - taxes: - value: 1000 name: GST is_included: true - fees: - amount: 500 name: Miscellaneous fee. - discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon - fulfilled_quantity: 2 fees: - id: '123456789' line_text: Custom Fee — Added by Plugin fee_type: fixed value: 10 source: PLUGIN plugin_uuid: a52589f8-09df-11ed-b30e-f67072e164ee taxable: true show_description: true taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon payments: - gateway_public_id: i7z2xT0sKrDvhGWzex5SLjf5e6ndlQfrRL4AROkfhf3vNBkVT38JKBy5PSjB63qW amount: 4700 currency: CAD type: spreedly display_string: Credit Card Payment id: '' token: 7uZAMRAf80KiEwibsrrM5IB41yU retain: false order_total: 4700 order_meta_data: cart_parameters: key: cp-key1 property1: A cart param. property2: A cart param. note_attributes: key: na-key1 property1: A note attribute. property2: A note attribute. notes: A special delivery note. tags: - order-1 shipping: selected_shipping: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID available_shipping_lines: - id: string line: id: '0' description: 'Custom weight-based rate: tier 2' amount: 450 code: EXPID taxes: - value: 1000 name: GST is_included: true discounts: - code: SUMMER5 text: Summer discount code value: 500 source: coupon resumable_link: string flow_id: external-company-one-page-template currency: iso_code: CAD iso_numeric_code: 124 symbol: $ format: ${{amount}} has_decimal: true show_iso_code: true created_via: My_Order_Creating_Plugin is_processed: false order_id: 79047599 platform_order_id: 1389wjfalsdf9y4r public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M order_id: 829 platform_order_id: '179' platform_friendly_identifier: '179' order_source: e3b37c97-8544-4fee-b8f3-cf33deb45be5 order_source_name: api_v2 fulfillment_status: unfulfilled fulfillment_data: [] responses: '200': description: Successful operation AbandonedOrder: '{$request.body#/callback_url/order/abandoned}': post: summary: Abandoned Order requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/AbandonedOrderWebhook' example: value: public_order_id: nPTPIlIahDoEgZFabZNNvg7uxahLkGb1x4UINz3eqYV3eHewsjq7kubZc5BLAUqC line_items: discounts: [] fees: [] product_data: barcode: 1234ABC compare_at_price: 4000 description: A handmade oak cheese grater to elevate your cheese-eating experience. id: 724bca image_url: http://shop.images/oakcheesegrater line_item_key: ABC123 price: 2350 product_id: oak-cheese-grater properties: [] quantity: 2 requires_shipping: true sku: OAK_GRATER_SM tags: Kitchen, Cheese Board, Oak taxable: true title: Small total_price: 4700 variant_id: oak-cheese-grater-small vendor: Cheese Boards Unlimited visible: 1 weight: 1000 weight_unit: g taxes: [] customer: accepts_marketing: true email_address: john.doe@example.com first_name: John last_name: Doe platform_id: null public_id: sTaGXlJuMIz1fzdnE8HSXkK1m2ym9FRbrwxqiS2t7XylVEMBT7YX1Xeep6V7cT53 saved_addresses: [] order_meta_data: cart_parameters: ca-key1: Some kind of cart parameter. note_attributes: na-key1: Some kind of note attributes. notes: Some kind of special delivery note. tags: - tag-1 resumable_link: https://checkout.example.com/resume shop: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com responses: '200': description: Successful operation GiftCardCreated: '{$request.body#/callback_url/gift_card/created}': post: summary: Gift Card Created requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/GiftCardCreatedWebhook' example: value: domain: store-vwd2342klmsdf.mybigcommerce.com platform_domain: example.mybigcommerce.com public_order_id: 4U2bwe9SAQY039WGUKM5b2KoxKUKcgyLNvuEKB03Z2HzWbjYB1n4MoC7HuhLT45M platform_order_id: 179 platform_customer_id: null customer: email: john.doe@example.com first_name: John last_name: Doe gift_card_email: john.doe@example.com gift_card_token: TYIDFASDFOCXOMT gift_card_key: '107' gift_card_amount: 2500 responses: '200': description: Successful operation get: summary: List Webhooks operationId: ListWebhooks tags: - Webhooks description: Retrieves a list of registered webhooks. responses: '200': description: OK content: application/json: schema: oneOf: - type: object title: Results properties: data: type: array items: $ref: '#/components/schemas/WebhookConfig' minItems: 1 uniqueItems: true - type: array title: No Results minItems: 0 maxItems: 0 examples: example-1: value: data: - webhook_topic_id: 1 webhook_topic_name: order/created callback_url: https://my-app.com/webhooks/order/created created_at: '2022-11-23 17:11:06' updated_at: '2022-11-23 17:11:06' - webhook_topic_id: 4 webhook_topic_name: order/failed callback_url: https://my-app.com/webhooks/order/failed created_at: '2022-11-23 17:11:06' updated_at: '2022-11-23 17:11:06' /checkout/shop/{shop_identifier}/webhooks/{webhook_topic_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - schema: type: string name: webhook_topic_id in: path required: true description: The webhook topic id. put: summary: Update Webhook operationId: UpdateWebhook tags: - Webhooks description: |- Updates the webhook callback URL. Webhook topics cannot be updated. Learn more about updating webhooks in the [Webhooks guide](/guides/checkout/webhooks#update-or-delete-webhooks). responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/WebhookConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' examples: example-1: value: message: The callback url field is required. type: webhook_subscriptions field: callback_url severity: validation sub_type: '' requestBody: content: application/json: schema: type: object properties: callback_url: $ref: '#/components/schemas/CallbackURL' required: - callback_url examples: example-1: value: callback_url: https://my-app.com/webhooks/different_callback_url delete: summary: Delete Webhook operationId: DeleteWebhook tags: - Webhooks description: |- Removes an existing webhook. Learn more about removing webhooks in the [Webhooks guide](/guides/checkout/webhooks#update-or-delete-webhooks). responses: '200': description: OK content: application/json: schema: type: array minItems: 0 maxItems: 0 '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Error' examples: example-1: value: message: The webhook topic id field is required. type: webhook_subscriptions field: webhook_topic_id severity: validation sub_type: '' /checkout/shop/{shop_identifier}/webhooks/topics: parameters: - $ref: '#/components/parameters/shop_identifier' get: summary: List Webhook Topics operationId: ListWebhookTopics tags: - Webhooks description: |- Gets the list of available webhook topics. Possible webhook topics from Checkout Backend API are: - `order/processed` - `order/created` - `order/fulfilled` - `order/abandoned` - `order/failed` - `gift_card/created` Read about webhook topics in the [Webhook Topics guide](/guides/checkout/webhooks#get-a-list-of-webhook-topics). responses: '200': description: OK content: application/json: schema: type: object properties: data: type: array description: A list of available webhook topics. items: $ref: '#/components/schemas/WebhookTopic' minItems: 0 uniqueItems: true example: - webhook_topic_id: 1 webhook_topic_name: order/created - webhook_topic_id: 2 webhook_topic_name: order/processed - webhook_topic_id: 3 webhook_topic_name: order/fulfilled /checkout/shop/{shop_identifier}/zones: parameters: - $ref: '#/components/parameters/shop_identifier' post: summary: Create Zone operationId: CreateZone tags: - Zones description: Adds a warehouse, shipping, or tax zone. requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoneRequest' example: name: Western Region type: warehouse regions: - country_code: CA province_code: MB - country_code: CA province_CODE: SK responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/ZoneConfig' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: zone.invalid_zone_data message: The name field is required. Invalid Zone Type: value: errors: - code: 02-50 type: zone.invalid_zone_data message: 'The type field must be one the following values: shipping, tax, warehouse' Invalid Region Data: value: errors: - code: 02-37 type: zone.country_not_found_by_code message: 'Zone not created: invalid country code(s) [ZZ,YQ]' - code: 02-37 type: zone.province_not_found_by_code message: 'Zone not created: invalid province code(s) [H3,PL]' Default Zone Exists: value: errors: - code: 02-37 type: zone.default_zone_already_exists message: 'Unable to create default zone: Default zone already exists' Region Already Exists: value: errors: - code: 02-37 type: zone.region_already_exists message: 'The zone CountryId: 4, ProvinceId: 7, ZoneTypeId: 1 already exists in another zone for this shop' details: zone_id: 279, country_code: CA province_code: MB get: summary: List Zones operationId: GetZone tags: - Zones description: Lists all zones for a shop. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object properties: zones: type: array items: $ref: '#/components/schemas/ZoneConfig' /checkout/shop/{shop_identifier}/zones/{zone_id}: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/zone_id' patch: summary: Update Zone operationId: UpdateZone tags: - Zones description: Updates an existing zone. Note that it is not possible to update an existing zone's `type`. requestBody: content: application/json: schema: $ref: '#/components/schemas/ZoneUpdateRequest' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/ZoneConfig' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Zone Not Found: value: errors: - code: 02-37 type: zone.zone_not_found message: Zone not found. '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: zone.invalid_zone_data message: The zone_id field is required. Prohibited Request Data: value: errors: - code: 02-50 type: zone.invalid_zone_data message: The type field is not allowed. Invalid Region Data: value: errors: - code: 02-37 type: zone.country_not_found_by_code message: 'Zone not created: invalid country code(s) [ZZ,YQ]' - code: 02-37 type: zone.province_not_found_by_code message: 'Zone not created: invalid province code(s) [H3,PL]' Default Zone Exists: value: errors: - code: 02-37 type: zone.default_zone_already_exists message: 'Unable to create default zone: Default zone already exists' Region Already Exists: value: errors: - code: 02-37 type: zone.region_already_exists message: 'The zone CountryId: 4, ProvinceId: 7, ZoneTypeId: 1 already exists in another zone for this shop' details: zone_id: 279, country_code: CA province_code: MB delete: summary: Delete Zone operationId: DeleteZone tags: - Zones description: Deletes an existing zone. Any regions, tax zone settings, and warehouses associated with the zone will also be deleted. responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Missing Request Data: value: errors: - code: 02-50 type: zone.invalid_zone_data message: The zone_id field is required. /checkout/shop/{shop_identifier}/general_settings: parameters: - $ref: '#/components/parameters/shop_identifier' get: summary: Get Shop General Settings operationId: GetShopGeneralSettings tags: - Shops description: Retrieves basic settings from the shop's General Settings section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4). responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GeneralSettings' put: summary: Update Shop General Settings operationId: UpdateShopGeneralSettings tags: - Shops description: Updates basic settings from the shop's General Settings section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4). requestBody: content: application/json: schema: $ref: '#/components/schemas/GeneralSettingsUpdateRequest' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GeneralSettings' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Prohibited Request Data: value: errors: - code: 02-95 type: general_settings.invalid_settings_data message: The `public order id.enabled` field must be of type Boolean. /checkout/shop/{shop_identifier}/general_settings/phone_number_required: parameters: - $ref: '#/components/parameters/shop_identifier' put: summary: Update Phone Number Requirement operationId: UpdatePhoneNumberRequirement tags: - Shops description: Updates the phone number requirement setting for a store. This setting can also be edited from the store's **General Settings** section in the [Bold Checkout admin](https://apps.boldapps.net/accounts/app/4). requestBody: content: application/json: schema: $ref: '#/components/schemas/PhoneNumberRequiredUpdateRequest' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GeneralSettings' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Prohibited Request Data: value: errors: - code: 02-95 type: general_settings.invalid_settings_data message: The `phone number required` field must be of type Boolean. /checkout/shop/{shop_identifier}/general_settings/require_inventory_check: parameters: - $ref: '#/components/parameters/shop_identifier' put: summary: Update Inventory Check Requirement operationId: UpdateInventoryCheckRequirement tags: - Shops description: |- Updates the inventory check requirement setting for a store. If required, an inventory check is performed in response to the [Process Order](/api/checkout#tag/Orders/operation/ProcessOrder) endpoint, and the endpoint returns a 422 error if there is not enough inventory to complete the order. The inventory check is required by default. You can use this endpoint to disable the inventory check requirement during order processing. requestBody: content: application/json: schema: $ref: '#/components/schemas/RequireInventoryCheckUpdateRequest' responses: '200': description: OK content: application/json: schema: type: object properties: data: $ref: '#/components/schemas/GeneralSettings' '422': description: Unprocessable Entity content: application/json: schema: $ref: '#/components/schemas/Errors' examples: Prohibited Request Data: value: errors: - code: 02-95 type: general_settings.invalid_settings_data message: The `require inventory check` field is required. /checkout/shop/{shop_identifier}/pmmc_session: parameters: - $ref: '#/components/parameters/shop_identifier' - $ref: '#/components/parameters/platform_customer_id' - $ref: '#/components/parameters/bold_customer_id' get: summary: Get PMMC Session operationId: GetPmmcSession tags: - Shops description: |- Retrieves a Payment Method Management for Checkout (PMMC) session. Use this endpoint to retrieve the information necessary to load the `