openapi: 3.0.0 info: version: 1.0.1 title: Bolt API Reference description: | Postman Collection: [![](https://run.pstmn.io/button.svg)](https://god.gw.postman.com/run-collection/9136127-55d2bde1-a248-473f-95b5-64cfd02fb445?action=collection%2Ffork&collection-url=entityId%3D9136127-55d2bde1-a248-473f-95b5-64cfd02fb445%26entityType%3Dcollection%26workspaceId%3D78beee89-4238-4c5f-bd1f-7e98978744b4#?env%5BBolt%20Sandbox%20Environment%5D=W3sia2V5IjoiYXBpX2Jhc2VfdXJsIiwidmFsdWUiOiJodHRwczovL2FwaS1zYW5kYm94LmJvbHQuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6InRrX2Jhc2UiLCJ2YWx1ZSI6Imh0dHBzOi8vc2FuZGJveC5ib2x0dGsuY29tIiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfSx7ImtleSI6ImFwaV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggQVBJIGtleT4iLCJ0eXBlIjoic2VjcmV0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJwdWJsaXNoYWJsZV9rZXkiLCJ2YWx1ZSI6IjxyZXBsYWNlIHdpdGggeW91ciBCb2x0IFNhbmRib3ggcHVibGlzaGFibGUga2V5PiIsInR5cGUiOiJkZWZhdWx0IiwiZW5hYmxlZCI6dHJ1ZX0seyJrZXkiOiJkaXZpc2lvbl9pZCIsInZhbHVlIjoiPHJlcGxhY2Ugd2l0aCB5b3VyIEJvbHQgU2FuZGJveCBwdWJsaWMgZGl2aXNpb24gSUQ+IiwidHlwZSI6ImRlZmF1bHQiLCJlbmFibGVkIjp0cnVlfV0=) ## About A comprehensive Bolt API reference for interacting with Transactions, Orders, Product Catalog, Configuration, Testing, and much more. Note: You must also reference the [Merchant Callback API](/api-merchant) when building a managed checkout custom cart integration servers: - url: https://api.boltapp.com description: The Production URL (Live Data). - url: https://api-sandbox.boltapp.com description: The Sandbox URL (Test Data). - url: https://api-staging.boltapp.com description: The Staging URL (Staged Data). security: - X-API-Key: [] - OAuth: - bolt.account.manage - bolt.account.view tags: - name: Account description: | Use the Account endpoint to view and manage customer accounts. Perform actions such as creating an account, updating an address, or adding a payment method. This endpoint is for merchants using the Accounts Package. See our related guide on [Bolt OAuth](https://help.boltapp.com/developers/bolt-oauth/). - name: Configuration description: | Use this resource to retrieve and set Merchant Callback URLs. Bolt uses these URLs to exchange information with your commerce server. See our related guide [About the Merchant Callback API](https://help.boltapp.com/products/checkout/how-to-integrate/merchant-api-new/). - name: OAuth description: | Use this endpoint to retrieve an OAuth token. Use the token to allow your ecommerce server to make calls to the Account endpoint and create a one-click checkout experience for shoppers. See related guide [Fetch OAuth Token](https://help.boltapp.com/products/ignite/api-implementation/endpoints/oauth-guide/). - name: Orders description: | Use the Orders API to interact with the customer's cart throughout the checkout process. Pre-checkout, perform actions such as validating inventory, verifying discounts, and calculating taxes. Post-checkout, share shipping information so your customer can track their order. You'll interact with the [Merchant API](https://help.boltapp.com/api-merchant/) to keep the servers in sync with any changes the customer makes to their cart. See our related guide [Create a Bolt Order Token](https://help.boltapp.com/products/checkout/how-to-integrate/create-bolt-order-token-new/). - name: Statements description: | [Statements](/merchants/references/financials/statements/) are available in the Merchant Dashboard for merchants who use Bolt Payments as their processor. Merchants using other processors do not receive these statements. - name: Subscriptions description: | Use the Subscriptions endpoint to manage merchant-side recurring subscriptions created through Bolt Charge: list and retrieve subscriptions, cancel or pause/unpause them, view generated orders, and configure dunning (failed payment recovery) settings for a division. - name: Testing description: | The testing endpoint allows you to test various functionality within Bolt. Create a test credit card to process a test payment in your store. You can also simulate tracking an order’s shipment and programmatically create customer accounts to use as dummy data. See our related guide on [Testing](https://help.boltapp.com/developers/production-readiness-guides/test-cards/). - name: Transactions description: | Use the Transactions endpoint to authorize payments when the shopper checks out and handle post authorization actions such as captures and refunds. You can use a shopper's existing saved payment information or tokenize new payment information with the [Bolt Tokenizer](https://help.boltapp.com/api-tokenizer/). Bolt Authorize Transaction types fall into one of three categories: a logged-in shopper checking out with a saved payment method, any type of shopper checking out with a new payment method, and a logged-in shopper checking out with a new payment method. The new payment method will be saved to the shopper's account. - name: Webhooks description: | Set up webhooks to notify your backend of events within Bolt. These webhooks can communicate with your OMS or other systems to keep them up to date with Bolt. See our related guide on [Webhooks](https://help.boltapp.com/get-started/during-checkout/webhooks/). paths: /v1/account: get: description: Fetch a shopper's account details to pre-fill checkout fields. This request must come from your backend for security purposes, as it requires the use of your private key to authenticate. For PCI compliance, only limited information is returned for each credit card available in the shopper’s wallet. operationId: getAccount parameters: - $ref: '#/components/parameters/x-publishable-key' responses: '200': content: application/json: schema: $ref: '#/components/schemas/account_details' description: Account Details Fetched security: - OAuth: - bolt.account.manage - bolt.account.view X-API-Key: [] summary: Get Account Details tags: - Account post: description: Create a Bolt shopping account. operationId: createAccount parameters: - $ref: '#/components/parameters/x-publishable-key' - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/create_account_input' responses: '200': content: application/json: schema: $ref: '#/components/schemas/account_details' description: Account Created security: - X-API-Key: [] summary: Create Bolt Account tags: - Account /v1/account/profile: patch: description: Update the identifiers for a shopper's profile (first name or last name). operationId: updateAccountProfile parameters: - $ref: '#/components/parameters/x-publishable-key' requestBody: content: application/json: schema: $ref: '#/components/schemas/update_profile' responses: '200': content: application/json: schema: $ref: '#/components/schemas/profile_view' description: Profile Updated security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Update Profile tags: - Account /v1/account/addresses: post: description: Add an address to a shopper's account address book. operationId: addAddress parameters: - $ref: '#/components/parameters/x-publishable-key' - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/address_account' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/address_view_account' - properties: default: type: boolean type: object description: Address Added Successfully security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Add Address tags: - Account /v1/account/addresses/{id}: delete: description: | Deletes an existing address in a shopper's address book. operationId: deleteAddress parameters: - $ref: '#/components/parameters/shopper_address_id_path_param' - $ref: '#/components/parameters/x-publishable-key' responses: '200': description: Address Successfully Deleted security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Delete Address tags: - Account post: description: | Replace an existing address in a shopper's address book. These changes delete the existing address and create a new one. operationId: replaceAddress parameters: - $ref: '#/components/parameters/shopper_address_id_path_param' - $ref: '#/components/parameters/x-publishable-key' - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/address_account' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/address_view_account' - properties: default: type: boolean type: object description: Address Updated Successfully security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Replace Address tags: - Account put: description: | Edit an existing address in a shopper's address book. This endpoint fully replaces the information for an existing address while retaining the same address ID. operationId: editAddress parameters: - $ref: '#/components/parameters/shopper_address_id_path_param' - $ref: '#/components/parameters/x-publishable-key' requestBody: content: application/json: schema: $ref: '#/components/schemas/address_account' responses: '200': content: application/json: schema: allOf: - $ref: '#/components/schemas/address_view_account' - properties: default: type: boolean type: object description: Address Updated Successfully security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Edit Address tags: - Account /v1/account/exists: get: description: Check whether an account exists using one of `email`, `phone`, or `sha256_email` as the unique identifier. operationId: detectAccount parameters: - $ref: '#/components/parameters/email' - $ref: '#/components/parameters/sha256_email' - $ref: '#/components/parameters/phone' - $ref: '#/components/parameters/x_publishable_key_required' responses: '200': content: application/json: schema: $ref: '#/components/schemas/v1_accounts_view' description: Has Bolt Account '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Missing Query Parameter summary: Detect Account tags: - Account security: [] /v1/account/payment_methods: post: description: | Add a payment method to a shopper's Bolt account Wallet. For security purposes, this request must come from your backend because authentication requires the use of your private key. **Note**: Before using this API, the credit card details must be tokenized using Bolt's JavaScript library function, which is documented in [Install the Bolt Tokenizer](https://help.boltapp.com/developers/references/bolt-tokenizer). operationId: addPaymentMethod parameters: - $ref: '#/components/parameters/x-publishable-key' - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/credit_card_account' - properties: currency: description: This can be left empty. A 3-digit ISO code for currency that will be used in the credit card authorization. type: string example: USD type: object responses: '200': content: application/json: schema: $ref: '#/components/schemas/saved_credit_card_view' description: Payment Method Added security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Add Payment Method tags: - Account /v1/account/payment_methods/{payment_method_id}: delete: description: Delete a saved payment method from a shopper's Bolt account Wallet. operationId: deletePaymentMethod parameters: - $ref: '#/components/parameters/shopper_payment_method_id_path_param' - $ref: '#/components/parameters/x-publishable-key' responses: '200': description: Success '403': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Forbidden '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Not Found security: - OAuth: - bolt.account.manage X-API-Key: [] summary: Delete Payment Method tags: - Account /v1/merchant/callbacks: get: description: Retrieves callbacks URLs for a Bolt merchant division. operationId: getMerchantCallbacks parameters: - $ref: '#/components/parameters/division_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/merchant_callbacks_view' description: Merchant Callbacks Retrieved '400': $ref: '#/components/responses/merchant_callbacks_error_400' '403': $ref: '#/components/responses/merchant_callbacks_error_403' security: - X-API-Key: [] summary: Get Callback URLs tags: - Configuration post: description: Configure callbacks URLs for a Bolt merchant division. This will store or override only the callback URLs that are specified in the request. Operations are fully transactional. operationId: setMerchantCallbacks requestBody: content: application/json: schema: $ref: '#/components/schemas/merchant_callbacks_input' responses: '200': description: Successfully sets callback URLs. No JSON schema is expected. '400': $ref: '#/components/responses/merchant_callbacks_error_400' '403': $ref: '#/components/responses/merchant_callbacks_error_403' '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Request did not pass input validation. Check required fields are populated & meet input requirements. security: - X-API-Key: [] summary: Set Callback URLs tags: - Configuration /v1/merchant/identifiers: get: description: This endpoint returns the merchant's public ID and the [publishable key](https://help.boltapp.com/developers/tools/api-keys/) related to the merchant division. operationId: getMerchantIdentifiers responses: '200': content: application/json: schema: $ref: '#/components/schemas/merchant_identifiers_view' description: Merchant Identifiers Retrieved '403': $ref: '#/components/responses/merchant_identifier_error_403' security: - X-API-Key: [] summary: Get Merchant Identifiers tags: - Configuration /v1/merchant/orders: post: description: Make a request to this endpoint to create a Bolt order, generate a Bolt order token, and initiate the checkout process. A Bolt order token is required for Bolt orders; see Non-Bolt orders for alternative use cases. operationId: createOrderToken requestBody: content: application/json: schema: $ref: '#/components/schemas/order_create' description: Generate Order Token responses: '200': content: application/json: schema: $ref: '#/components/schemas/i_order_view' description: Token Generation Successful '400': $ref: '#/components/responses/order_generate_error_400' '403': $ref: '#/components/responses/order_generate_error_403' '422': $ref: '#/components/responses/order_generate_error_422' security: - X-API-Key: [] summary: Create Order Token tags: - Orders /v1/merchant/statement: post: description: Get a pre-signed URL for the requested statement file. operationId: getStatements requestBody: $ref: '#/components/requestBodies/statements_view' responses: '200': $ref: '#/components/responses/statements_view' '403': $ref: '#/components/responses/statements_view_error_403' '404': $ref: '#/components/responses/statements_view_error_404' '422': $ref: '#/components/responses/statements_view_error_422' security: - X-API-Key: - X-API-Key summary: Fetch a Statement tags: - Statements /v1/merchant/track_shipment: post: description: | Send the carrier and order tracking number to Bolt (after a label has been printed). Bolt then uses EasyPost to forward ongoing tracking event updates to the shopper. This request must include **all** items included in the shipment; their references must also match those found in the original cart generation. operationId: trackOrder requestBody: $ref: '#/components/requestBodies/order_track' responses: '200': $ref: '#/components/responses/order_track' '400': $ref: '#/components/responses/order_track_error_400' '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Generic Error Schema security: - X-API-Key: - X-API-Key summary: Send order tracking details tags: - Orders /v1/merchant/transactions/authorize: post: description: | This endpoint authorizes card payments and has three main use cases: * • Authorize a payment using an unsaved payment method for a guest or logged-in shopper. * • Authorize a payment using a saved payment method for a logged-in shopper. * • Re-charge a previous transaction using the `credit_card_id` of the transaction. operationId: authorizeTransaction parameters: - $ref: '#/components/parameters/x-publishable-key' - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/merchant_credit_card_authorization' - $ref: '#/components/schemas/merchant_credit_card_authorization_recharge' description: | **Authorize a Transaction** * • `merchant_credit_card_authorization`: For authorizing with a new, unsaved card. This can be for a guest checkout flow, one-time payment, or an existing Bolt shopper. * • `merchant_credit_card_authorization_recharge`: For authorizing a card using a shoppers saved payment methods. * • **Anytime the shopper is paying while logged-in attach their OAuth `access_token` to the request.** responses: '200': content: application/json: schema: $ref: '#/components/schemas/i_authorize_result_view' description: Authorization Successful security: - OAuth: [] X-API-Key: [] summary: Authorize a Card tags: - Transactions /v1/merchant/transactions/capture: post: description: | This captures funds for the designated transaction. A capture can be done for any partial amount or for the total authorized amount. Although the response returns the standard `transaction_view` object, only `captures` and either `id` or `reference` are needed. operationId: captureTransaction parameters: - $ref: '#/components/parameters/idempotency_key' requestBody: $ref: '#/components/requestBodies/capture_transaction' description: Capture a Transaction responses: '200': content: application/json: schema: $ref: '#/components/schemas/transaction_view' description: Capture Successful '403': $ref: '#/components/responses/transaction_capture_error_403' '404': $ref: '#/components/responses/transaction_capture_error_404' '422': content: application/json: schema: properties: errors: items: properties: code: example: 1000001 type: number field: example: transaction_id type: string message: example: '`TA8hLkJh4db4JJ` must be a valid public id of type transaction' type: string type: object type: array result: type: object type: object description: Unprocessable Entity security: - X-API-Key: [] summary: Capture a Transaction tags: - Transactions /v1/merchant/transactions/credit: post: description: This refunds a captured transaction. Refunds can be done for any partial amount or for the total authorized amount. These refunds are processed synchronously and return information about the refunded transaction in the standard `transaction_view` object. operationId: refundTransaction parameters: - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/transaction_credit' description: Refund a Transaction responses: '200': content: application/json: schema: $ref: '#/components/schemas/transaction_view' description: Refund Successful '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Generic Error Schema security: - X-API-Key: [] summary: Refund a Transaction tags: - Transactions /v1/merchant/transactions/review: post: description: This endpoint is used to manually approve or reject orders for a specified transaction. operationId: reviewTransaction parameters: - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/merchant_credit_card_review' description: Review a Transaction responses: '200': content: application/json: schema: $ref: '#/components/schemas/transaction_details_view' description: Transaction Details Received '403': $ref: '#/components/responses/transaction_review_error_403' '404': $ref: '#/components/responses/transaction_review_error_404' '422': $ref: '#/components/responses/transaction_review_error_422' security: - X-API-Key: [] summary: Review Transaction tags: - Transactions /v1/merchant/transactions/void: post: description: | This voids the authorization for a given transaction. Voids must be completed before the authorization is captured. In the request, either `transaction_id` or `transaction_reference` is required. Although the response returns the standard `transaction_view` object, only `status` and either `id` or `reference` are needed. operationId: voidTransaction parameters: - $ref: '#/components/parameters/idempotency_key' requestBody: content: application/json: schema: $ref: '#/components/schemas/credit_card_void' description: Void a Transaction responses: '200': content: application/json: schema: $ref: '#/components/schemas/transaction_view' description: Void Successful '403': $ref: '#/components/responses/transaction_void_error_403' '404': $ref: '#/components/responses/transaction_void_error_404' security: - X-API-Key: [] summary: Void a Transaction tags: - Transactions /v1/merchant/transactions/{REFERENCE}: get: description: | This allows you to pull the full transaction details for a given transaction. **Note**: All objects and fields marked `required` in the Transaction Details response are also **nullable**. This includes any sub-components (objects or fields) also marked `required`. operationId: getTransactionDetails parameters: - $ref: '#/components/parameters/transaction_reference_path_param' responses: '200': $ref: '#/components/responses/transaction_details' '403': $ref: '#/components/responses/transaction_details_error_403' '422': $ref: '#/components/responses/transaction_details_error_422' security: - X-API-Key: [] summary: Transaction Details tags: - Transactions patch: description: This allows you to update certain transaction properties post-authorization. operationId: updateTransaction requestBody: content: application/json: schema: $ref: '#/components/schemas/transaction_update_input' description: Update a Transaction parameters: - $ref: '#/components/parameters/transaction_reference_path_param' - $ref: '#/components/parameters/idempotency_key' responses: '200': $ref: '#/components/responses/transaction_details' '403': $ref: '#/components/responses/transaction_details_error_403' '404': $ref: '#/components/responses/transaction_details_error_404' security: - X-API-Key: [] summary: Update a Transaction tags: - Transactions /v1/oauth/token: post: description: | Endpoint for receiving access, ID, and refresh tokens from Bolt's OAuth server. To use this endpoint, first use the Authorization Code Request flow by using the `authorization_code` Grant Type (`grant_type`). Then, in the event that you would need a second or subsequent code, use the `refresh_token` value returned from a successful request as the `refresh_token` input value in your subsequent `refresh_token` Grant Type (`grant_type`) request. **Reminder - the Content-Type of this request must be application/x-www-form-urlencoded** operationId: OAuthToken parameters: - $ref: '#/components/parameters/x-publishable-key' requestBody: content: application/x-www-form-urlencoded: examples: authorization_code_request: value: client_id: PUBLISHABLE_KEY_PLACEHOLDER client_secret: API_KEY_PLACEHOLDER code: AUTH_CODE_PLACEHOLDER grant_type: authorization_code scope: bolt.account.manage+openid refresh_token_request: value: client_id: PUBLISHABLE_KEY_PLACEHOLDER client_secret: API_KEY_PLACEHOLDER grant_type: refresh_token refresh_token: REFRESH_TOKEN_PLACEHOLDER scope: bolt.account.view schema: oneOf: - $ref: '#/components/schemas/o_auth_token_input' - $ref: '#/components/schemas/o_auth_token_input_refresh' responses: '200': content: application/json: examples: authorization_code_response: value: access_token: $ACCESS_TOKEN expires_in: 3600 id_token: $ID_TOKEN refresh_token: $REFRESH_TOKEN refresh_token_scope: bolt.account.view scope: bolt.account.manage token_type: bearer refresh_token_response: value: access_token: $NEW_ACCESS_TOKEN expires_in: 3600 refresh_token: $NEW_REFRESH_TOKEN refresh_token_scope: bolt.account.view scope: bolt.account.view token_type: bearer schema: $ref: '#/components/schemas/o_auth_token_response' description: OAuth token response. '400': $ref: '#/components/responses/oauth_400' '403': $ref: '#/components/responses/oauth_403' '422': $ref: '#/components/responses/oauth_422' summary: OAuth Token Endpoint tags: - OAuth /v1/shipments/mock_bolt_shipping: post: description: This endpoint simulates tracking an order's shipment and is for testing purposes only. operationId: testShipping requestBody: content: application/json: schema: $ref: '#/components/schemas/mock_tracking_input' responses: '200': description: Success - No Details '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: OrderTrackingTesting Generic Failure '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: Unprocessable Entity security: - X-API-Key: [] summary: Test Shipping tags: - Testing /v1/webhooks: get: description: Find webhook configurations belonging to a merchant division. Results are limited to only show webhooks authorized by the X-API-Key. operationId: queryWebhooks parameters: - $ref: '#/components/parameters/division_id' responses: '200': content: application/json: schema: properties: webhooks: items: $ref: '#/components/schemas/webhook' type: array description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '403': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: FORBIDDEN. Not authorized to query webhook for this entity. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find webhook. security: - X-API-Key: [] summary: Query Webhooks tags: - Webhooks post: description: | Create a new webhook to receive notifications from Bolt about various events, such as transaction status. Webhooks must have unique configuration. **Transaction & account events**: * `pending` - The payment pre-authorization was successful, and the transaction is now pending fraud review. * `failed_payment` - The payment failed pre-authorization. * `payment` - An automatic capture transaction passed authorization and fraud review, and the system captured the funds. * `auth` - A manual capture transaction passed authorization and fraud review, and you can begin the capture process. * `rejected_irreversible` - The transaction failed fraud review, with no appeal option available. * `rejected_reversible` - The transaction was flagged during fraud review; a re-review can be requested. * `capture` - A manual capture was successful. * `credit` - The system successfully processed a refund or credit. * `void` - The system successfully voided the transaction. * `newsletter_subscription` - The customer subscribed to the merchant's newsletter. * `risk_insights` - Information about the transaction's risk is available from the fraud review. * `credit_card_deleted` - A customer removed a saved credit card from their account. **Subscription events**: * `subscription_created` - A subscription was created from a successful initial transaction. * `subscription_renewed` - A recurring subscription order was placed successfully and the next order was scheduled. * `subscription_canceled` - A subscription was canceled, by the merchant, by the shopper, or automatically (e.g. once its dunning retry schedule is exhausted). Also sent alongside `subscription_ended` when the subscription's configured final dunning action is cancellation. * `subscription_payment_failed` - A scheduled subscription order's payment attempt failed. * `subscription_paused` - A subscription was paused, by the merchant, by the shopper, or automatically once its dunning retry schedule is exhausted (when the configured final dunning action is pausing). * `subscription_unpaused` - A paused subscription was resumed, by the merchant or by the shopper. * `subscription_ended` - A subscription was permanently ended after its dunning retry schedule was exhausted. Sent alongside `subscription_canceled` for this case. operationId: createWebhook requestBody: content: application/json: schema: oneOf: - $ref: '#/components/schemas/event_group_create_webhook' - $ref: '#/components/schemas/events_array_create_webhook' description: Webhook that receives notifications. required: true responses: '200': content: application/json: schema: properties: webhook_id: $ref: '#/components/schemas/webhook_id' required: - webhook_id type: object description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '403': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: FORBIDDEN. Not authorized to create a webhook for this entity. '422': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNPROCESSABLE ENTITY. Not allowed to receive duplicate notifications. This is to safeguard a webhook listener from receiving duplicate events. Use GET /v1/webhooks and DELETE /v1/webhooks to check for and delete duplicate webhooks. security: - X-API-Key: [] summary: Create Bolt Webhook tags: - Webhooks /v1/webhooks/{webhook_id}: delete: description: Delete a Bolt webhook. Provide an authorized X-API-Key to perform this action. operationId: deleteWebhook parameters: - description: Webhook ID in: path name: webhook_id required: true schema: $ref: '#/components/schemas/webhook_id' responses: '200': description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '403': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: FORBIDDEN. Not authorized to perform the operation on this resource. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find webhook. security: - X-API-Key: [] summary: Delete a Bolt Webhook tags: - Webhooks get: description: Get Webhook information by its Webhook ID. Results only include webhooks authorized by the X-API-Key. operationId: getWebhook parameters: - description: Webhook ID in: path name: webhook_id required: true schema: $ref: '#/components/schemas/webhook_id' responses: '200': content: application/json: schema: $ref: '#/components/schemas/webhook' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '403': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: FORBIDDEN. Not authorized to perform the operation on this resource. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find webhook. security: - X-API-Key: [] summary: Get Webhook tags: - Webhooks /v1/subscriptions: get: description: List subscriptions belonging to the authenticated merchant division. Results are limited to only show subscriptions authorized by the X-API-Key and X-Publishable-Key. operationId: getSubscriptions parameters: - $ref: '#/components/parameters/x_publishable_key_required' - $ref: '#/components/parameters/bolt_connect_seller_id_header' - $ref: '#/components/parameters/bolt_connect_seller_id_query' - description: Filter to subscriptions for these subscription product IDs. Comma-separated. in: query name: product_ids required: false schema: type: string - description: Filter to subscriptions on these plan IDs. Comma-separated. in: query name: plan_ids required: false schema: type: string - description: Filter to subscriptions for these shopper emails. Comma-separated. in: query name: emails required: false schema: type: string - description: Filter to subscriptions with these statuses. Comma-separated. in: query name: statuses required: false schema: items: $ref: '#/components/schemas/subscription_v2_status' type: array - description: The page number to retrieve, starting at 1. in: query name: page required: false schema: default: 1 minimum: 1 type: integer - description: The number of subscriptions to return per page. in: query name: page_size required: false schema: default: 400 maximum: 400 minimum: 1 type: integer responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2_list' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. security: - X-API-Key: [] summary: Get Subscriptions tags: - Subscriptions /v1/subscriptions/{subscription_id}: get: description: Get a single subscription by its ID. Results are limited to only show subscriptions authorized by the X-API-Key and X-Publishable-Key. operationId: getSubscription parameters: - $ref: '#/components/parameters/subscription_v2_id_path' - $ref: '#/components/parameters/x_publishable_key_required' responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or invalid values are detected. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find a subscription with this ID for this merchant division. security: - X-API-Key: [] summary: Get Subscription tags: - Subscriptions /v1/subscriptions/{subscription_id}/cancel: post: description: Cancel a subscription. This cancels any of the subscription's orders that are currently `scheduled`, `paused`, or `payment_failed`; no further orders will be placed. operationId: cancelSubscription parameters: - $ref: '#/components/parameters/subscription_v2_id_path' - $ref: '#/components/parameters/x_publishable_key_required' responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2_success' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed, or the subscription is not in a cancellable state. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find a subscription with this ID for this merchant division. security: - X-API-Key: [] summary: Cancel Subscription tags: - Subscriptions /v1/subscriptions/{subscription_id}/pause: post: description: Pause a subscription. This transitions the subscription's next `scheduled` order to `paused`, skipping its next billing cycle. Returns an error if the subscription is already paused. operationId: pauseSubscription parameters: - $ref: '#/components/parameters/subscription_v2_id_path' - $ref: '#/components/parameters/x_publishable_key_required' responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed, or the subscription is already paused. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find a subscription with this ID for this merchant division. security: - X-API-Key: [] summary: Pause Subscription tags: - Subscriptions /v1/subscriptions/{subscription_id}/unpause: post: description: Unpause a previously paused subscription. This computes the next billing date from the plan's frequency and reschedules the subscription's order. Returns an error if the subscription is not currently paused. operationId: unpauseSubscription parameters: - $ref: '#/components/parameters/subscription_v2_id_path' - $ref: '#/components/parameters/x_publishable_key_required' responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed, or the subscription is not currently paused. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. '404': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: NOT FOUND. Unable to find a subscription with this ID for this merchant division. security: - X-API-Key: [] summary: Unpause Subscription tags: - Subscriptions /v1/subscriptions/orders: get: description: List subscription orders (billing cycles) for the authenticated merchant division. operationId: getSubscriptionOrders parameters: - $ref: '#/components/parameters/x_publishable_key_required' - $ref: '#/components/parameters/bolt_connect_seller_id_header' - $ref: '#/components/parameters/bolt_connect_seller_id_query' - description: Filter to orders for these subscription IDs. Comma-separated. in: query name: subscription_ids required: false schema: type: string - description: Filter to orders for these Bolt order IDs. Comma-separated. in: query name: order_ids required: false schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2_order_list' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed, such as a non-numeric value in `order_ids`. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. security: - X-API-Key: [] summary: Get Subscription Orders tags: - Subscriptions /v1/subscriptions/dunning_settings: get: description: Get the merchant division's dunning (failed payment recovery) settings. If the division has never configured these settings, Bolt's defaults are returned. operationId: getDunningSettings parameters: - $ref: '#/components/parameters/x_publishable_key_required' - $ref: '#/components/parameters/bolt_connect_seller_id_header' - $ref: '#/components/parameters/bolt_connect_seller_id_query' responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2_dunning_settings' description: Success '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. security: - X-API-Key: [] summary: Get Dunning Settings tags: - Subscriptions put: description: Update the merchant division's dunning (failed payment recovery) settings. This replaces the full configuration; omitted fields are not merged with the previous settings. operationId: updateDunningSettings parameters: - $ref: '#/components/parameters/x_publishable_key_required' - $ref: '#/components/parameters/bolt_connect_seller_id_header' - $ref: '#/components/parameters/bolt_connect_seller_id_query' requestBody: content: application/json: schema: $ref: '#/components/schemas/subscription_v2_dunning_settings' description: Dunning Settings required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/subscription_v2_dunning_settings' description: Success '400': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: BAD REQUEST. Request is malformed or fails validation, e.g. `final_action` is not one of `cancel`/`pause`, `retry_schedule_hours` is not strictly increasing, or `reminder_lead_days` has more than 10 entries. '401': content: application/json: schema: $ref: '#/components/schemas/errors_bolt_api_response' description: UNAUTHORIZED. Missing or invalid X-API-Key or X-Publishable-Key. security: - X-API-Key: [] summary: Update Dunning Settings tags: - Subscriptions /v1/testing/shopper/create: post: description: Create a Bolt shopper account for testing purposes. Available for sandbox use only and the created account will be recycled after a certain time. operationId: createTestingShopperAccount parameters: - $ref: '#/components/parameters/x-publishable-key' requestBody: content: application/json: schema: $ref: '#/components/schemas/testing_account_request' responses: '200': content: application/json: schema: $ref: '#/components/schemas/testing_account_details' description: Testing Account Created security: - X-API-Key: [] summary: Create Testing Shopper Account tags: - Testing /v1/testing/card_token: get: description: This endpoint fetches a new credit card token for Bolt's universal test credit card number `4111 1111 1111 1004`. This is for testing and is available only in sandbox. operationId: getTestCreditCardToken responses: '200': content: application/json: schema: type: object properties: token: description: The newly generated credit card token. type: string example: 7i8322df93jsor663bsf02be798e672afd9360a81d203rc97778ff4bddedertg expiry: description: The date at which the token expires. A token must be used within 15 minutes of creation. type: integer example: 1671140825305 last4: description: The last 4 digits of the card number. type: string example: '1004' bin: description: The credit card bin. type: string example: '411111' network: description: The credit card network. type: string example: visa description: Successfully Fetched Credit Card Token security: - X-API-Key: [] summary: Fetch a Test Credit Card Token tags: - Testing components: parameters: x-publishable-key: description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED]. in: header name: X-Publishable-Key required: false schema: type: string idempotency_key: description: A key created by merchants that ensures `POST` and `PATCH` requests are only performed once. [Read more about Idempotent Requests here](/developers/references/idempotency/). in: header name: Idempotency-Key required: false schema: type: string shopper_address_id_path_param: description: The ID for an address in the shopper's Address Book. in: path name: id required: true schema: type: string email: description: The shopper's email address is the primary mechanism for detecting an account. You **must** provide either a value for this parameter or for `sha256_email`. in: query name: email required: false schema: type: string sha256_email: description: The sha256 hash of the shopper's normalized email address can be used to detect an account instead of `email`. in: query name: sha256_email required: false schema: type: string phone: description: The shopper's phone number. Includes country code (e.g. +1); does not include dashes or spaces. Can be used to detect an account instead of `sha256_email` or `email`. in: query name: phone required: false schema: type: string x_publishable_key_required: description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard. in: header name: X-Publishable-Key required: true schema: type: string shopper_payment_method_id_path_param: description: The ID for a payment method in the shopper's Bolt account Wallet. This ID can be obtained using [Get Account Details](#tag/Account/operation/GetAccountDetails). in: path name: payment_method_id required: true schema: type: string division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard. in: query name: division_id required: true schema: type: string transaction_reference_path_param: description: This is the Bolt transaction reference. (ex. N7Y3-NFKC-VFRF) in: path name: REFERENCE required: true schema: type: string bolt_connect_seller_id_header: description: For Bolt Connect marketplace integrations, the seller's external ID. When provided, the request acts on the seller's division rather than the caller's own division. Ignored if the `seller_id` query parameter is also set. in: header name: X-Bolt-Connect-Seller-Id required: false schema: type: string bolt_connect_seller_id_query: description: For Bolt Connect marketplace integrations, the seller's external ID. When provided, the request acts on the seller's division rather than the caller's own division. Takes precedence over the `X-Bolt-Connect-Seller-Id` header if both are set. in: query name: seller_id required: false schema: type: string subscription_v2_id_path: description: The unique ID for the subscription. in: path name: subscription_id required: true schema: $ref: '#/components/schemas/subscription_v2_id' bolt-consumer-shopper-login-device-token: description: The Shopper's OAuth Token from their current active session. in: header name: bolt_consumer_shopper_login_device_token required: true schema: type: string bolt_hmac_param: description: Bolt sends a signed HMAC for hook verification in: header name: X-Bolt-Hmac-Sha256 schema: type: string bolt_product_id: description: Bolt's unique identifier for a given product. in: query name: bolt_product_id required: false schema: type: string code: description: A temporary authorization code that must be exchanged for an ID token obtained from Bolt's `/oauth/token` endpoint. in: query name: code required: true schema: type: string cursor: description: The url of the next product variant to load when multiple variants are returned and paginated. in: query name: cursor required: false schema: type: string limit: description: The maximum number of product results returned. in: query name: limit required: false schema: type: string merchant-division-id: description: The public ID for a given merchant division of your Bolt account. in: query name: MerchantDivisionPublicID required: true schema: type: string merchant-id: description: The public ID of the merchant. in: query name: MerchantID required: false schema: type: string merchant_product_id: description: A merchant's unique ID for a given product. in: query name: merchant_product_id schema: type: string order_id: description: The order token associated to the shopper logging into a Bolt Account. in: query name: order_id required: true schema: type: string scope: description: Set to `openid`. in: query name: scope required: true schema: type: string sku: description: A product's sku. in: query name: sku required: false schema: type: string state: description: A randomly generated 8-character string. in: query name: state required: true schema: type: string x-authorization-signature: description: Generated signature after using the signing secret and nonce by the publisher. in: header name: X-Authorization-Signature required: true schema: type: string x-publisher-key: description: Unique identifier for the publisher. in: header name: X-Publisher-Key required: true schema: type: string x_authorization_signature: description: Generated signature after using the signing secret and nonce by the publisher. in: header name: X-Authorization-Signature required: true schema: type: string x_nonce_param: description: Unique 12-16 digit for a publisher or product catalog request. in: header name: X-Nonce required: true schema: format: uuid type: string x_publishable_key: description: The publicly viewable identifier used to identify a merchant division. This key is found in the Developer > API section of the Bolt Merchant Dashboard [RECOMMENDED]. in: header name: X-Publishable-Key required: false schema: type: string x_publisher_key: description: Unique identifier for the publisher. in: header name: X-Publisher-Key required: true schema: type: string schemas: door_code: description: The building door code or community gate code. example: '123456' maxLength: 1024 nullable: true type: string email: description: An email address. example: alan.watts@example.com format: email type: string maxLength: 255 phone: description: A phone number following E164 standards, in its globalized format, i.e. prepended with a plus sign. example: '+12125550199' maxLength: 16 type: string address_view: description: The address object returned in the response. properties: company: description: The company name associated with this address. example: Bolt type: string country: description: The name of the country associated with this address. example: United States type: string country_code: description: The ISO 3166-1 alpha-2 country code associated with this address. example: US type: string door_code: $ref: '#/components/schemas/door_code' email_address: description: The email address associated with this address. $ref: '#/components/schemas/email' first_name: description: The given name of the person associated with this address. example: Alan type: string id: description: The unique Bolt ID associated with this address. type: string last_name: description: The surname of the person associated with this address. example: Watts type: string locality: description: The city name details associated with this address. example: Brooklyn type: string name: description: The given and surname of the person associated with this address. example: Alan Watts type: string phone_number: description: The phone number associated with this address. $ref: '#/components/schemas/phone' postal_code: description: The postal or zip code associated with this address. example: '10044' maxLength: 32 type: string priority: description: The shopper-indicated priority of this address compared to other addresses on their account. example: primary nullable: true type: string enum: - primary - listed region: description: The region details such as state or province associated with this address. example: NY type: string region_code: description: The the ISO 3166-2 region code associated with this address. example: NY nullable: true type: string street_address1: description: The street number and street name of the address. example: 888 main street type: string street_address2: description: Any apartment, floor, or unit details. example: apt 3021 type: string street_address3: description: Any additional street address details. example: c/o Alicia Watts nullable: true type: string street_address4: description: Any additional street address details. example: Bridge Street Apartment Building B nullable: true type: string type: object shopper_metadata: description: | A key-value pair object that allows users to store arbitrary information associated with an object. For any individual account object, we allow up to 50 keys. Keys can be up to 40 characters long and values can be up to 500 characters long. Metadata should not contain any sensitive customer information, like PII (Personally Identifiable Information). For more information about metadata, see our [documentation](https://help.boltapp.com/developers/references/embedded-metadata/). nullable: true example: customer_id: 234 properties: additionalProperties: type: string type: object account_details_address_view: description: The address object returned in the response. allOf: - $ref: '#/components/schemas/address_view' - type: object properties: default: description: The default shipping address chosen by the shopper. type: boolean metadata: $ref: '#/components/schemas/shopper_metadata' card_last4: description: The card's last 4 digits. **Nullable** for Transactions Details. example: '4021' maxLength: 4 minLength: 4 type: string card_network: description: | The card's network code. **Nullable** for Transactions Details. Note: LEGACY diners_club_us_ca now tagged as mastercard enum: - visa - mastercard - amex - discover - dinersclub - jcb - unionpay - alliancedata - citiplcc - unknown example: visa type: string saved_credit_card_view: properties: billing_address: $ref: '#/components/schemas/address_view' id: description: The ID of the payment method associated with the Shopper's account. type: string last4: $ref: '#/components/schemas/card_last4' exp_month: description: The expiration month of the credit card. example: 11 maxLength: 2 minLength: 1 type: integer exp_year: description: The expiration year of the credit card. example: 2024 maxLength: 4 minLength: 4 type: integer network: $ref: '#/components/schemas/card_network' default: description: The default card payment method chosen by the shopper. type: boolean type: description: The payment method type. If empty, the property defaults to `card`. enum: - card - paypal type: string description: description: The APM account identifier; usually the email address. type: string metadata: $ref: '#/components/schemas/shopper_metadata' type: object description: Saved Credit Card Detail saved_paypal_account_view: properties: id: description: The ID of the payment method associated with the Shopper's account. type: string type: description: Type field indicates this is a saved PayPal to differentiate it from a saved card. enum: - paypal type: string description: description: The email associated with a shopper's saved PayPal account. type: string metadata: $ref: '#/components/schemas/shopper_metadata' type: object description: Saved PayPal account details. profile_view: description: The shopper's account profile. properties: email: $ref: '#/components/schemas/email' first_name: description: The given name of the person associated with this record. example: Alan type: string last_name: description: The surname of the person associated with this record. example: Watts type: string metadata: $ref: '#/components/schemas/shopper_metadata' name: description: The given and surname of the person associated with this address. example: Alan Watts type: string phone: $ref: '#/components/schemas/phone' type: object account_details: properties: addresses: description: A list of all addresses associated to the shopper's account. items: $ref: '#/components/schemas/account_details_address_view' type: array has_bolt_account: description: Used to determine whether a Bolt Account exists with this shopper's account details. type: boolean payment_methods: description: A list of all payment methods associated to the shopper's account. items: oneOf: - $ref: '#/components/schemas/saved_credit_card_view' - $ref: '#/components/schemas/saved_paypal_account_view' type: array profile: $ref: '#/components/schemas/profile_view' type: object address: description: The Address object is used for billing, shipping, and physical store address use cases. properties: company: description: The company name associated with this address. example: Bolt maxLength: 1024 type: string country: description: The name of the country associated with this address. example: United States maxLength: 1024 type: string country_code: description: The ISO 3166-1 alpha-2 country code associated with this address. example: US maxLength: 2 minLength: 2 type: string default: description: Whether the added address is now the default address. example: true type: boolean door_code: $ref: '#/components/schemas/door_code' email: description: The email address associated with this address. $ref: '#/components/schemas/email' first_name: description: The given name of the person associated with this address. example: Alan maxLength: 1024 type: string last_name: description: The surname of the person associated with this address. example: Watts maxLength: 1024 type: string locality: description: The city name details associated with this address. example: Brooklyn maxLength: 1024 type: string name: description: The given and surname of the person associated with this address. example: Alan Watts maxLength: 1024 type: string phone: description: The phone number associated with this address. $ref: '#/components/schemas/phone' postal_code: description: The the postal or zip code associated with this address. example: '10044' maxLength: 32 type: string region: description: '**Not Required for NON US addresses**. The region details such as state or province associated with this address.' example: NY maxLength: 1024 type: string region_code: description: | The ISO 3166-2 region code associated with this address. - * If specified, value must be valid for the `country`. - * If null, value is inferred from the `region`. example: NY maxLength: 1024 nullable: true type: string street_address1: description: The street number and street name of the address. example: 888 main street maxLength: 1024 type: string street_address2: description: Any apartment, floor, or unit details. example: apt 3021 maxLength: 1024 type: string street_address3: description: Any additional street address details. example: c/o Alicia Watts maxLength: 1024 nullable: true type: string street_address4: description: Any additional street address details. example: Bridge Street Apartment Building B maxLength: 1024 nullable: true type: string required: - street_address1 - locality - region - country_code - postal_code - email - first_name - last_name type: object address_account: allOf: - $ref: '#/components/schemas/address' - properties: default: description: Set this to true to make this the default shipping address. There can be only one address with default set to true. type: boolean metadata: $ref: '#/components/schemas/shopper_metadata' type: object type: object credit_card_account: description: | The `credit_card` object is used to to pay for guest checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions. properties: billing_address: $ref: '#/components/schemas/address' billing_address_id: description: | The unique Bolt ID associated with a saved shopper address. This can be obtained by accessing a shopper's account details. If you use this field, you do not need to use `billing_address`. example: null nullable: true type: string bin: description: The Bank Identification Number for the credit card. This is typically the first 4-6 digits of the credit card number. maxLength: 6 minLength: 4 type: string example: 411111 cryptogram: type: string eci: type: string expiration: description: The expiration date of the credit card. example: 2025-11 type: string last4: description: The last 4 digits of the credit card number. example: '1234' maxLength: 4 minLength: 4 type: string metadata: $ref: '#/components/schemas/shopper_metadata' network: enum: - visa - mastercard - amex - discover - dinersclub - jcb - unionpay - alliancedata - citiplcc - unknown type: string number: description: Used to provide ApplePay DPAN or private label credit card PAN when applicable. Required when charging a private label credit card. type: string postal_code: description: Used for the postal or zip code associated with the credit card. example: '10044' maxLength: 32 type: string priority: description: | Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card. enum: - 1 - 2 type: integer save: description: | Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`. type: boolean token: description: The Bolt token associated to the credit card. example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 type: string token_type: description: | Used to define which payment processor generated the token for this credit card. For those using Bolt's tokenizer, the value must be `bolt`. enum: - vantiv - applepay - bolt - stripe - plcc example: bolt type: string required: - token - expiration - billing_address type: object payment_method_account: allOf: - $ref: '#/components/schemas/credit_card_account' - properties: default: description: Set this to true to make this the default payment method. There can be only one payment method with default set to true. type: boolean type: object type: object profile: description: The first name, last name, email address, and phone number of a shopper. properties: email: description: The email of the person associated with this profile. $ref: '#/components/schemas/email' first_name: description: The given name of the person associated with this record. example: Alan type: string last_name: description: The surname of the person associated with this record. example: Watts type: string metadata: $ref: '#/components/schemas/shopper_metadata' phone: description: The phone number of the person associated with this profile. $ref: '#/components/schemas/phone' required: - first_name - last_name - email type: object create_account_input: description: The details needed to create a Bolt account. properties: addresses: description: A list of physical shipping addresses associated with this account. items: $ref: '#/components/schemas/address_account' type: array payment_methods: description: A list of payment methods associated with this account. items: $ref: '#/components/schemas/payment_method_account' type: array profile: $ref: '#/components/schemas/profile' required: - profile type: object update_profile: description: The profile fields that can be updated for a shopper. properties: first_name: description: The given name of the person associated with this record. example: Alan type: string last_name: description: The surname of the person associated with this record. example: Watts type: string metadata: $ref: '#/components/schemas/shopper_metadata' type: object address_view_account: description: The address object returned in the response. allOf: - $ref: '#/components/schemas/address_view' - properties: metadata: $ref: '#/components/schemas/shopper_metadata' type: object v1_accounts_view: properties: has_bolt_account: type: boolean type: object code: description: Custom-defined Bolt error code. This can be used to programmatically react to specific errors. example: 2001005 format: int64 type: integer message: description: Human-readable description of the error for developers. Should not be shown to users and is not localized. example: The input is missing a required parameter. type: string error_bolt_api: properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/message' type: object description: Error object containing custom error information errors_bolt_api: items: $ref: '#/components/schemas/error_bolt_api' type: array request_failed: example: false type: boolean description: Indicates that the request failed. This value is always false. request_result: description: Custom-defined Bolt result object. properties: success: $ref: '#/components/schemas/request_failed' type: object errors_bolt_api_response: properties: errors: $ref: '#/components/schemas/errors_bolt_api' result: $ref: '#/components/schemas/request_result' type: object merchant_callback_url_type: description: Bolt merchant division callback URL type enum: - oauth_redirect - oauth_logout - get_account - create_order - universal_merchant_api - shipping - tax - update_cart - debug - remote_api - product_info - support_page - account_page - mobile_app_domain - validate_additional_account_data - terms_of_service - privacy_policy - base_domain - confirmation_redirect type: string merchant_callbacks_view: properties: callback_urls: description: List of callback URLs retrieved example: - type: oauth_redirect url: https://example.com/1 - type: oauth_logout url: https://example.com/2 - type: get_account url: https://example.com/3 items: properties: type: $ref: '#/components/schemas/merchant_callback_url_type' url: description: The full callback URL. type: string type: object type: array type: object merchant_callbacks_input: properties: callback_urls: description: List of callback URLs to configure example: - type: oauth_redirect url: https://example.com/1 - type: oauth_logout url: https://example.com/2 - type: get_account url: https://example.com/3 items: properties: type: $ref: '#/components/schemas/merchant_callback_url_type' url: description: The full callback URL. type: string required: - url - type type: object type: array division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`. example: 3X9aPQ67-YrB type: string required: - division_id - callback_urls type: object merchant_divisions_identifiers_view: items: properties: division_id: description: The public ID of this division. example: IraJdeIgmdsO type: string publishable_key: description: The publishable key tied to this division. example: 8fd9diIy59sj.IraJdeIgmdsO.fd233434fg2c616cgo932aa6e1e4fc627a9385045gr395222a127gi93c595rg4 type: string type: object type: array merchant_identifiers_view: properties: merchant_divisions: $ref: '#/components/schemas/merchant_divisions_identifiers_view' merchant_id: description: The public ID of this merchant. example: 8fd9diIy59sj type: string signing_secret: description: Bolt generates one secret key per merchant and uses it to securely sign requests. example: xf833434fg2cffos92632aa6e1e4fc627a9385045gdj937fg2a127gi93cgos873 type: string type: object cart_add_on: description: A list of up to 3 add-ons that are displayed to the shopper. properties: description: description: The description of the product being displayed as an add on. maxLength: 256 type: string imageUrl: description: The URL of the image displayed for the add on product. maxLength: 1024 type: string name: description: The name of the product being displayed as an add on. maxLength: 256 type: string price: description: The price of the product add on in cents (1/100). format: int64 type: number productId: description: The the ID of the product being displayed as an add on. maxLength: 256 type: string productPageUrl: description: The URL to the product page of the product being displayed as an add on. maxLength: 1024 type: string required: - name - productId - price type: object cart_discount: properties: amount: example: 100 type: number code: example: SUMMER10DISCOUNT maxLength: 1024 type: string description: description: Used to define the discount offering. example: 10% off our summer collection maxLength: 1024 type: string details_url: description: Used to provide a link to additional details, such as a landing page, associated with the discount offering. example: https://boltswagstore.com/SUMMERSALE maxLength: 8192 type: string discount_category: enum: - coupon - giftcard - managed_giftcard - store_credit - automatic_promotion - membership_discount - membership_giftcard - subscription_discount - rewards_discount - shipping_discount - unknown type: string reference: description: Used to define the reference ID associated with the discount available. example: DISC-1234 maxLength: 1024 type: string type: description: The type of discount. enum: - fixed_amount - percentage - free_shipping example: percentage type: string type: object cart_fee: properties: reference: description: Unique reference used to identify the fee. example: ItemFee maxLength: 1024 nullable: false type: string name: description: Name of the fee that will appear in the order ledger. example: Item Fee maxLength: 1024 nullable: true type: string description: description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee. example: Item Fee maxLength: 1024 nullable: true type: string unit_price: format: int64 nullable: false type: number unit_tax_amount: format: int64 nullable: false type: number quantity: format: int64 nullable: false type: number required: - reference - name - unit_price - unit_tax_amount - quantity type: object collection: example: summer type: string collections: items: $ref: '#/components/schemas/collection' type: array cart_item_customization: properties: attributes: additionalProperties: type: string example: key1: value1 key2: value2 type: object name: type: string price: example: 754 format: int64 type: number type: object i_cart_item_external_inputs: properties: shopify_line_item_reference: format: int64 type: number shopify_product_reference: format: int64 type: number shopify_product_variant_reference: format: int64 type: number type: object cost: description: The cost in cents. example: 770 type: integer merchant_product_id: description: The merchant's unique ID for the product. example: '881' type: string gift_options_message: description: Includes the gift message written by the shopper. example: Happy Anniversary, Smoochy Poo! type: string gift_options_wrap: description: Defines whether gift wrapping was requested. example: false type: boolean cart_item_gift_option: description: Contains the gift option settings for wrapping and custom messages. properties: cost: $ref: '#/components/schemas/cost' merchant_product_id: $ref: '#/components/schemas/merchant_product_id' message: $ref: '#/components/schemas/gift_options_message' wrap: $ref: '#/components/schemas/gift_options_wrap' type: object merchant_variant_id: description: A merchant's unique ID for a given product's specific variant. example: '888' type: string cart_item_property: properties: color: maxLength: 1024 type: string display: type: boolean name: maxLength: 1024 type: string name_id: format: int64 type: number value: maxLength: 1024 type: string value_id: format: int64 type: number type: object carrier: description: The name of the carrier selected. example: FedEx type: string discount_membership: description: Defines if shopper has a membership discount. example: false type: boolean estimated_delivery_date: description: The estimated delivery date. example: 08-30-2022 type: string expedited: description: True if shipment is expedited. example: false type: boolean depth: description: The depth. example: 90 type: integer dimension_unit: description: The unit of measurement for an item's dimensions. example: cm type: string height: description: The height. example: 103 type: integer package_type: description: The type of package. example: A big package. type: string weight_unit: description: The unit of measurement for an item's weight. example: kg type: string width: description: The width. example: 222 type: integer service: description: The service name. example: Option 1 type: string shipping_address_id: description: ID for billing address example: address1 type: string shipping_method: description: The name of the shipping method. example: unknown type: string signature: description: The signature. example: a1B2s3dC4f5g5D6hj6E7k8F9l0 type: string tax_amount: description: Tax amount in cents. example: 230 type: integer tax_code: description: The relevant tax code. example: tax-12345 type: string cart_shipment_type: description: The type corresponding to this shipment, if applicable. example: door_delivery enum: - door_delivery - in_store_pickup - ship_to_store - ship_to_home_only - unknown type: string cart_shipment: description: A cart that is being prepared for shipment properties: carrier: $ref: '#/components/schemas/carrier' cost: $ref: '#/components/schemas/cost' discounted_by_membership: $ref: '#/components/schemas/discount_membership' estimated_delivery_date: $ref: '#/components/schemas/estimated_delivery_date' expedited: $ref: '#/components/schemas/expedited' package_depth: $ref: '#/components/schemas/depth' package_dimension_unit: $ref: '#/components/schemas/dimension_unit' package_height: $ref: '#/components/schemas/height' package_type: $ref: '#/components/schemas/package_type' package_weight_unit: $ref: '#/components/schemas/weight_unit' package_width: $ref: '#/components/schemas/width' service: $ref: '#/components/schemas/service' shipping_address: $ref: '#/components/schemas/address' shipping_address_id: $ref: '#/components/schemas/shipping_address_id' shipping_method: $ref: '#/components/schemas/shipping_method' signature: $ref: '#/components/schemas/signature' tax_amount: $ref: '#/components/schemas/tax_amount' tax_code: $ref: '#/components/schemas/tax_code' total_weight: description: The total weight. example: 55 type: integer total_weight_unit: $ref: '#/components/schemas/weight_unit' type: $ref: '#/components/schemas/cart_shipment_type' type: object cart_item: properties: brand: example: Bolt maxLength: 1024 nullable: true type: string category: description: Used to define a product category associated with the item. example: bags maxLength: 1024 nullable: true type: string collections: $ref: '#/components/schemas/collections' color: description: Used to define the color of the item. example: Bolt Blue maxLength: 1024 nullable: true type: string customizations: items: $ref: '#/components/schemas/cart_item_customization' type: array description: example: Large tote with Bolt logo. nullable: true type: string details_url: description: Used to provide a link to the item's product page. example: https://boltswagstore.com/products/123456 maxLength: 8192 type: string external_inputs: $ref: '#/components/schemas/i_cart_item_external_inputs' gift_option: $ref: '#/components/schemas/cart_item_gift_option' image_url: description: Used to provide a link to the image associated with the item. example: https://boltswagstore.com/products/123456/images/1.png maxLength: 8192 type: string isbn: description: Used to define the International Standard Book Number associated with the book. example: '9780091347314' maxLength: 1024 nullable: true type: string item_group: nullable: true type: string manufacturer: description: Used to define the organization that manufactured the item. example: Bolt Textiles USA maxLength: 1024 nullable: true type: string merchant_product_id: $ref: '#/components/schemas/merchant_product_id' merchant_variant_id: $ref: '#/components/schemas/merchant_variant_id' msrp: format: int64 nullable: true type: number name: example: Bolt Swag Bag maxLength: 1024 minLength: 1 type: string options: example: Special Edition maxLength: 1024 nullable: true type: string properties: items: $ref: '#/components/schemas/cart_item_property' type: array quantity: example: 1 format: int64 maximum: 15000 type: number reference: example: item_100 maxLength: 1024 type: string shipment: $ref: '#/components/schemas/cart_shipment' shipment_type: enum: - unknown - door_delivery - ship_to_store - in_store_pickup type: string size: description: Used to define the size of the item. example: Large maxLength: 1024 nullable: true type: string sku: description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue. example: BOLT-SKU_100 maxLength: 1024 nullable: true type: string source: nullable: true type: string seller_id: description: The unique identifier for the seller within the marketplace ecosystem. This field ensures deterministic multi-party payout calculations. example: seller-1234 maxLength: 1024 nullable: true type: string tags: description: Used to define a comma-separated list of tags associated with the item. example: tote, blue, linen, eco-friendly maxLength: 1024 nullable: true type: string tax_amount: description: The tax amount for the item; this value should scale with the quantity of units selected. example: 0 format: int64 nullable: true type: number tax_code: maxLength: 32 nullable: true type: string taxable: nullable: true type: boolean total_amount: description: The total amount, in cents, of the item including its taxes if applicable. example: 1000 format: int64 type: number type: enum: - unknown - digital - physical - bundled type: string unit_price: description: The price of one unit of the item; for example, the price of one pack of socks. example: 1000 format: int64 type: number uom: description: Used to define the unit of measure used to describe the item. example: inches maxLength: 1024 nullable: true type: string upc: description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide. example: '0825764603119' maxLength: 1024 nullable: true type: string weight: example: 10 format: int64 maximum: 10000 nullable: true type: number weight_unit: example: pounds maxLength: 1024 nullable: true type: string required: - reference - name - total_amount - unit_price - quantity type: object digital_delivery: properties: email: type: string phone: type: string type: object in_store_cart_shipment: properties: cart_shipment: $ref: '#/components/schemas/cart_shipment' description: description: Shipment option description. example: Pick up in-store at 123 Main St. type: string distance: example: 3 format: float64 type: number distance_unit: enum: - km - mile example: mile type: string in_store_pickup_address: $ref: '#/components/schemas/address' pickup_window_close: format: date type: integer pickup_window_open: format: date type: integer store_name: description: The local store's name where the item can be picked up. example: Bolt Collective type: string type: object fulfillment: description: Defines the shipments associated with the cart items. properties: cart_items: items: $ref: '#/components/schemas/cart_item' type: array cart_shipment: $ref: '#/components/schemas/cart_shipment' digital_delivery: $ref: '#/components/schemas/digital_delivery' in_store_cart_shipment: $ref: '#/components/schemas/in_store_cart_shipment' type: enum: - physical_door_delivery - physical_ship_to_store - physical_in_store_pickup - digital_download - digital_no_delivery type: string type: object cart_loyalty_rewards: properties: amount: description: The reward amount in cents (1/100). format: int64 type: number coupon_code: description: The loyalty reward's coupon code. type: string description: description: A description of the loyalty reward that will be shown to the shopper. type: string example: $5 off (100 Points) details: description: Internal-facing metadata for the Loyalty Rewards. Ideal for adding any other identifying information about the reward, including a duplication of the original loyalty reward json response from the loyalty provider as shown in the example provided. If you choose to use this field to hold json, enclose the content in single quotes to force a string value. type: string example: '{"id": 123456, "icon": "fa-dollar", "name": "$15.00 Off", "type": "Coupon", "amount": 100, "duration": "single_use", "cost_text": "150 Points", "description": "Get $15 off your next purchase for 150 points", "discount_type": "fixed_amount", "unrendered_name": "$15.00 Off", "discount_percentage": null, "discount_rate_cents": null, "discount_value_cents": null, "discount_amount_cents": 1500, "unrendered_description": "Get $15 off your next purchase for 150 points", "applies_to_product_type": "ALL"}' points: description: The number of points needed for this reward. format: int64 type: number source: description: The loyalty rewards provider. type: string type: description: The type of loyalty reward. type: string type: object base_cart: description: The base_cart object contains the core details typically found in most cart objects, including items, discounts, amount totals, shipments, and in-store pickups. properties: add_ons: items: $ref: '#/components/schemas/cart_add_on' type: array billing_address: $ref: '#/components/schemas/address' discounts: items: $ref: '#/components/schemas/cart_discount' type: array fees: items: $ref: '#/components/schemas/cart_fee' type: array fulfillments: items: $ref: '#/components/schemas/fulfillment' type: array in_store_cart_shipments: items: $ref: '#/components/schemas/in_store_cart_shipment' type: array items: description: The list of items associated with the cart. items: $ref: '#/components/schemas/cart_item' type: array loyalty_rewards: items: $ref: '#/components/schemas/cart_loyalty_rewards' type: array shipments: items: $ref: '#/components/schemas/cart_shipment' type: array tax_amount: description: The total tax amount for all of the items associated with the cart. format: int64 type: number total_amount: description: The total amount, in cents, of the cart including its items and taxes (if applicable), e.g. $9.00 is 900. This total must match the sum of all other amounts. example: 900 format: int64 type: number required: - total_amount type: object cart_create: allOf: - $ref: '#/components/schemas/base_cart' - properties: cart_url: description: Used to provide a link to the cart ID. example: https://boltswagstore.com/orders/123456765432 maxLength: 8192 type: string currency: example: USD type: string display_id: description: This field, although required, can be an empty string. example: displayid_100 maxLength: 128 type: string metadata: additionalProperties: type: string description: Optional custom metadata. example: key1: value1 key2: value2 type: object order_description: description: Used optionally to pass additional information like order numbers or other IDs as needed. example: 'Order #1234567890' maxLength: 1024 type: string order_reference: description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction. example: order_100 type: string required: - currency - order_reference type: object i_order_metadata: nullable: true properties: encrypted_user_id: example: ID12345678 type: string type: object seller_split_amounts: description: Defines the financial breakdown for a seller split, including subtotals, discounts, shipping, taxes, and the final gross amount. properties: merchant_subtotal: description: The subtotal amount for the merchant's items in this split, in cents. example: 5000 format: int64 type: number discount_total: description: The total discount amount applied to this seller split, in cents. example: 500 format: int64 type: number shipping_total: description: The total shipping amount for this seller split, in cents. example: 1000 format: int64 type: number tax_total: description: The total tax amount for this seller split, in cents. example: 400 format: int64 type: number gross_total: description: The gross total amount for this seller split, in cents. example: 5900 format: int64 type: number required: - merchant_subtotal - discount_total - shipping_total - tax_total - gross_total type: object marketplace_commission_fee: description: Configures the marketplace commission fee structure for a seller split, supporting both percentage-based and flat fee models. properties: bps: description: The commission fee expressed in basis points (1 bps = 0.01%). For example, 100 bps = 1%, 250 bps = 2.5%. example: 250 format: int64 type: number flat_cents: description: The fixed commission fee amount in cents, applied regardless of transaction value. example: 100 format: int64 type: number metadata: description: Additional contextual information about the commission fee, such as plan type, tier level, or other business rules. additionalProperties: type: string example: plan_type: pro tier: premium nullable: true type: object required: - bps - flat_cents type: object seller_split: description: Defines a seller split configuration for marketplace orders, specifying which items and shipments belong to a seller and how amounts should be calculated and distributed. properties: seller_id: description: The unique identifier for the seller within the marketplace ecosystem. example: seller-1234 type: string amounts: $ref: '#/components/schemas/seller_split_amounts' description: The declarative amounts for this seller split. marketplace_commission_fee: $ref: '#/components/schemas/marketplace_commission_fee' description: The marketplace commission fee structure for this seller split. required: - seller_id - amounts - marketplace_commission_fee type: object order_create: properties: cart: allOf: - $ref: '#/components/schemas/cart_create' - description: The cart_create object is a composite of the base_cart object and additional order details. - required: - order_reference channel: description: Used to determine the channel from which the order was created. enum: - browser - mobile_app type: string create_cart_on_merchant_backend: description: Used to determine whether the order is created on your backend platform. This should almost always be `false`. example: false nullable: true type: boolean metadata: $ref: '#/components/schemas/i_order_metadata' user_note: description: Optionally used by shoppers to make extra requests or provide details for gift messages. example: Happy Birthday to my best friend in the whole world. Enjoy! maxLength: 1024 type: string seller_splits: description: Array of seller splits for marketplace orders. This enables marketplaces to dynamically configure commission fees and payment splits per seller. Each split contains seller identification, scoped line items and shipments, and declarative amount breakdowns. items: $ref: '#/components/schemas/seller_split' nullable: true type: array required: - cart - channel type: object i_currency: properties: currency: example: USD type: string currency_symbol: example: $ type: string type: object amount_view: properties: amount: format: int64 example: 754 type: number currency: example: USD type: string currency_symbol: example: $ type: string type: object i_free_shipping_discount_view: properties: is_free_shipping: type: boolean maximum_cost_allowed: format: int64 type: number type: object i_cart_discount_view: properties: amount: $ref: '#/components/schemas/amount_view' code: description: Discount code used. example: SUMMER10 type: string description: description: Used to define the discount offering. example: 10% off our summer collection maxLength: 1024 type: string details_url: description: Used to provide a link to additional details, such as a landing page, associated with the discount offering. example: https://boltswagstore.com/SUMMERSALE type: string discount_category: enum: - coupon - giftcard - managed_giftcard - store_credit - automatic_promotion - membership_discount - membership_giftcard - subscription_discount - rewards_discount - shipping_discount - unknown type: string free_shipping: $ref: '#/components/schemas/i_free_shipping_discount_view' reference: description: Used to define the reference ID associated with the discount available. example: DISC-1234 type: string type: object i_cart_fee_view: properties: reference: description: Unique reference used to identify the fee. example: ItemFee maxLength: 1024 nullable: false type: string name: description: Name of the fee that will appear in the order ledger. example: Item Fee maxLength: 1024 nullable: true type: string description: description: Description of the fee that will appear in the tooltip if the mouse hovers over the fee. example: Item Fee maxLength: 1024 nullable: true type: string unit_price: $ref: '#/components/schemas/amount_view' unit_tax_amount: $ref: '#/components/schemas/amount_view' quantity: format: int64 nullable: false type: number type: object gift_option_view: description: Defines which gift options are hidden. properties: hide_gift_message: example: false type: boolean hide_gift_wrap: example: false type: boolean type: object cart_item_property_view: properties: color: type: string display: type: boolean name: type: string value: type: string type: object subscription: description: Describes a product added as a recurring subscription. properties: frequency: description: Describes how often the subscription recurs. properties: unit: description: The unit for this subscription's frequency. enum: - day - week - month - year example: month type: string value: description: The value applied to the unit frequency. example: 2 type: integer type: object type: object i_weight: properties: unit: type: string weight: format: int64 type: number type: object i_cart_item_view: properties: bolt_product_id: type: string brand: type: string category: description: Used to define a product category associated with the item. example: bags maxLength: 1024 nullable: true type: string collections: $ref: '#/components/schemas/collections' color: description: Used to define the color of the item. example: Bolt Blue type: string customizations: items: $ref: '#/components/schemas/cart_item_customization' type: array description: type: string details_url: description: Used to provide a link to the item's product page. example: https://boltswagstore.com/products/123456 type: string gift_option: $ref: '#/components/schemas/gift_option_view' hide: type: boolean image_url: description: Used to provide a link to the image associated with the item. example: https://boltswagstore.com/products/123456/images/1.png type: string isbn: description: Used to define the International Standard Book Number associated with the book. example: 9780091347314 maxLength: 1024 nullable: true type: string item_group: type: string manufacturer: description: Used to define the organization that manufactured the item. example: Bolt Textiles USA maxLength: 1024 nullable: true type: string merchant_product_id: type: string merchant_variant_id: type: string msrp: $ref: '#/components/schemas/amount_view' name: type: string options: type: string properties: items: $ref: '#/components/schemas/cart_item_property_view' type: array quantity: example: 1 format: int64 type: number reference: type: string shipment_id: type: string shipment_type: enum: - unknown - door_delivery - ship_to_store - in_store_pickup - ship_to_home_only type: string shopify_line_item_reference: format: int64 type: number shopify_product_reference: format: int64 type: number shopify_product_variant_reference: format: int64 type: number size: description: Used to define the size of the item. example: Large type: string sku: description: Used to define an alpha-numeric Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue. example: BOLT-SKU_100 maxLength: 1024 nullable: true type: string subscription: $ref: '#/components/schemas/subscription' tags: description: Used to define a comma-separated list of tags associated with the item. example: tote, blue, linen, eco-friendly type: string tax_amount: $ref: '#/components/schemas/amount_view' taxable: type: boolean total_amount: $ref: '#/components/schemas/amount_view' type: enum: - unknown - digital - physical - bundled type: string unit_price: $ref: '#/components/schemas/amount_view' uom: description: Used to define the unit of measure used to describe the product. example: inches maxLength: 1024 nullable: true type: string upc: description: Used to define the 12-digit Universal Product Code (a barcode) associated with the item worldwide. example: '0825764603119' maxLength: 1024 nullable: true type: string weight: $ref: '#/components/schemas/i_weight' type: object i_description_part: properties: content: type: string is_html: type: boolean type: object i_description_tooltip: properties: html_content: type: string target: format: int64 type: number type: object i_cart_shipment_view: properties: carrier: description: The carrier used to deliver the shipment. example: USPS maxLength: 1024 type: string cost: $ref: '#/components/schemas/amount_view' default: type: boolean description: items: $ref: '#/components/schemas/i_description_part' type: array description_tooltips: items: $ref: '#/components/schemas/i_description_tooltip' type: array estimated_delivery_date: example: '2022-04-10 16:12:38.386000+00:00' format: date-time type: string expedited: description: Used to determine whether a shipment has been expedited or not. type: boolean gift_options: $ref: '#/components/schemas/gift_option_view' id: type: string package_dimension: properties: depth: format: int64 type: number height: format: int64 type: number unit: type: string width: format: int64 type: number type: object package_type: type: string package_weight: $ref: '#/components/schemas/i_weight' reference: type: string service: type: string shipping_address: $ref: '#/components/schemas/address_view' shipping_method: type: string signature: type: string tax_amount: $ref: '#/components/schemas/amount_view' total_weight: $ref: '#/components/schemas/i_weight' type: type: string type: object i_cart_view: description: This is the cart object returned in a successful response. properties: billing_address: $ref: '#/components/schemas/address_view' cart_url: description: Used to provide a link to the cart ID. example: https://boltswagstore.com/orders/123456765432 maxLength: 8192 type: string currency: $ref: '#/components/schemas/i_currency' discount_amount: $ref: '#/components/schemas/amount_view' discounts: items: $ref: '#/components/schemas/i_cart_discount_view' type: array display_id: example: displayid_100 type: string fee_amount: $ref: '#/components/schemas/amount_view' fees: items: $ref: '#/components/schemas/i_cart_fee_view' type: array items: items: $ref: '#/components/schemas/i_cart_item_view' type: array merchant_order_url: type: string order_description: description: Used optionally to pass additional information like order numbers or other IDs as needed. example: 'Order #1234567890' maxLength: 1024 type: string order_reference: description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction. example: order_100 type: string shipments: items: $ref: '#/components/schemas/i_cart_shipment_view' type: array shipping_amount: $ref: '#/components/schemas/amount_view' subtotal_amount: $ref: '#/components/schemas/amount_view' tax_amount: $ref: '#/components/schemas/amount_view' total_amount: $ref: '#/components/schemas/amount_view' transaction_reference: description: The 12 digit reference ID associated to a given transaction webhook for an order. example: 6CEA-ZME1-DACE maxLength: 12 minLength: 12 type: string type: object i_custom_field_view: properties: checkout_step: enum: - SHIPPING_STEP - DELIVERY_STEP - PAYMENT_STEP - ACCOUNT_REGISTRATION_SSO type: string dynamic: type: boolean context: enum: - CHECKOUT - SSO type: string external_id: type: string field_setup: type: string helper_text: type: string label: type: string position: format: int64 type: number public_id: type: string required: type: boolean subscribeToNewsletter: type: boolean type: object payment_service: enum: - affirm - afterpay - amazon_pay - credova - klarna - paypal - sezzle - radial_klarna - radial_paypal - adyen_gateway - alliance_data - authorize_net - braintree - cardconnect - checkout_com - cybersource - first_data - nmi - orbital - paypal_payflow - radial - rocketgate - shopify_payments - stripe - magentopayment - adyen_payfac - vantiv - google_pay - bolt type: string eligible_payment_method: properties: eligible: type: boolean transaction_processor_type: $ref: '#/components/schemas/payment_service' type: object i_gift_option_view: properties: hide_gift_message: type: boolean hide_gift_wrap: type: boolean type: object i_order_dynamic_content: properties: custom_fields: items: $ref: '#/components/schemas/i_custom_field_view' type: array eligible_payment_methods: items: $ref: '#/components/schemas/eligible_payment_method' type: array gift_option_view: $ref: '#/components/schemas/i_gift_option_view' hide_apm: items: enum: - PAYPAL - AFFIRM - AFTERPAY - AMAZONPAY - KLARNA - RADIALPAYPAL - SEZZLE - RADIALKLARNA - CREDOVA - GOOGLEPAY type: string type: array order_notice: type: string payment_notice: type: string shipping_info_notice: type: string shipping_notice: type: string type: object i_order_external_data: properties: steam_id: type: string type: object i_order_view: properties: cart: $ref: '#/components/schemas/i_cart_view' dynamic_content: $ref: '#/components/schemas/i_order_dynamic_content' external_data: $ref: '#/components/schemas/i_order_external_data' token: type: string user_note: description: Used by shoppers to make extra requests or provide details for gift messages. type: string type: object statements_date: description: This is the date of the statement, in milliseconds since the Unix epoch time. example: 1586480400000 type: integer statements_file_type: description: This is the type of the file. Currently, Bolt only supports CSV statements. enum: - csv example: csv type: string statements_type: description: | The time period and statement type: * [Funding details statement](https://help.boltapp.com/operations/financials/export-funding-detail-statements/) with transactional events: Use `daily_transaction` or `monthly_transaction` * [Bank transfer statement](https://help.boltapp.com/operations/financials/export-bank-transfer-statements/) with settlement and funding events: Use `daily_funding` * [Dispute statement](https://help.boltapp.com/operations/disputes/dispute-statements/#how-to-read-dispute-statements): Use `monthly_dispute` enum: - daily_transaction - monthly_transaction - daily_funding - monthly_dispute example: daily_transaction type: string statements_url: description: | This is the pre-signed URL of the requested statement. The URL has an expiration period of 5 minutes. Sharing the URL implies sharing the statement and its contents, please be careful. example: https://bolt-statements-production.s3.us-west-2.amazonaws.com/00_daily_transaction_20200410.csv type: string shipping_carrier: description: the name of the carrier used for shipment. example: UPS type: string order_non_bolt: description: Designates if the order was placed outside of Bolt checkout. example: false type: boolean bolt_product_id: description: Unique ID generated for a product via the products endpoint. example: e2bb0e7e-5625-536f-8ad7-25a26537ee28 type: string brand: description: The name of a brand. example: Bolt Swagstore type: string category: description: A category. example: hats type: string color: description: The color. example: Red type: string metadata_component: properties: key1: example: value1 type: string key2: example: value2 type: string type: object customizations_name: description: The name of the customization. example: Bedazzled type: string amount: description: The amount in cents. **Nullable** for Transactions Details. example: 754 type: integer currency_iso: description: The 3-digit ISO code for the currency. **Nullable** for Transactions Details. example: USD type: string currency_symbol: description: The currency symbol used for the amount. **Nullable** for Transactions Details. example: $ type: string amounts: description: The amount. **Nullable** for Transactions Details. properties: amount: $ref: '#/components/schemas/amount' currency: $ref: '#/components/schemas/currency_iso' currency_symbol: $ref: '#/components/schemas/currency_symbol' required: - amount - currency - currency_symbol type: object item_description: description: A description for the item added to the cart/order. example: ' Large blue satin hat with initials embroidered.' type: string image_url: description: The URL for the item's image. example: https://boltswagstore.com/inventory/hats/red-hat.png type: string isbn: description: A 13-digit identifier for a book item. example: 12-345-678-90123 type: string item_group: description: Enables grouping in the checkout UI. example: Ships Immediately type: string manufacturer: description: The name of a manufacturer. example: Bolt Factory type: string name_item: description: The name of an item. example: Blue Hat type: string options: example: string option type: string item_property: properties: name: example: a-name type: string value: example: a-value type: string type: object item_properties: items: $ref: '#/components/schemas/item_property' type: array quantity: description: The quantity of this item. example: 3 type: integer reference: description: Reference for the object. example: '1123' type: string item_shipment_type: description: The shipment type selected by the shopper. enum: - unknown - door delivery - in_store_pickup - ship_to_store type: string size: description: The size. example: XXL type: string sku: description: The SKU identifier for this item or service. example: SKU-11021 type: string tag: description: A tag example: red type: string taxable: description: Determines if item is taxable. example: true type: boolean type: description: Determines if item is a physical, digital, or bundled good, or if the good type is unknown. enum: - bundled - digital - physical - unknown example: physical type: string weight: description: The weight of an item. example: 22 type: integer total_weight: properties: unit: $ref: '#/components/schemas/weight_unit' weight: $ref: '#/components/schemas/weight' type: object item: description: An item with properties. properties: bolt_product_id: $ref: '#/components/schemas/bolt_product_id' brand: $ref: '#/components/schemas/brand' category: $ref: '#/components/schemas/category' collections: $ref: '#/components/schemas/collections' color: $ref: '#/components/schemas/color' customizations: items: properties: attributes: $ref: '#/components/schemas/metadata_component' name: $ref: '#/components/schemas/customizations_name' price: $ref: '#/components/schemas/amounts' required: - name - price - attributes type: object type: array description: $ref: '#/components/schemas/item_description' details_url: description: The URL for the item's details. example: https://boltswagstore.com/inventory/hats/red-hat.png type: string image_url: $ref: '#/components/schemas/image_url' isbn: $ref: '#/components/schemas/isbn' item_group: $ref: '#/components/schemas/item_group' manufacturer: $ref: '#/components/schemas/manufacturer' name: $ref: '#/components/schemas/name_item' options: $ref: '#/components/schemas/options' properties: $ref: '#/components/schemas/item_properties' quantity: $ref: '#/components/schemas/quantity' reference: $ref: '#/components/schemas/reference' shipment_type: $ref: '#/components/schemas/item_shipment_type' size: $ref: '#/components/schemas/size' sku: $ref: '#/components/schemas/sku' tags: $ref: '#/components/schemas/tag' tax_amount: $ref: '#/components/schemas/amounts' taxable: $ref: '#/components/schemas/taxable' total_amount: $ref: '#/components/schemas/amounts' type: $ref: '#/components/schemas/type' unit_price: $ref: '#/components/schemas/amounts' uom: example: string type: string upc: example: string type: string weight: $ref: '#/components/schemas/total_weight' required: - reference - name - total_amount - unit_price - quantity type: object items: description: A list of items. items: $ref: '#/components/schemas/item' type: array order_tracking_number: description: The carrier's tracking number for the shipment. example: EZ1000000001 type: string transaction_reference: description: The transaction's 12-digit Bolt reference ID. **Nullable** for Transactions Details. example: LBLJ-TWW7-R9VC maxLength: 12 minLength: 12 type: string credit_card: description: The credit_card object is used to to pay for guest-checkout transactions or save payment method details to an account. Once saved, you can reference the credit card with the associated `credit_card_id` for future transactions. Add `billing_address` to this if storing a billing address for a returning shopper. properties: billing_address: $ref: '#/components/schemas/address' bin: description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. maxLength: 6 minLength: 4 type: string example: '411111' expiration: description: The expiration date of the credit card. example: 2025-11 type: string last4: description: The last 4 digits of the credit card number. example: '1234' maxLength: 4 minLength: 4 type: string postal_code: description: Used for the postal or zip code associated with the credit card. example: '10044' maxLength: 32 type: string priority: description: Used to indicate the card's priority. '1' indicates primary, while '2' indicates a secondary card. enum: - 1 - 2 type: integer save: description: Determines whether or not the credit card will be saved to the shopper's account. Defaults to `true`. type: boolean token: description: The Bolt token associated to the credit card. example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 type: string token_type: description: Used to define which payment processor generated the token for this credit card; for those using Bolt's tokenizer, the value must be `bolt`. enum: - bolt example: bolt type: string affirm_vcn_token: description: The checkout token associated with Affirm VCN credit cards. example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 nullable: true type: string required: - token - last4 - bin - expiration - postal_code - token_type type: object transaction_merchant_event_id: description: The reference ID associated with a transaction event (auth, capture, refund, void). This is an arbitrary identifier created by the merchant. Bolt does not enforce any uniqueness constraints on this ID. It is up to the merchant to generate identifiers that properly fulfill its needs. example: dbe0cd5d-3261-41d9-ba61-49e5b9d07567 type: string previous_subscription_id: description: The unique ID associated with to the shopper's previous subscription-based transaction. Leave `null` for standard, non-subscription transactions. example: null nullable: true type: string user_identifier: description: The object containing key lookup IDs associated with the shopper's account, such as the unique email address and phone number. properties: artifact: example: null type: string email: description: The Shopper's email address that is used as a unique ID for the account. This email can be used to detect an account using the `/v1/account/exists` endpoint. $ref: '#/components/schemas/email' email_id: description: The ID associated with the identifying email address for this account. example: null type: string phone: description: The Shopper's phone number that is used to help identify the account owner. This can be passed with the `user_identifier.email` to find and match accounts. $ref: '#/components/schemas/phone' phone_id: description: The ID associated with the identifying phone number for this account. example: null type: string required: - phone type: object first_name: description: The person's first name. example: Charlotte type: string last_name: description: The person's last name. example: Charles type: string user_identity: properties: first_name: $ref: '#/components/schemas/first_name' last_name: $ref: '#/components/schemas/last_name' type: object merchant_credit_card_authorization: description: This request is used for authorizing a new, unsaved card. properties: auto_capture: type: boolean description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured. cart: allOf: - $ref: '#/components/schemas/cart_create' - description: The cart_create object is a composite of the base_cart object and additional order details. create_bolt_account: description: If `true`, the guest shopper is provided a Bolt Account using their email address as its unique ID; if `false`, no information is saved at checkout. type: boolean credit_card: $ref: '#/components/schemas/credit_card' division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`. example: 3X9aPQ67-YrB type: string merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' previous_transaction_id: $ref: '#/components/schemas/previous_subscription_id' processing_initiator: description: | Determines who initiated the transaction (e.g. shopper, merchant) and how they did it (e.g. recurring subscription, on-file card). * `initial_card_on_file` - The first transaction made for a card. The system then saves this card for future transactions. * `initial_recurring` - The first time any card is used to pay for a recurring charge. For example, a subscription. * `stored_cardholder_initiated` - The subsequent (second, third, etc.) transactions a shopper initiates with a stored card. This includes every situation during which a cardholder requests a charge, for example if the cardholder requests a merchant charge their card. * `stored_merchant_initiated` - The subsequent (second, third, etc.) transactions a merchant initiates with a stored card only when the cardholder does not request the charge. For example, when a customer service representative buys on behalf of a shopper or when a business adds funds to a public transit card. * `following_recurring` - The subsequent (second, third, etc.) transactions a card is used to pay for a recurring charge. For example, a subscription. * `cardholder_initiated` - When a cardholder begins a transaction that isn’t stored in Bolt and won’t be stored in Bolt for future transactions. * `recurring` - Any time a card is used to pay for a recurring charge (for example, a subscription). Only use this value when you don’t know if it’s the first recurring charge. enum: - initial_card_on_file - initial_recurring - stored_cardholder_initiated - stored_merchant_initiated - following_recurring - cardholder_initiated - recurring type: string shipping_address: $ref: '#/components/schemas/address' source: enum: - direct_payments type: string user_identifier: $ref: '#/components/schemas/user_identifier' user_identity: $ref: '#/components/schemas/user_identity' required: - cart - credit_card - division_id - source - user_identifier - user_identity - create_bolt_account type: object processing_initiator: description: Defines which payment method was used to initiate the transaction. enum: - initial_card_on_file - initial_recurring - stored_cardholder_initiated - stored_merchant_initiated - following_recurring - cardholder_initiated - recurring example: stored_cardholder_initiated type: string merchant_credit_card_authorization_recharge: description: This request is used for authorizing an existing, saved card associated with the account. properties: auto_capture: type: boolean description: This property determines how the transaction is processed after authorization. If set to `true`, the transaction is placed in a queue for automatic capture. This process is asynchronous, meaning the transaction may not immediately appear as captured after the authorization request. This is because the transaction is in a transitional state as it moves from authorization to capture. If `auto_capture` is set to `false`, the transaction is only authorized and must be manually captured. cart: allOf: - $ref: '#/components/schemas/cart_create' - description: The cart_create object is a composite of the base_cart object and additional order details. credit_card_id: description: The unique ID associated to the saved credit card in the account's wallet. example: SAeEcU1hpMobc type: string division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). Use the Bolt Merchant Dashboard to switch between divisions and find the division ID under `Merchant Division Public ID`. example: 3X9aPQ67-YrB type: string merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' previous_transaction_id: $ref: '#/components/schemas/previous_subscription_id' processing_initiator: $ref: '#/components/schemas/processing_initiator' shipping_address: $ref: '#/components/schemas/address' source: enum: - direct_payments type: string user_identifier: $ref: '#/components/schemas/user_identifier' user_identity: $ref: '#/components/schemas/user_identity' required: - cart - credit_card_id - division_id - source - user_identifier - user_identity type: object credit_card_authorization_reason: description: | The reason code explaining the authorization status. * `1` - none * `2` - invalid_amount * `3` - invalid_cvv * `4` - invalid_cc_number * `5` - expired * `6` - risk * `7` - lost_stolen * `8` - call_issuer * `9` - invalid_merchant_for_card * `10` - unsupported_payment_method enum: - none - invalid_amount - invalid_cvv - invalid_cc_number - expired - risk - lost_stolen - call_issuer - invalid_merchant_for_card - unsupported_payment_method - processor_server_error type: string credit_card_authorization_status: description: | The status of the authorization request. * `1` - succeeded * `2` - declined * `3` - error enum: - succeeded - declined - error example: succeeded type: string credit_card_authorization_view: properties: auth: type: string avs_response: enum: - '00' - '01' - '02' - '10' - '11' - '12' - '13' - '14' - '20' - '30' - '31' - '32' - '33' - '34' - '40' - adyen_ - adyen_A - adyen_N - adyen_U - adyen_S - adyen_R - adyen_W - adyen_T - adyen_Z - adyen_D - adyen_F - adyen_M - adyen_X - adyen_Y - adyen_B - adyen_P - adyen_C - adyen_G - adyen_I - adyen_K type: string cvv_response: enum: - M - 'N' - P - S - U - D - X - 'Y' - '1' - '2' - '3' - pass - fail - unavailable - unchecked - braintree_M - braintree_N - braintree_U - braintree_B - braintree_A - braintree_I - braintree_S - CVV2 type: string merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' metadata: additionalProperties: type: string type: object processor: enum: - vantiv - adyen_payfac - adyen_gateway - stripe - braintree - cybersource - nmi - authorize_net - radial - shopify_payments - rocketgate type: string reason: $ref: '#/components/schemas/credit_card_authorization_reason' status: $ref: '#/components/schemas/credit_card_authorization_status' type: object capture_id: description: The unique ID for the capture. **Nullable** for Transactions Details. example: BcDE4fafd2a4 type: string capture_status: description: The status of the capture. **Nullable** for Transactions Details. enum: - succeeded - declined - error example: succeeded type: string capture_view: description: Deprecated. Use `captures`. properties: amount: $ref: '#/components/schemas/amount_view' id: $ref: '#/components/schemas/capture_id' merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' metadata: description: Additional information about the capture. For example, the processor capture ID. **Nullable** for Transactions Details. additionalProperties: type: string type: object splits: description: A split of fees by type and amount. **Nullable** for Transactions Details. items: description: A split of fees by type and amount. properties: amount: $ref: '#/components/schemas/amount_view' type: description: | Fee type options. **Nullable** for Transactions Details. enum: - net - processing_fee - risk_fee - apm_fee - network_fee - platform_fee - bolt_account_fee example: processing_fee type: string type: object type: array status: $ref: '#/components/schemas/capture_status' type: object transaction_splits_view: properties: amount: $ref: '#/components/schemas/amount_view' type: enum: - net - processing_fee - float - reserve - adjustment - bolt_fee type: string type: object credit_card_capture_view: properties: amount: $ref: '#/components/schemas/amount_view' id: $ref: '#/components/schemas/capture_id' merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' metadata: additionalProperties: example: key1: value1 key2: value2 type: string type: object splits: $ref: '#/components/schemas/transaction_splits_view' status: $ref: '#/components/schemas/capture_status' type: object credit_card_credit_status: properties: status: description: The status of the refund to a card. enum: - succeeded - declined - error - pending - in progress example: succeeded type: string type: object credit_card_credit_view: allOf: - $ref: '#/components/schemas/credit_card_credit_status' - properties: merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' transaction_date: description: Transaction date. **Nullable** for Transactions Details. example: 1615407159447 type: integer consumer_summary_view: properties: first_name: description: The given name of the person associated with this record. example: Alan type: string id: type: string last_name: description: The surname of the person associated with this record. example: Watts type: string type: object login_view: properties: actions: items: enum: - set_password - rotate_password type: string type: array methods: items: enum: - code - code_password - password - rotate_password type: string type: array sso_authorization_url: type: string type: object priority: description: | Describes the card's priority. enum: - primary - listed example: primary type: string email_view: properties: address: type: string id: type: string priority: $ref: '#/components/schemas/priority' status: type: string type: object phone_view: properties: country_code: description: Used for the 2-digit ISO 3166-1 alpha 2 country code associated with this address. example: US type: string id: type: string number: type: string priority: enum: - primary - listed type: string status: type: string type: object consumer_self_view: allOf: - $ref: '#/components/schemas/consumer_summary_view' - properties: authentication: $ref: '#/components/schemas/login_view' email_verified: type: boolean emails: items: $ref: '#/components/schemas/email_view' type: array first_name: type: string id: type: string last_name: type: string phones: items: $ref: '#/components/schemas/phone_view' type: array platform_account_status: enum: - none - linked - unlinked type: string type: object card_bin: description: The Bank Identification Number for the credit card; this is typically the first 4-6 digits of the credit card number. **Nullable** for Transactions Details. example: '402201' maxLength: 6 minLength: 4 type: string card_display_network: description: The card's network. **Nullable** for Transactions Details. enum: - Credit Card - American Express - Diners Club - Discover - JCB - MasterCard - Union Pay - Visa example: Visa type: string card_expiration: description: The card's expiration. **Nullable** for Transactions Details. example: 1654041600000 type: integer icon_asset_path: description: The asset link for displayed icons. This link varies depending on payment method used. **Nullable** for Transactions Details. example: img/issuer-logos/visa.png type: string card_id: description: The card's ID. **Nullable** for Transactions Details. example: AB3rJKam5DhYE type: string card_status: description: The card's status. **Nullable** for Transactions Details. enum: - active - created - inactive - transient example: active type: string card_token: description: The Bolt token associated to the credit card. Required for new, unsaved cards. example: a1B2c3D4e5F6G7H8i9J0k1L2m3N4o5P6Q7r8S9t0 type: string card_token_type: description: | Used to define which payment processor generated the token for this credit card. enum: - vantiv - applepay - bolt - stripe - plcc - applepay_encrypted_blob example: bolt type: string credit_card_view: description: Contains details about the credit card transaction. properties: billing_address: $ref: '#/components/schemas/address_view' bin: $ref: '#/components/schemas/card_bin' display_network: $ref: '#/components/schemas/card_display_network' expiration: $ref: '#/components/schemas/card_expiration' icon_asset_path: $ref: '#/components/schemas/icon_asset_path' id: $ref: '#/components/schemas/card_id' last4: $ref: '#/components/schemas/card_last4' network: $ref: '#/components/schemas/card_network' priority: $ref: '#/components/schemas/priority' status: $ref: '#/components/schemas/card_status' token: $ref: '#/components/schemas/card_token' token_type: $ref: '#/components/schemas/card_token_type' type: object transaction_id: description: The unique ID associated with the transaction. **Nullable** for Transactions Details. example: T1c3p4yBuVYJ9 type: string transaction_indemnification_decision: description: | Describes whether the transaction is indemnified by Bolt for fraud. enum: - unknown - indemnified - not_indemnified example: indemnified type: string transaction_indemnification_reason: description: | Describes the reason that the transaction is or is not indemnified by Bolt for fraud. enum: - unknown - checkout - virtual_terminal - merchant_back_office - merchant_force_approved - reversibly_rejected - irreversibly_rejected - risk_engine_approved - analyst_approved - auth_verification - paypal - afterpay - direct_payments - whitelist - external_review - affirm - merchant_ip_address - amazon_pay - apple_pay - phone_order - klarna - cardholder_authentication - address_change_rejected - indemnify_direct_payments - indemnify_virtual_terminal - membership_subscription - embedded_guest_checkout - risk_assessment_only - sezzle - credova - subscription - indemnify_apm_transaction example: merchant_force_approved type: string merchant_division_logo_view: properties: domain: type: string resource: type: string type: object merchant_division_summary_view: properties: account_page_url: type: string api_base_domain_url: type: string base_domain_url: type: string confirmation_redirect_url: type: string create_order_url: type: string debug_url: type: string description: type: string display_name: type: string get_account_url: type: string shopper_custom_fields_updated_url: type: string hook_type: enum: - '1' - '2' - '3' - '4' - '5' - '6' type: string hook_url: type: string id: type: string is_universal_merchant_api: type: boolean is_webhooks_v2: type: boolean logo: $ref: '#/components/schemas/merchant_division_logo_view' logo_dashboard: $ref: '#/components/schemas/merchant_division_logo_view' merchant_id: type: string mobile_app_domain_url: type: string oauth_logout_url: type: string oauth_redirect_url: type: string platform: type: string plugin_config_url: type: string privacy_policy_url: type: string product_info_url: type: string public_id: type: string remote_apiurl: type: string shipping_and_tax_url: type: string shipping_url: type: string status: type: string tax_url: type: string terms_of_service_url: type: string universal_merchant_api_url: type: string update_cart_url: type: string use_async_refunds_amazon_pay: type: boolean use_async_refunds_paypal: type: boolean validate_additional_account_data_url: type: string merchant_password_login_url: description: (Optional) Link shoppers can use to log into a merchant store via the Bolt SSO modal. example: https://www.example.com/login type: string type: object order_decision_details_view: properties: decision_factors: items: type: string type: array score: format: int64 type: number type: object transaction_processor: description: The processor used. **Nullable** for Transactions Details. enum: - adyen_gateway - adyen_payfac - affirm - afterpay - alliance_data - amazon_pay - authorize_net - braintree - checkout_com - cybersource - first_data - klarna - nmi - orbital - paypal - radial - radial_klarna - radial_paypal - rocketgate - sezzle - shopify_payments - stripe - vantiv example: adyen_gateway type: string review_ticket_view: properties: id: type: string request_deadline: format: int64 type: number status: type: string type: object risk_model_external_result_view: properties: available: type: boolean decision_factors: description: Used to list a total of up to 5 decision factors used by the risk model to determine the risk analysis result. items: type: string type: array fraud_probability: format: int type: number payment_instrument_factors: additionalProperties: example: factor1: factor1 factor2: factor2 type: string type: object type: object risk_review_status: description: Describes the current Risk Review status. A transaction could be unreviewed, reviewed, or pending manual review by the Bolt team. enum: - unknown - needs_review - reviewed example: reviewed type: string transaction_status: description: The transaction's status. enum: - in_progress - completed - cancelled - failed - pending - created - authorized - rejected_reversible - rejected_irreversible example: cancelled type: string transaction_type: description: The type of transaction. enum: - cc_payment - cc_credit - funding_transfer - processing_fee_transfer - reserve_transfer - float_transfer - merchant_credit - merchant_debit - funding_withdrawal - processing_fee_withdrawal - zero_amount - bolt_fee_transfer - bolt_fee_withdrawal - bank_account_verification - authorization_verification - paypal_payment - paypal_refund - apm_payment - apm_refund - zero_amount_verification example: cc_payment type: string credit_card_void_cause: description: Specifies why this particular transaction is voided. enum: - merchant_action - paypal_sync - amazon_pay_sync - irreversible_reject - auth_expire - auth_verification_expired - payment_method_updater - null type: string credit_card_void_status: description: The status of the void request. enum: - succeeded - declined - error example: succeeded type: string credit_card_void_view: properties: cause: $ref: '#/components/schemas/credit_card_void_cause' merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' status: $ref: '#/components/schemas/credit_card_void_status' void: description: The void ID returned from the payment processor. type: string example: '123456' type: object transaction_view: properties: amount: $ref: '#/components/schemas/amount_view' authorization: $ref: '#/components/schemas/credit_card_authorization_view' capture: $ref: '#/components/schemas/capture_view' captures: items: $ref: '#/components/schemas/credit_card_capture_view' type: array credit: $ref: '#/components/schemas/credit_card_credit_view' date: $ref: '#/components/schemas/transaction_date' from_consumer: $ref: '#/components/schemas/consumer_self_view' from_credit_card: $ref: '#/components/schemas/credit_card_view' id: $ref: '#/components/schemas/transaction_id' indemnification_decision: $ref: '#/components/schemas/transaction_indemnification_decision' indemnification_reason: $ref: '#/components/schemas/transaction_indemnification_reason' last4: $ref: '#/components/schemas/card_last4' last_viewed_utc: format: int64 type: number merchant_division: $ref: '#/components/schemas/merchant_division_summary_view' merchant_order_number: type: string order_decision: $ref: '#/components/schemas/order_decision_details_view' processor: $ref: '#/components/schemas/transaction_processor' reference: $ref: '#/components/schemas/transaction_reference' review_ticket: $ref: '#/components/schemas/review_ticket_view' risk_insights: $ref: '#/components/schemas/risk_model_external_result_view' risk_review_status: $ref: '#/components/schemas/risk_review_status' risk_score: format: int64 type: integer splits: items: $ref: '#/components/schemas/transaction_splits_view' type: array status: $ref: '#/components/schemas/transaction_status' to_consumer: $ref: '#/components/schemas/consumer_self_view' to_credit_card: $ref: '#/components/schemas/credit_card_view' transaction_properties: additionalProperties: example: key1: value1 key2: value2 type: string type: object type: $ref: '#/components/schemas/transaction_type' void: $ref: '#/components/schemas/credit_card_void_view' view_status: enum: - not_viewed - viewed - viewing type: string type: object i_authorize_result_view: properties: did_create_bolt_account: type: boolean order_number: type: string transaction: $ref: '#/components/schemas/transaction_view' type: object transaction_skip_hook_notification: description: Set to `true` to skip receiving a webhook notification from Bolt that is triggered by this update to the transaction. example: false type: boolean capture_transaction_with_reference: properties: amount: $ref: '#/components/schemas/amount' currency: $ref: '#/components/schemas/currency_iso' merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' skip_hook_notification: $ref: '#/components/schemas/transaction_skip_hook_notification' transaction_reference: $ref: '#/components/schemas/transaction_reference' required: - transaction_reference - amount - currency type: object transaction_credit: properties: amount: $ref: '#/components/schemas/amount' currency: $ref: '#/components/schemas/currency_iso' merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' skip_hook_notification: $ref: '#/components/schemas/transaction_skip_hook_notification' transaction_reference: $ref: '#/components/schemas/transaction_reference' required: - transaction_reference - amount - currency type: object merchant_credit_card_review: properties: decision: enum: - approve - reject type: string transaction_reference: $ref: '#/components/schemas/transaction_reference' required: - decision - transaction_reference type: object address_change_request_metadata_view: properties: can_change_shipping_address: type: boolean id: type: string status: type: string ticket_id: type: string ticket_status: type: string type: object chargeback_event_view: properties: content: type: string time: type: number type: object chargeback_details_view: properties: amt_won: allOf: - $ref: '#/components/schemas/amount_view' - description: The total representment amount IF the merchant won the chargeback case. chargeback_amt: allOf: - $ref: '#/components/schemas/amount_view' - description: The total amount of dispute debits and credits related to this chargeback case. chargeback_fee: allOf: - $ref: '#/components/schemas/amount_view' - description: The total amount of dispute fee debits and credits related to this chargeback case. chargeback_id: type: string event_views: items: $ref: '#/components/schemas/chargeback_event_view' type: array net_amt: allOf: - $ref: '#/components/schemas/amount_view' - description: The total sum of the fields `chargeback_amt` and `chargeback_fee`. reason: type: string reason_code: type: string representment_reply_by_date: description: The reply-by date of the dispute in UnixMillis format. format: int64 type: number representment_result: enum: - none - open - lost - won type: string type: object custom_field_view: properties: checkout_step: enum: - SHIPPING_STEP - DELIVERY_STEP - PAYMENT_STEP - ACCOUNT_REGISTRATION_SSO type: string dynamic: type: boolean context: enum: - CHECKOUT - SSO type: string external_id: type: string field_setup: type: string label: type: string position: format: int64 type: number public_id: type: string required: type: boolean subscribeToNewsletter: type: boolean type: object custom_field_response_view: properties: response: oneOf: - type: string - type: boolean type: object custom_field_full_response_view: properties: field: $ref: '#/components/schemas/custom_field_view' response: $ref: '#/components/schemas/custom_field_response_view' type: object customer_list_status: properties: auto_approved: type: boolean block_listed: type: boolean type: object manual_dispute_view: properties: amount: format: int64 type: number currency: example: USD type: string delivery_evidence: type: string delivery_link: type: string dispute_evidence: type: string dispute_link: type: string other_evidence: items: type: string type: array other_link: items: type: string type: array reason: type: string status: enum: - pending - approved - denied type: string type: object default: example: false type: boolean gift_options: description: Contains the gift option settings for wrapping and custom messages. properties: message: $ref: '#/components/schemas/gift_options_message' wrap: $ref: '#/components/schemas/gift_options_wrap' type: object package_dimension: description: Contains the package's width, eight, depth, and unit details. properties: depth: $ref: '#/components/schemas/depth' height: $ref: '#/components/schemas/height' unit: $ref: '#/components/schemas/dimension_unit' width: $ref: '#/components/schemas/width' type: object package_weights: properties: unit: $ref: '#/components/schemas/weight_unit' weight: $ref: '#/components/schemas/weight' type: object company: description: The company's name example: ACME Corp. type: string country: description: The country's name. example: Canada type: string country_code: description: The 2-digit country code. example: US type: string billing_address_id: description: The unique Bolt ID associated with a previously saved billing address. Not applicable to new, unsaved addresses. example: address-1 nullable: true type: string locality: description: A locale such as county, district, etc. example: Wayne County type: string name_person: description: The first and last name together as a string. example: Charlotte Charles type: string postal_code: description: The postal code. example: '11209' type: string region: description: A state, province, or similar region type. example: Quebec type: string street_address: description: You can use up to 4 street address fields. example: 42 Wallaby Way type: string consumer_billing_address: properties: company: $ref: '#/components/schemas/company' country: $ref: '#/components/schemas/country' country_code: $ref: '#/components/schemas/country_code' email_address: $ref: '#/components/schemas/email' first_name: $ref: '#/components/schemas/first_name' id: $ref: '#/components/schemas/billing_address_id' last_name: $ref: '#/components/schemas/last_name' locality: $ref: '#/components/schemas/locality' name: $ref: '#/components/schemas/name_person' phone_number: $ref: '#/components/schemas/phone' postal_code: $ref: '#/components/schemas/postal_code' region: $ref: '#/components/schemas/region' street_address1: $ref: '#/components/schemas/street_address' street_address2: $ref: '#/components/schemas/street_address' street_address3: $ref: '#/components/schemas/street_address' street_address4: $ref: '#/components/schemas/street_address' required: - street_address1 - locality - region - postal_code type: object in_store_shipment: description: A cart that is being prepared for shipment properties: carrier: $ref: '#/components/schemas/carrier' cost: $ref: '#/components/schemas/amounts' default: $ref: '#/components/schemas/default' estimated_delivery_date: $ref: '#/components/schemas/estimated_delivery_date' expedited: $ref: '#/components/schemas/expedited' gift_options: $ref: '#/components/schemas/gift_options' id: $ref: '#/components/schemas/shipping_address_id' package_dimension: $ref: '#/components/schemas/package_dimension' package_type: $ref: '#/components/schemas/package_type' package_weights: $ref: '#/components/schemas/package_weights' reference: $ref: '#/components/schemas/reference' service: $ref: '#/components/schemas/service' shipping_address: $ref: '#/components/schemas/consumer_billing_address' shipping_method: $ref: '#/components/schemas/shipping_method' signature: $ref: '#/components/schemas/signature' tax_amount: $ref: '#/components/schemas/amounts' total_weight: $ref: '#/components/schemas/total_weight' type: object in_store_shipment2: description: A cart that is being prepared for shipment properties: address: $ref: '#/components/schemas/address_view' distance: example: 1.2 type: number distance_unit: enum: - mile - km type: string shipment: $ref: '#/components/schemas/in_store_shipment' store_name: example: My Store type: string type: object fulfillment_view: properties: cart_shipment: $ref: '#/components/schemas/i_cart_shipment_view' fulfillment_type: type: string id: type: string in_store_cart_shipment: $ref: '#/components/schemas/in_store_shipment2' items: items: $ref: '#/components/schemas/i_cart_item_view' type: array type: object cart_loyalty_rewards_view: properties: amount: $ref: '#/components/schemas/amount_view' coupon_code: type: string description: type: string details: type: string points: format: int64 type: integer source: type: string type: type: string type: object cart_view: description: This is the cart object returned in a successful response. properties: billing_address: $ref: '#/components/schemas/address_view' cart_url: description: Used to provide a link to the cart ID. example: https://boltswagstore.com/orders/123456765432 maxLength: 8192 type: string currency: $ref: '#/components/schemas/i_currency' discount_amount: $ref: '#/components/schemas/amount_view' discounts: items: $ref: '#/components/schemas/i_cart_discount_view' type: array display_id: example: displayid_100 type: string fee_amount: $ref: '#/components/schemas/amount_view' fees: items: $ref: '#/components/schemas/i_cart_item_view' type: array fulfillments: items: $ref: '#/components/schemas/fulfillment_view' type: array in_store_shipments: $ref: '#/components/schemas/in_store_shipment2' items: items: $ref: '#/components/schemas/i_cart_item_view' type: array loyalty_rewards: items: $ref: '#/components/schemas/cart_loyalty_rewards_view' type: array loyalty_rewards_amount: $ref: '#/components/schemas/amount_view' merchant_order_url: type: string metadata: additionalProperties: type: string type: object msrp: $ref: '#/components/schemas/amount_view' order_description: description: Used optionally to pass additional information like order numbers or other IDs as needed. example: 'Order #1234567890' maxLength: 1024 type: string order_reference: description: This value is used by Bolt as an external reference to a given order. This reference must be unique per successful transaction. example: order_100 type: string shipments: items: $ref: '#/components/schemas/i_cart_shipment_view' type: array shipping_amount: $ref: '#/components/schemas/amount_view' subtotal_amount: $ref: '#/components/schemas/amount_view' tax_amount: $ref: '#/components/schemas/amount_view' total_amount: $ref: '#/components/schemas/amount_view' transaction_reference: description: The 12 digit reference ID associated to a given transaction webhook for an order. example: 6CEA-ZME1-DACE maxLength: 12 minLength: 12 type: string type: object order_external_data_view: properties: shopify: type: string type: object order_view: properties: cart: $ref: '#/components/schemas/cart_view' dynamic_content: $ref: '#/components/schemas/i_order_dynamic_content' external_data: $ref: '#/components/schemas/order_external_data_view' platform_user_id: type: string requires_action: type: string token: type: string user_note: description: Used by shoppers to make extra requests or provide details for gift messages. type: string type: object refund_transactions_view: description: | **Nullable** for Transactions Details. items: $ref: '#/components/schemas/transaction_view' type: array address_change_view: properties: from_address: $ref: '#/components/schemas/address_view' status: type: string ticket_id: type: string timestamp: format: int64 type: number to_address: $ref: '#/components/schemas/address_view' type: object risk_model_resul_contribution_view: properties: category: type: string weight: type: string type: object risk_model_result_view: properties: contribution: items: $ref: '#/components/schemas/risk_model_resul_contribution_view' type: array type: object transaction_review_view: properties: date: format: int64 type: number decision: type: string risk_model_result: $ref: '#/components/schemas/risk_model_result_view' source: type: string type: object transaction_timeline_view: properties: address_change: $ref: '#/components/schemas/address_change_view' amount: $ref: '#/components/schemas/amount_view' consumer: $ref: '#/components/schemas/consumer_summary_view' date: type: number note: type: string review: $ref: '#/components/schemas/transaction_review_view' transaction: $ref: '#/components/schemas/transaction_view' type: enum: - completed - authorized - review - note - voided - captured - credited - address_change type: string visibility: type: string type: object auth_rejection_details_view: properties: reason_code: type: string reason_description: type: string required: - reason_description type: object transaction_details_view: allOf: - $ref: '#/components/schemas/transaction_view' - properties: address_change_request_metadata: $ref: '#/components/schemas/address_change_request_metadata_view' adjust_transactions: items: $ref: '#/components/schemas/transaction_view' type: array auth_verification_status: enum: - '' - new example: new type: string authorization_id: type: string chargeback_details: $ref: '#/components/schemas/chargeback_details_view' custom_fields: items: $ref: '#/components/schemas/custom_field_full_response_view' type: array customer_list_status: $ref: '#/components/schemas/customer_list_status' manual_disputes: items: $ref: '#/components/schemas/manual_dispute_view' type: array order: $ref: '#/components/schemas/order_view' refund_transaction_ids: items: type: string type: array refund_transactions: $ref: '#/components/schemas/refund_transactions_view' refunded_amount: $ref: '#/components/schemas/amount_view' source_transaction: $ref: '#/components/schemas/transaction_view' timeline: items: $ref: '#/components/schemas/transaction_timeline_view' type: array transaction_rejection_details: properties: auth_rejection_details: $ref: '#/components/schemas/auth_rejection_details_view' type: object void_cause: description: Determines why the transaction was voided. enum: - merchant_action - shopify_sync - paypal_sync - amazon_pay_sync - irreversible_reject - auth_expire - auth_verification_expired - payment_method_updater example: irreversible_reject type: string type: object credit_card_void: properties: merchant_event_id: $ref: '#/components/schemas/transaction_merchant_event_id' skip_hook_notification: $ref: '#/components/schemas/transaction_skip_hook_notification' transaction_reference: $ref: '#/components/schemas/transaction_reference' required: - transaction_reference type: object adjust_transactions: description: | **Nullable** for Transactions Details. items: $ref: '#/components/schemas/transaction_view' type: array authorization_verification_status: description: 'Used to track the status of micro-authorizations. **Nullable** for Transactions Details. ' enum: - new - verified - failed - expired example: new type: string authorization_id: description: The authorization's id. example: T1c3p4yBuVYJ9 type: string captures_view: description: All captures associated with the transaction. **Nullable** for Transactions Details. items: $ref: '#/components/schemas/capture_view' type: array chargeback_id: description: The unique ID of the chargeback. example: a3ad4d56fd7 type: string chargeback_reason: description: The reason for the chargeback. example: string type: string chargeback_reason_code: description: Bolt's [standardized reason codes](https://help.boltapp.com/merchants/references/policies/disputes/dispute-codes/). enum: - authorization_failed - cancelled_recurring - cardholder_dispute - currency_error - duplicate - fraud_general - fraud_no_authorization - incorrect_amount - late_presentment - processing_error - processor_general - product_defective - product_not_received - product_returned - request_for_information example: product_not_received type: string chargeback_representment_reply_by_date: description: The date of the chargeback. example: 1485997169003 type: integer chargeback_representment_result: description: The result of the chargeback representment. enum: - none - open - lost - won example: won type: string chargeback_details: properties: amt_won: $ref: '#/components/schemas/amount_view' chargeback_amt: $ref: '#/components/schemas/amount_view' chargeback_fee: $ref: '#/components/schemas/amount_view' chargeback_id: $ref: '#/components/schemas/chargeback_id' event_views: items: $ref: '#/components/schemas/chargeback_event_view' type: array net_amt: $ref: '#/components/schemas/amount_view' reason: $ref: '#/components/schemas/chargeback_reason' reason_code: $ref: '#/components/schemas/chargeback_reason_code' representment_reply_by_date: $ref: '#/components/schemas/chargeback_representment_reply_by_date' representment_result: $ref: '#/components/schemas/chargeback_representment_result' type: object credit: properties: status: example: succeeded type: string type: object custom_fields: properties: checkout_setup: enum: - shipping_step - delivery_step - payment_step - account_registration_sso example: string type: string dynamic: description: Defines whether the field is dynamic. example: false type: boolean context: description: The app context of where the custom field is used. enum: - CHECKOUT - SSO example: CHECKOUT type: string external_id: description: The external ID for the custom field. example: '123456' type: string field_setup: example: string type: string label: description: The displayed label for the custom field, seen by the shopper. example: Special Field type: string position: example: 1 type: integer public_id: description: The internal ID for the custom field. example: i-123456 type: string required: description: Defines if the field must be completed to check out. example: true type: boolean subscribe_to_newsletter: description: Defines whether the shopper is opted into a newsletter or not. example: false type: boolean type: object email_id: description: This is the ID for the email address associated with the shopper. example: '123' type: string email_priority: description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view. enum: - primary - listed example: primary type: string email_status: description: This is the status of the contact method. enum: - active - pending - inactive example: active type: string emails: description: A list of email addresses. **Nullable** for Transactions Details. items: description: An object of user email. properties: address: $ref: '#/components/schemas/email' id: $ref: '#/components/schemas/email_id' priority: $ref: '#/components/schemas/email_priority' status: $ref: '#/components/schemas/email_status' type: object type: array consumer_id: description: The shopper's unique ID. example: b2vghjk2v4c5fgdh3jak type: string phone_country_code: description: A phone number's country code. example: '1' type: string phone_id: description: This is the ID for the phone number associated with the shopper. example: '123' type: string phone_priority: description: This is the priority of the contact method. This field's contents are not displayed in the transaction details view. enum: - primary - listed example: primary type: string phone_status: description: This is the status of the contact method. enum: - active - pending - inactive example: active type: string phones_with_country_code: description: A list of phone numbers. items: description: A phone number with country code. properties: country_code: $ref: '#/components/schemas/phone_country_code' id: $ref: '#/components/schemas/phone_id' number: $ref: '#/components/schemas/phone' priority: $ref: '#/components/schemas/phone_priority' status: $ref: '#/components/schemas/phone_status' type: object type: array credit_card_user: description: The credit card user. properties: emails: $ref: '#/components/schemas/emails' first_name: $ref: '#/components/schemas/first_name' id: $ref: '#/components/schemas/consumer_id' last_name: $ref: '#/components/schemas/last_name' phones: $ref: '#/components/schemas/phones_with_country_code' type: object consumer_membership_status: description: True if user has an AllPass membership associated to their Bolt Account. **Nullable** for Transactions Details. enum: - active - cancelled - disabled - free_trial type: string consumer_user_membership: description: | **Nullable** for Transactions Details. properties: status: $ref: '#/components/schemas/consumer_membership_status' required: - status type: object last_viewed_utc: description: The last view time as UTC. example: 1485997169003 type: integer manual_disputes: properties: amount: $ref: '#/components/schemas/amount' currency: $ref: '#/components/schemas/currency_iso' delivery_evidence: example: Delivery Evidence type: string delivery_link: example: https://example.com/delivery/234563245 type: string dispute_evidence: example: Dispute Evidence type: string dispute_link: example: https://example.com/receipts/234563245 type: string other_evidence: example: Other Evidence type: string other_link: example: https://example.com/other/234563245 type: string reason: example: string type: string status: enum: - pending - approved - denied example: pending type: string type: object merchant_created_date: description: The date the merchant account was created. **Nullable** for Transactions Details. example: 1485997169003 type: integer merchant_description: description: The description of the merchant account. **Nullable** for Transactions Details. example: Brand Name Here. type: string merchant_onboarding_status_code: enum: - new_merchant - user_created - form_filled - integration_done - legacy - processor_settings_received type: string transaction_processor_status: description: The processor's status. Only `primary` and `active` processor are displayed. enum: - primary - active - inactive example: primary type: string transaction_operational_processor: properties: processor: $ref: '#/components/schemas/transaction_processor' status: $ref: '#/components/schemas/transaction_processor_status' required: - processor - status type: object transaction_operational_processors: description: | **Nullable** for Transactions Details. items: $ref: '#/components/schemas/transaction_operational_processor' type: array merchant_public_id: description: The unique public ID for the merchant's Bolt account. A merchant account contains many merchant divisions. example: zSrbabI3MFe8 type: string merchant_status: description: | The merchant's status: * `1` - Active * `2` - Inactive * `3` - Offboarding enum: - 1 - 2 - 3 type: integer merchant_time_zone: description: The timezone of the merchant. **Nullable** for Transactions Details. example: America/Los_Angeles type: string merchant: properties: created_at: $ref: '#/components/schemas/merchant_created_date' description: $ref: '#/components/schemas/merchant_description' onboarding_status: $ref: '#/components/schemas/merchant_onboarding_status_code' operational_processors: $ref: '#/components/schemas/transaction_operational_processors' processor: $ref: '#/components/schemas/transaction_processor' public_id: $ref: '#/components/schemas/merchant_public_id' status: $ref: '#/components/schemas/merchant_status' time_zone: $ref: '#/components/schemas/merchant_time_zone' required: - created_at - description - processor - operational_processors - time_zone type: object merchant_account_page_url: description: The URL provided by the merchant for the account page. example: https://example.com/account type: string merchant_debug_url: description: The endpoint URL provided by the merchant for debugging. example: https://example.com/v1/debug type: string merchant_division_description: description: The description of the merchant division. **Nullable** for Transactions Details. example: Storefront for employees only. type: string merchant_get_account_url: description: The endpoint URL provided by the merchant to fetch accounts. example: https://example.com/api/v1/account_get type: string merchant_shopper_custom_fields_updated_url: description: The endpoint URL provided by the merchant to be notified whenever shopper respond to the custom fields for creating merchant platform account. example: https://example.com/api/v1/shopper_custom_fields_updated type: string webhooks_type: description: | [Webhook events](https://help.boltapp.com/developers/guides/webhooks/#transaction-hook-types) that trigger a notification to the URL. **Note**:`newsletter_subscription` is only for merchant use cases. Subscription events: * `subscription_created` - A subscription was created from a successful initial transaction. * `subscription_renewed` - A recurring subscription order was placed successfully and the next order was scheduled. * `subscription_canceled` - A subscription was canceled, by the merchant, by the shopper, or automatically (e.g. once its dunning retry schedule is exhausted). Also sent alongside `subscription_ended` when the subscription's configured final dunning action is cancellation. * `subscription_payment_failed` - A scheduled subscription order's payment attempt failed. * `subscription_paused` - A subscription was paused, by the merchant, by the shopper, or automatically once its dunning retry schedule is exhausted (when the configured final dunning action is pausing). * `subscription_unpaused` - A paused subscription was resumed, by the merchant or by the shopper. * `subscription_ended` - A subscription was permanently ended after its dunning retry schedule was exhausted. Sent alongside `subscription_canceled` for this case. enum: - payment - credit - capture - void - auth - pending - rejected_irreversible - rejected_reversible - failed_payment - newsletter_subscription - risk_insights - credit_card_deleted - subscription_created - subscription_renewed - subscription_canceled - subscription_payment_failed - subscription_paused - subscription_unpaused - subscription_ended example: pending type: string merchant_hook_url: description: The endpoint URL provided by the merchant to send webhooks. example: https://example.com/api/v1/hooks type: string merchant_division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard. example: 3X9aPQ67-YrB type: string merchant_division_domain: description: The URL of the merchant division. example: mystore-staging.boltapp.com type: string merchant_division_logo: description: The logo image file for the merchant division. example: division-logo.png type: string merchant_logo: properties: domain: $ref: '#/components/schemas/merchant_division_domain' resource: $ref: '#/components/schemas/merchant_division_logo' type: object merchant_id: description: The unique ID for the merchant's Bolt account. A merchant account contains many merchant divisions. **Nullable** for Transactions Details. example: 3X9aPQ67-YrB type: string merchant_oauth_logout_url: description: The endpoint URL provided by the merchant for logging out of OAuth accounts. example: https://example.com/api/v1/oauth_logout type: string merchant_oauth_redirect_url: description: The endpoint URL provided by the merchant for OAuth redirects. example: https://example.com/api/v1/oauth_redirect type: string merchant_platform: description: The type of platform being used for this merchant division. enum: - none - big_commerce - shopify - magento - magento2 - woo_commerce - drupal - volusion - prestashop - netsuite - miva - commerce_cloud example: big_commerce type: string merchant_plugin_config_url: description: The endpoint URL provided by the merchant for checking plugin configuration details. example: https://example.com/api/v1/plugin_config type: string merchant_privacy_policy_url: description: The endpoint URL provided by the merchant for providing a unique privacy policy. example: https://example.com/api/v1/privacy type: string merchant_product_info_url: description: The endpoint URL provided by the merchant for checking product details. example: https://example.com/api/v1/product_details type: string merchant_division_public_id: description: The unique public ID for one of the merchant's store division. example: 3X9aPQ67-YrB type: string merchant_terms_of_service_url: description: The endpoint URL provided by the merchant for providing unique terms of service. example: https://example.com/api/v1/terms type: string merchant_universal_merchant_api_url: description: The endpoint URL provided by the merchant to access their universal API. example: https://example.com/api/bolt_universal type: string merchant_validate_additional_account_data_url: description: The endpoint URL provided by the merchant for validating additional account data. example: https://example.com/api/v1/account_validate type: string merchant_division: properties: account_page_url: $ref: '#/components/schemas/merchant_account_page_url' api_base_domain_url: type: string example: https://apibasedomainurl.com create_order_url: description: The endpoint URL provided by the merchant to Bolt for creating orders. **Nullable** for Transactions Details. example: https://example.com/api/v1/create_order type: string debug_url: $ref: '#/components/schemas/merchant_debug_url' description: $ref: '#/components/schemas/merchant_division_description' get_account_url: $ref: '#/components/schemas/merchant_get_account_url' shopper_custom_fields_updated_url: $ref: '#/components/schemas/merchant_shopper_custom_fields_updated_url' hook_type: $ref: '#/components/schemas/webhooks_type' hook_url: $ref: '#/components/schemas/merchant_hook_url' id: $ref: '#/components/schemas/merchant_division_id' is_universal_merchant_api: description: Defines whether or not the Universal API method is in use. **Nullable** for Transactions Details. example: true type: boolean is_webhooks_v2: description: Defines whether or not the second version of Bolt's webhooks is in use. **Nullable** for Transactions Details. example: true type: boolean logo: $ref: '#/components/schemas/merchant_logo' merchant_id: $ref: '#/components/schemas/merchant_id' oauth_logout_url: $ref: '#/components/schemas/merchant_oauth_logout_url' oauth_redirect_url: $ref: '#/components/schemas/merchant_oauth_redirect_url' platform: $ref: '#/components/schemas/merchant_platform' plugin_config_url: $ref: '#/components/schemas/merchant_plugin_config_url' privacy_policy_url: $ref: '#/components/schemas/merchant_privacy_policy_url' product_info_url: $ref: '#/components/schemas/merchant_product_info_url' public_id: $ref: '#/components/schemas/merchant_division_public_id' shipping_and_tax_url: description: The endpoint URL provided by the merchant to Bolt for shipping and tax calculations. example: https://example.com/api/v1/shipping_and_tax type: string shipping_url: description: The endpoint URL provided by the merchant to Bolt for shipping calculations. **Nullable** for Transactions Details. example: https://example.com/api/v1/shipping type: string tax_url: description: The endpoint URL provided by the merchant to Bolt for tax calculations. **Nullable** for Transactions Details. example: https://example.com/api/v1/tax type: string terms_of_service_url: $ref: '#/components/schemas/merchant_terms_of_service_url' universal_merchant_api_url: $ref: '#/components/schemas/merchant_universal_merchant_api_url' update_cart_url: description: The endpoint URL provided by the merchant to Bolt to pass cart updates. example: https://example.com/api/v1/cart_update type: string validate_additional_account_data_url: $ref: '#/components/schemas/merchant_validate_additional_account_data_url' required: - merchant_id - description - is_universal_merchant_api - is_webhooks_v2 - shipping_url - tax_url type: object merchant_order_number: description: The merchant's internal order number for this transaction. example: O-1234567 type: string risk_decision_factor.yml: description: One of the main contributing factors to the fraud decision and score. enum: - address_details - auth_decline_stolen_card - card_information - cart_details - checkout_behavior - device_specifications - email_details - fraudulent_chargeback - ip_details - phone_details - shipping_details - too_many_attempts - user_history example: checkout_behavior type: string risk_decision_factors.yml: description: The top 5 factors of the fraud decision. items: $ref: '#/components/schemas/risk_decision_factor.yml' type: array order_decision_score: description: The total fraud risk score of the order. example: '680' type: integer order_decision: description: Decision and score for an order. properties: decision_factors: $ref: '#/components/schemas/risk_decision_factors.yml' score: $ref: '#/components/schemas/order_decision_score' type: object refund_transaction_ids: description: | **Nullable** for Transactions Details. items: $ref: '#/components/schemas/transaction_id' type: array request_id: description: The unique ID for the request ticket. example: 2d34a56 type: string request_deadline: example: 1627955971268 type: integer request_status: enum: - reviewed - needs_review - unknown type: string review_ticket: description: Internal use only. properties: id: $ref: '#/components/schemas/request_id' request_deadline: $ref: '#/components/schemas/request_deadline' status: $ref: '#/components/schemas/request_status' type: object risk_insight_availability.yml: description: Must be set to `true` to receive fraud insights. example: true type: boolean risk_fraud_probability.yml: description: | The total [fraud score](/merchants/references/policies/fraud-review/#fraud-scoring). example: 943 type: integer risk_insights.yml: description: | Displays fraud decisioning insights based on key factors. This information can either be forwarded via a `risk_insights` transaction webhook type or be polled by sending a `GET` request to Bolt's [transactions endpoint](/api-bolt/#operation/transaction-details). properties: available: $ref: '#/components/schemas/risk_insight_availability.yml' decision_factors: $ref: '#/components/schemas/risk_decision_factors.yml' fraud_probability: $ref: '#/components/schemas/risk_fraud_probability.yml' payment_instrument_factors: additionalProperties: type: string type: object type: object splits_view: description: A list of splits. **Nullable** for Transactions Details. items: description: A split of fees by type and amount. properties: amount: $ref: '#/components/schemas/amount_view' type: description: | **Nullable** for Transactions Details. enum: - net - processing_fee - bolt_fee - adjustment - float - reserve example: processing_fee type: string type: object type: array auth_rejection_details: properties: reason_code: type: string reason_description: type: string type: object transaction_rejection_details_view: properties: auth_rejection_details: $ref: '#/components/schemas/auth_rejection_details' type: object transaction_update_input: type: object properties: display_id: description: This field corresponds to the merchant's order reference associated with this Bolt transaction. type: string example: order-123 metadata: additionalProperties: type: string description: Custom metadata associated with this Bolt transaction. example: key1: value1 key2: value2 type: object o_auth_token_input: properties: client_id: description: Merchant publishable key which can be found in the merchant dashboard type: string client_secret: description: Your Bolt API Key. type: string code: description: Fetched value using OTP value from the Authorization Modal. type: string grant_type: description: | The type of OAuth 2.0 grant being utilized. The value will always be `authorization_code` when exchanging an authorization code for an access token. enum: - authorization_code type: string scope: description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`. You can find more information on these options in our [OAuth scope documentation](https://help.boltapp.com/developers/references/bolt-oauth/#scopes). enum: - bolt.account.manage - bolt.account.view - openid type: string state: description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks type: string required: - grant_type - code - client_id - scope - client_secret title: Authorization Code Request type: object o_auth_token_input_refresh: properties: client_id: description: Merchant publishable key which can be found in the merchant dashboard type: string client_secret: description: Your Bolt API Key. type: string grant_type: description: | The type of OAuth 2.0 grant being utilized. The value will always be `refresh_token` when exchanging a refresh token for an access token. enum: - refresh_token type: string refresh_token: description: The value of the refresh token issued to you in the originating OAuth token request. type: string scope: description: The scope issued to the merchant when receiving an authorization code. Options include `bolt.account.manage`, `bolt.account.view`, `openid`. type: string state: description: A randomly generated string issued to the merchant when receiving an authorization code used to prevent CSRF attacks type: string required: - grant_type - client_id - refresh_token - scope - client_secret title: Refresh Token Request type: object o_auth_token_response: properties: access_token: description: An access token you can use to make requests on behalf of a Bolt Account. type: string expires_in: description: Access token’s expiration in seconds. type: integer id_token: description: A JWT token issued when the request includes the scope open_id. type: string refresh_token: description: A refresh token you can use to issue a brand new access token without obtaining a new authorization code. type: string refresh_token_scope: description: The scope granted to the refresh token. Currently this will always be bolt.account.view. type: string scope: description: The scope granted to access token, depending on the scope granted to the authorization code as well as the scope parameter. Options include `bolt.account.manage`, `bolt.account.view`, `openid`. type: string token_type: description: The token_type will always be bearer. type: string type: object errors_oauth_server_response: properties: error: type: string error_description: type: string type: object tracking_detail: properties: city: example: New York type: string country: example: USA type: string datetime: example: '2017-07-21T17:32:28Z' format: date-time type: string message: example: BILLING INFORMATION RECEIVED type: string state: example: New York type: string status: description: The transit status of the order being tracked. enum: - unknown - pre_transit - in_transit - out_for_delivery - delivered - available_for_pickup - return_to_sender - failure - cancelled - error example: in_transit type: string zip: example: '10044' type: string required: - city - state - zip - country - datetime - status - message type: object mock_tracking_input: properties: delivery_estimate: type: string status: description: The shipment status of a simulated order. enum: - in_transit - cancelled - failure - delivered type: string tracking_detail: description: A list of tracking updates that contain the shipment's status, location, and any unique messages. items: $ref: '#/components/schemas/tracking_detail' type: array tracking_number: description: The carrier's tracking number for the shipment (Order Tracking Testing). Must begin with `MockBolt`. example: MockBolt1234 type: string required: - tracking_number - status - delivery_estimate - tracking_detail type: object webhook_event_group: description: | Subscribe to a group of events. `all`: subscribe to all existing and future event types enum: - all - 'null' nullable: true type: string url: description: The full URL to receive webhook notifications. example: https://eva-nerv.shop.com/path/to/hook type: string webhook_id: description: A unique webhook ID. Reference this value to modify or delete the webhook subscription. operations as well. example: wh_za7VbYcSQU2zRgGQXQAm-g type: string webhook: properties: created_at: description: Webhook creation time in epoch timestamp milliseconds. example: 1485997169003 type: integer event_group: $ref: '#/components/schemas/webhook_event_group' events: description: | All events the webhook is subscribed to. Null when `event_group` = `all`. items: $ref: '#/components/schemas/webhooks_type' nullable: true type: array url: $ref: '#/components/schemas/url' webhook_id: $ref: '#/components/schemas/webhook_id' required: - webhook_id - created_at - url type: object base_create_webhook: properties: division_id: description: The unique ID associated with the specific merchant division. example: 3X9aPQ67-YrB type: string url: $ref: '#/components/schemas/url' required: - division_id - url type: object event_group_create_webhook: allOf: - $ref: '#/components/schemas/base_create_webhook' - type: object properties: event_group: $ref: '#/components/schemas/webhook_event_group' events_array_create_webhook: allOf: - $ref: '#/components/schemas/base_create_webhook' - type: object properties: events: description: | If `webhook_event_group` is null, pick a list of notification events to subscribe to. items: $ref: '#/components/schemas/webhooks_type' type: array subscription_v2_status: description: The current status of the subscription. enum: - active - paused - canceled - payment_failed example: active title: Subscription Status type: string subscription_v2_id: description: The unique ID for a Bolt subscription. example: sub_1a2b3c4d5e title: Subscription ID type: string subscription_v2_status_details: description: Details about the subscription's current status. properties: type: $ref: '#/components/schemas/subscription_v2_status' reason: description: Additional context for the current status, when available. example: payment_failed type: string required: - type title: Subscription Status Details type: object subscription_v2_payment_method: description: The card currently used to pay for this subscription. properties: card_last_4: description: The last 4 digits of the card number. example: '4242' type: string card_network: description: The card network (e.g. Visa, Mastercard). example: visa type: string required: - card_last_4 - card_network title: Subscription Payment Method type: object subscription_v2_initial_period: description: An initial billing period, such as a trial or introductory offer, that differs from the plan's regular frequency. properties: frequency: description: The number of `frequency_unit`s in the initial period. example: 14 type: integer frequency_unit: description: The unit of time for the initial period's frequency. enum: - day - week - month - year example: day type: string required: - frequency - frequency_unit title: Subscription Initial Period type: object subscription_v2_plan: description: The billing plan the subscription is enrolled in. properties: id: description: The unique ID for the subscription plan. example: plan_9f8e7d6c5b type: string name: description: The display name of the plan. example: Monthly type: string sku: description: The merchant-defined SKU for the plan. example: SUB-MONTHLY-001 type: string created_at: format: date-time type: string updated_at: format: date-time type: string frequency: description: The number of `frequency_unit`s between each billing cycle. example: 1 type: integer frequency_unit: description: The unit of time between billing cycles. enum: - day - week - month - year example: month type: string product_id: description: The unique ID of the subscription product this plan belongs to. example: prod_3c2b1a0f9e type: string checkout_link: description: A hosted checkout link for this plan, when available. example: https://subscribe.boltapp.com/plans/plan_9f8e7d6c5b type: string initial_period: $ref: '#/components/schemas/subscription_v2_initial_period' required: - id - name - sku - created_at - updated_at - frequency - frequency_unit - product_id title: Subscription Plan type: object subscription_v2: description: A Bolt subscription. properties: id: $ref: '#/components/schemas/subscription_v2_id' created_at: format: date-time type: string updated_at: format: date-time type: string merchant_name: description: The name of the merchant this subscription belongs to. example: Bolt Swag Store type: string email: description: The email address of the shopper who owns this subscription. Nullable. example: shopper@example.com nullable: true type: string status_details: $ref: '#/components/schemas/subscription_v2_status_details' payment_method: $ref: '#/components/schemas/subscription_v2_payment_method' next_renewal_date: description: The date of the next scheduled renewal, if any. format: date-time nullable: true type: string next_payment_retry_date: description: The date of the next scheduled payment retry, if the subscription currently has a failed payment. format: date-time nullable: true type: string canceled_date: format: date-time nullable: true type: string paused_date: format: date-time nullable: true type: string plan: $ref: '#/components/schemas/subscription_v2_plan' product_names: items: type: string type: array total_amount: $ref: '#/components/schemas/amounts' metadata: additionalProperties: type: string description: Merchant-defined custom metadata. type: object required: - id - created_at - updated_at - merchant_name - email - status_details - plan - product_names - total_amount - metadata title: Subscription type: object subscription_v2_pagination: description: Pagination details for a list response. properties: page_size: example: 25 type: integer total_count: example: 132 type: integer required: - page_size - total_count title: Pagination type: object subscription_v2_list: description: A paginated list of subscriptions. properties: subscriptions: items: $ref: '#/components/schemas/subscription_v2' type: array pagination: $ref: '#/components/schemas/subscription_v2_pagination' required: - subscriptions - pagination title: Subscription List type: object subscription_v2_success: description: A generic confirmation response. properties: success: example: true type: boolean required: - success title: Success type: object subscription_v2_order_status: description: The status of a subscription order. enum: - scheduled - done - paused - payment_failed - canceled example: scheduled title: Subscription Order Status type: string subscription_v2_order: description: A single billing cycle (order) generated by a subscription. properties: id: description: The unique ID for the subscription order. example: sorder_5d4c3b2a19 type: string subscription_id: $ref: '#/components/schemas/subscription_v2_id' order_id: description: The associated Bolt order ID, once the order has been placed. example: 123456789 type: integer transaction_reference: description: The transaction reference for this order's payment attempt. example: 6CEA-ZME1-DACE type: string placement_time: description: The scheduled or actual placement time of this order. format: date-time type: string status: $ref: '#/components/schemas/subscription_v2_order_status' cancel_reason: deprecated: true description: Deprecated. nullable: true type: string created_at: format: date-time type: string updated_at: format: date-time type: string sequence_number: description: The 1-indexed position of this order within the subscription's billing history. example: 3 type: integer total_amount: $ref: '#/components/schemas/amounts' required: - id - subscription_id - transaction_reference - placement_time - status - created_at - updated_at - sequence_number title: Subscription Order type: object subscription_v2_order_list: description: A list of subscription orders. properties: orders: items: $ref: '#/components/schemas/subscription_v2_order' type: array required: - orders title: Subscription Order List type: object subscription_v2_dunning_settings: description: A merchant division's dunning (failed payment recovery) configuration. properties: retry_schedule_hours: description: Hour offsets from the initial payment failure at which Bolt retries the payment. Must be 1-10 strictly increasing, positive values, each at most 2160 (90 days). example: - 24 - 72 - 168 - 336 items: type: integer type: array reminder_lead_days: description: Days before a subscription's renewal at which Bolt sends the shopper a reminder. Must be 1-10 unique values between 1 and 90. example: - 30 - 7 - 3 items: type: integer type: array final_action: description: The action Bolt takes on a subscription once the retry schedule is exhausted without a successful payment. enum: - cancel - pause example: cancel type: string sms_enabled: description: Whether Bolt sends SMS reminders and payment-failure notifications to the shopper, in addition to email. example: false type: boolean required: - retry_schedule_hours - reminder_lead_days - final_action - sms_enabled title: Dunning Settings type: object account_identifier_status: description: The status of the shopper account identifier (email or phone). If the account does not have this identifier, the status is "missing"; If the identifier has been used to receive an OTP code, the status is "verified"; If the identifier has not been used to receive an OTP code, the status is "unverified". enum: - missing - verified - unverified example: verified type: string testing_account_request: properties: deactivate_in_days: description: 'Number of days after which the test account is deactivated. Default: 30 days. Maximum: 180 days.' type: integer email: description: Deprecated. Please leave this field absent and let the API automatically generate a random email. type: string email_state: $ref: '#/components/schemas/account_identifier_status' phone: description: Deprecated. Please leave this field absent and let the API automatically generate a random phone number. type: string phone_state: $ref: '#/components/schemas/account_identifier_status' migrated: description: Set this account as migrated by the merchant in the request type: boolean has_address: description: Add a random U.S. address to the created account if set to `true` type: boolean type: object example: deactivate_in_days: 30 email_state: verified phone_state: verified testing_account_details: properties: email: description: The email of the testing account $ref: '#/components/schemas/email' email_state: example: verified $ref: '#/components/schemas/account_identifier_status' phone: description: The phone number of the testing account $ref: '#/components/schemas/phone' phone_state: example: unverified $ref: '#/components/schemas/account_identifier_status' otp_code: description: Fixed OTP code that can be used to login to the created account example: 123456 type: string migrated_merchant_owner_id: description: The merchant's public id if the account is migrated example: addvfRR_bp_7 type: string will_deactivate_at: description: The created testing account will be deactivated after this date example: '2023-06-01T23:16:07Z' type: string oauth_code: description: OAuth code that is associated with this account and can be used to exchange for an access token example: 7GSjMRSHs6Ak7C_zvVW6P2IhZOHxMK7HZKW1fMX85ms.-DUXvwr1Yg-bfvqXUlMaz49fPn7OdiPa3TwVBlUI-wc type: string type: object 1005_code: description: Invalid merchant key. example: 1005 format: int64 type: integer 1005_message: description: Authentication error. Invalid merchant key. example: Authentication error. Invalid merchant key. type: string 1005_invalid_merchant_key: properties: code: $ref: '#/components/schemas/1005_code' message: $ref: '#/components/schemas/1005_message' type: object account_login_status: enum: - success - failure example: success type: string address_change_status: description: The status of the request. enum: - pending - cancelled - approved - rejected type: string address_change_ticket_id: description: The ID of the ticket. example: ticket-25 type: string address_change_timestamp: description: The timestamp of the address change request. example: 1615407159447 type: integer address_change: properties: from_address: $ref: '#/components/schemas/consumer_billing_address' status: $ref: '#/components/schemas/address_change_status' ticket_id: $ref: '#/components/schemas/address_change_ticket_id' timestamp: $ref: '#/components/schemas/address_change_timestamp' to_address: $ref: '#/components/schemas/consumer_billing_address' type: object address_change_id: description: The Unique ID for the change request. example: a7sd7f23ghjk5lyt42f type: string address_change_ticket_status: description: The status of the request. enum: - pending - open - closed type: string adjust_transaction_merchant: properties: created_at: $ref: '#/components/schemas/merchant_created_date' description: $ref: '#/components/schemas/merchant_description' operational_processors: $ref: '#/components/schemas/transaction_operational_processors' processor: $ref: '#/components/schemas/transaction_processor' public_id: $ref: '#/components/schemas/merchant_public_id' time_zone: $ref: '#/components/schemas/merchant_time_zone' required: - created_at - description - processor - operational_processors - time_zone type: object alliance_data_info: properties: call_id: type: string required: - call_id type: object authorization_reason_codes: description: The code matching the rejection reason. example: code-1234 type: string authorization_reason_description: description: The explanation of the reason code. example: Card reported stolen type: string hosted_payments_response: properties: x_account_id: type: string x_amount: type: string x_currency: example: USD type: string x_gateway_reference: type: string x_message: type: string x_reference: type: string x_result: enum: - completed - failed - pending type: string x_signature: type: string x_test: type: string x_timestamp: type: string required: - x_account_id - x_amount - x_currency - x_gateway_reference - x_reference - x_result - x_signature - x_test - x_timestamp type: object sfcc_order_output: properties: sfcc_order_token: type: string type: object authorize_external_outputs: properties: commerce_cloud_order_uuid: type: string shopify_response: $ref: '#/components/schemas/hosted_payments_response' sfcc_response: $ref: '#/components/schemas/sfcc_order_output' type: object auto_approved: description: If merchant has whitelisted, is `true`. example: false type: boolean availability: description: Determines if the product is available. enum: - out_of_stock - in_stock - pre_order example: in_stock type: string availability_count: description: How many are in stock. example: '19' type: integer base_model: description: Base model. properties: CreatedAt: format: timestamp type: integer DeactivatedAt: format: timestamp nullable: true type: integer DeactivatedBy: format: int64 nullable: true type: integer ID: format: int64 type: integer UpdatedAt: format: timestamp type: integer type: object block_listed: description: If merchant has block listed, is `true`. example: false type: boolean can_change_shipping_address: description: Defines whether the merchant can update the shipping address after authorization. example: true type: boolean capture: description: Deprecated. Use `captures`. properties: amount: $ref: '#/components/schemas/amounts' id: $ref: '#/components/schemas/capture_id' splits: description: A list of splits. **Nullable** for Transactions Details. items: description: A split of fees by type and amount. properties: amount: $ref: '#/components/schemas/amounts' type: description: | **Nullable** for Transactions Details. enum: - net - processing_fee - bolt_fee - adjustment - float - reserve example: processing_fee type: string required: - amount - type type: object type: array status: $ref: '#/components/schemas/capture_status' required: - id - status - amount type: object captures: description: All captures associated with the transaction. **Nullable** for Transactions Details. items: $ref: '#/components/schemas/capture' type: array card_address: properties: company: $ref: '#/components/schemas/company' country: $ref: '#/components/schemas/country' country_code: $ref: '#/components/schemas/country_code' email: $ref: '#/components/schemas/email' first_name: $ref: '#/components/schemas/first_name' id: $ref: '#/components/schemas/billing_address_id' last_name: $ref: '#/components/schemas/last_name' locality: $ref: '#/components/schemas/locality' name: $ref: '#/components/schemas/name_person' phone: $ref: '#/components/schemas/phone' postal_code: $ref: '#/components/schemas/postal_code' region: $ref: '#/components/schemas/region' street_address1: $ref: '#/components/schemas/street_address' type: object card_expiration_string: description: The expiration date of the credit card, expressed as a string. example: 12/12/2024 type: string card_number: description: The card number. **Nullable** for Transactions Details. example: 1111222233334444 type: integer pin: description: The PIN for the credit card. example: 123 type: integer card_gift: description: A gift card. properties: card_number: $ref: '#/components/schemas/card_number' pin: $ref: '#/components/schemas/pin' type: object card_priority: description: The priority for the card. enum: - primary - listed example: primary type: string cards_gift: description: A list of gift cards. items: $ref: '#/components/schemas/card_gift' type: array total_amount: description: The total amount. example: 9900 type: integer display_id: description: The displayed ID. example: ID-12345 type: string order_reference: description: The order reference. example: order-12345 type: string metadata: additionalProperties: type: string description: You can add your own metadata. example: This is metadata. type: object cart: properties: billing_address: $ref: '#/components/schemas/address' billing_address_id: $ref: '#/components/schemas/billing_address_id' items: $ref: '#/components/schemas/items' tax_amount: $ref: '#/components/schemas/tax_amount' total_amount: $ref: '#/components/schemas/total_amount' display_id: $ref: '#/components/schemas/display_id' order_reference: $ref: '#/components/schemas/order_reference' metadata: $ref: '#/components/schemas/metadata' type: object shipping_address: properties: company: $ref: '#/components/schemas/company' country: $ref: '#/components/schemas/country' country_code: $ref: '#/components/schemas/country_code' email: $ref: '#/components/schemas/email' first_name: $ref: '#/components/schemas/first_name' id: $ref: '#/components/schemas/shipping_address_id' last_name: $ref: '#/components/schemas/last_name' locality: $ref: '#/components/schemas/locality' name: $ref: '#/components/schemas/name_person' phone: $ref: '#/components/schemas/phone' postal_code: $ref: '#/components/schemas/postal_code' region: $ref: '#/components/schemas/region' street_address1: $ref: '#/components/schemas/street_address' street_address2: $ref: '#/components/schemas/street_address' street_address3: $ref: '#/components/schemas/street_address' street_address4: $ref: '#/components/schemas/street_address' type: object currency: properties: currency: $ref: '#/components/schemas/currency_iso' currency_symbol: $ref: '#/components/schemas/currency_symbol' type: object discount_code: description: The discount code input by a shopper. example: SUMMERFUN15 type: string discount_codes: description: A list of discount codes. items: $ref: '#/components/schemas/discount_code' type: array cart_shipments: description: A list of shipments. items: $ref: '#/components/schemas/cart_shipment' type: array cart_discounts: properties: billing_address: $ref: '#/components/schemas/shipping_address' currency: $ref: '#/components/schemas/currency' discount_amount: $ref: '#/components/schemas/amounts' discounts: $ref: '#/components/schemas/discount_codes' display_id: $ref: '#/components/schemas/display_id' items: $ref: '#/components/schemas/items' order_reference: $ref: '#/components/schemas/order_reference' shipments: $ref: '#/components/schemas/cart_shipments' shipping_amount: $ref: '#/components/schemas/amounts' subtotal_amount: $ref: '#/components/schemas/amounts' tax_amount: $ref: '#/components/schemas/amounts' total_amount: $ref: '#/components/schemas/amounts' type: object cart_limited: description: Limited cart view. properties: billing_address: $ref: '#/components/schemas/shipping_address' display_id: $ref: '#/components/schemas/display_id' order_reference: $ref: '#/components/schemas/order_reference' shipments: $ref: '#/components/schemas/cart_shipment' type: object cart_url: description: The URL for the cart. example: https://boltswagstore.com/orders/123456765432 type: string discount_description: description: The discount code's description. example: Take 15% off of your order. type: string discount_uri: description: The discount's URI. example: https://boltswagstore.com/discounts/#12345 type: string discount_category: description: The discount's category. enum: - coupon - gift_card - managed_giftcard - store_credit - automatic_promotion - membership_discount - membership_giftcard - subscription_discount - rewards_discount - shipping_discount - unknown example: coupon type: string is_free_shipping: example: false type: boolean maximum_cost_allowed: example: 100 type: integer discount_free_shipping: description: Contains free shipping settings and limitations. properties: is_free_shipping: $ref: '#/components/schemas/is_free_shipping' maximum_cost_allowed: $ref: '#/components/schemas/maximum_cost_allowed' type: object discounts: description: A list of discounts. items: properties: amount: $ref: '#/components/schemas/amounts' code: $ref: '#/components/schemas/discount_code' description: $ref: '#/components/schemas/discount_description' details_url: $ref: '#/components/schemas/discount_uri' discount_category: $ref: '#/components/schemas/discount_category' free_shipping: $ref: '#/components/schemas/discount_free_shipping' reference: $ref: '#/components/schemas/discount_code' type: object type: array in_store_shipments: items: $ref: '#/components/schemas/in_store_shipment2' type: array order_url: example: https://example.com/orders/2345678 type: string shipment: description: A cart that is being prepared for shipment properties: carrier: $ref: '#/components/schemas/carrier' cost: $ref: '#/components/schemas/amounts' default: $ref: '#/components/schemas/default' estimated_delivery_date: $ref: '#/components/schemas/estimated_delivery_date' expedited: $ref: '#/components/schemas/expedited' gift_options: $ref: '#/components/schemas/gift_options' id: $ref: '#/components/schemas/shipping_address_id' package_dimension: $ref: '#/components/schemas/package_dimension' package_type: $ref: '#/components/schemas/package_type' package_weights: $ref: '#/components/schemas/package_weights' reference: $ref: '#/components/schemas/reference' service: $ref: '#/components/schemas/service' shipping_address: $ref: '#/components/schemas/consumer_billing_address' shipping_method: $ref: '#/components/schemas/shipping_method' signature: $ref: '#/components/schemas/signature' tax_amount: $ref: '#/components/schemas/amounts' total_weight: $ref: '#/components/schemas/total_weight' type: object shipments2: items: $ref: '#/components/schemas/shipment' type: array cart_order: properties: billing_address: $ref: '#/components/schemas/consumer_billing_address' cart_url: $ref: '#/components/schemas/cart_url' currency: properties: currency: $ref: '#/components/schemas/currency_iso' currency_symbol: $ref: '#/components/schemas/currency_symbol' type: object discount_amount: $ref: '#/components/schemas/amounts' discounts: $ref: '#/components/schemas/discounts' display_id: $ref: '#/components/schemas/display_id' in_store_shipments: $ref: '#/components/schemas/in_store_shipments' items: $ref: '#/components/schemas/items' merchant_order_url: $ref: '#/components/schemas/order_url' metadata: $ref: '#/components/schemas/metadata_component' order_description: example: string type: string order_reference: $ref: '#/components/schemas/order_reference' shipments: $ref: '#/components/schemas/shipments2' shipping_amount: $ref: '#/components/schemas/amounts' subtotal_amount: $ref: '#/components/schemas/amounts' tax_amount: $ref: '#/components/schemas/amounts' total_amount: $ref: '#/components/schemas/amounts' transaction_reference: $ref: '#/components/schemas/transaction_reference' required: - currency - subtotal_amount - total_amount type: object order_display_id: description: The order reference. example: order-12345 type: string cart_order_generated: properties: discounts: $ref: '#/components/schemas/discounts' display_id: $ref: '#/components/schemas/order_display_id' items: $ref: '#/components/schemas/items' order_reference: $ref: '#/components/schemas/order_reference' total_amount: $ref: '#/components/schemas/amounts' type: object product_name_id: description: The product's unique ID associated to the `product.properties.name_id` from the Get Inventory call. example: hat-123 type: string product_value_id: description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call. example: 4770234 type: integer publisher_properties: description: Properties associated to the item. properties: NameID: $ref: '#/components/schemas/product_name_id' ValueID: $ref: '#/components/schemas/product_value_id' type: object publisher_item: description: An item with properties. properties: BoltProductID: $ref: '#/components/schemas/bolt_product_id' SKU: $ref: '#/components/schemas/sku' Properties: $ref: '#/components/schemas/publisher_properties' Quantity: $ref: '#/components/schemas/quantity' type: object publisher_items: description: A list of items. items: $ref: '#/components/schemas/publisher_item' type: array cart_publisher: properties: Items: $ref: '#/components/schemas/publisher_items' type: object cart_shipment_combined: description: A cart that is being prepared for shipment properties: currency: $ref: '#/components/schemas/currency_iso' display_id: $ref: '#/components/schemas/display_id' items: $ref: '#/components/schemas/items' metadata: $ref: '#/components/schemas/metadata_component' order_reference: $ref: '#/components/schemas/order_reference' total_amount: $ref: '#/components/schemas/total_amount' type: object discounts_transaction_authorize: description: A list of discounts. items: properties: amount: $ref: '#/components/schemas/amount' code: $ref: '#/components/schemas/discount_code' description: $ref: '#/components/schemas/discount_description' details_url: $ref: '#/components/schemas/discount_uri' discount_category: $ref: '#/components/schemas/discount_category' free_shipping: $ref: '#/components/schemas/discount_free_shipping' reference: $ref: '#/components/schemas/discount_code' type: object type: array cart_transaction_authorize: properties: billing_address: $ref: '#/components/schemas/consumer_billing_address' currency: $ref: '#/components/schemas/currency_iso' discounts: $ref: '#/components/schemas/discounts_transaction_authorize' items: $ref: '#/components/schemas/items' order_reference: $ref: '#/components/schemas/order_reference' shipments: $ref: '#/components/schemas/shipments2' tax_amount: $ref: '#/components/schemas/amount' total_amount: $ref: '#/components/schemas/amount' type: object cart_transaction_recharge: properties: currency: $ref: '#/components/schemas/currency_iso' order_reference: $ref: '#/components/schemas/order_reference' total_amount: $ref: '#/components/schemas/amount' type: object product_identifiers_view: properties: GTIN: description: The Global Trade Item Number for this product; GTINs are used as barcodes. type: string MerchantDivisionID: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard. example: 3X9aPQ67-YrB type: string MerchantProductID: example: 1ab11ad1111ada1ad11 type: string MerchantVariantID: example: 2ab22ad2222ada2ad22 type: string SKU: description: Used to define the alpha-numberic Stock Keeping Unit associated with the item as it is mapped to your internal product catalogue. example: BOLT-SKU_100 maxLength: 1024 nullable: true type: string type: object product_view: properties: Availability: enum: - in_stock - out_of_stock - pre_order type: string AvailabilityCount: format: int64 type: number BoltID: example: b6452ff5-14d2-526d-a187-e2b3ebc40e76 type: string Brand: example: Bolt type: string Description: example: The softest tee you'll ever see. type: string Identifiers: $ref: '#/components/schemas/product_identifiers_view' Multimedia: properties: Identifiers: $ref: '#/components/schemas/product_identifiers_view' ImageURLs: items: example: https://my-site.com/catalogue/product/image.png type: string type: array Properties: items: properties: Name: type: string NameID: type: string Value: type: string ValueID: format: int64 type: number type: object type: array type: object Name: example: Bolt Collective T-Shirt type: string Prices: items: properties: Currency: example: USD type: string UnitPriceInCents: format: int64 type: number type: object type: array type: object property_metadata_view: properties: ImageURL: example: https://my-site.com/catalogue/product/image.png type: string Position: format: int type: number TextLabel: type: string type: object property_value_view: properties: Metadata: $ref: '#/components/schemas/property_metadata_view' Value: type: string ValueID: type: string type: object product_properties_map_view: description: The map of this product's properties. properties: name: type: string nameID: type: string values: $ref: '#/components/schemas/property_value_view' type: object product_inventory_view: properties: Current: $ref: '#/components/schemas/product_view' NextCursor: type: string Parent: $ref: '#/components/schemas/product_view' Properties: items: $ref: '#/components/schemas/product_properties_map_view' type: array Variants: items: $ref: '#/components/schemas/product_view' type: array type: object catalog_view: properties: Catalog: items: $ref: '#/components/schemas/product_inventory_view' type: array Cursor: type: string type: object chargeback_event_content: description: The context for the chargeback. example: First Chargeback type: string chargeback_event_time: description: The time this single chargeback event ocurred. example: 1485997169003 type: integer consumer_email_verified: description: True if Bolt has verified this email in the past. **Nullable** for Transactions Details. example: true type: boolean consumer_platform_account_status: description: Used internally for Bolt. Does not display information externally. enum: - 1 - 2 - 3 type: integer credit_card_credit: properties: Async: type: boolean CaptureID: format: int64 type: number Credit: type: string CreditCardSettlementID: format: int64 type: number CreditCardTransactionID: format: int64 type: number MultirefundCreditID: format: int64 type: number Status: $ref: '#/components/schemas/credit_card_credit_status' type: object funding_instrument_id: description: ID of the funding instrument used. format: int64 type: integer credit_card_transaction_stage: description: | Stage of the credit card transaction: * `1` - Auth * `2` - Capture * `3` - Void * `4` - Credit * `5` - Legacy value: auth_capture * `6` - Submission * `7` - Settlement enum: - 1 - 2 - 3 - 4 - 5 - 6 - 7 type: integer credit_card_transaction: description: Details about the credit card transaction. properties: BaseModel: $ref: '#/components/schemas/base_model' funding_instrument_id: $ref: '#/components/schemas/funding_instrument_id' ledger_id: description: The ID of the ledger. format: int64 nullable: true type: integer ledger_time: description: the time of the ledger. format: date-time nullable: true type: integer stage: $ref: '#/components/schemas/credit_card_transaction_stage' transaction_id: $ref: '#/components/schemas/transaction_id' type: object credit_status: properties: status: description: This is the status of the refund. enum: - succeeded - declined - error - pending type: string type: object custom_fields2: items: $ref: '#/components/schemas/custom_fields' type: array data: description: Generic wrapper used by Bolt. type: object reason: description: The reason for the error. example: '(cataloginventory): This product is out of stock.' type: string data_error: description: The JSON object with string key, and value any JSON object. properties: reason: $ref: '#/components/schemas/reason' type: object date: description: The date. example: '1621887799738' type: integer description: description: The product's description. example: Very beautiful and chic. type: string discount_reference: description: The discount's reference. example: discount-1234 type: string discount_type: description: The type of discount. enum: - fixed_amount - percentage - free_shipping example: percentage type: string discounts_order_generate: description: A list of discounts. items: properties: amount: $ref: '#/components/schemas/amount' code: $ref: '#/components/schemas/discount_code' description: $ref: '#/components/schemas/discount_description' details_url: $ref: '#/components/schemas/discount_uri' discount_category: $ref: '#/components/schemas/discount_category' free_shipping: $ref: '#/components/schemas/discount_free_shipping' reference: $ref: '#/components/schemas/discount_code' type: object type: array distance: description: The distance as a number. example: 2 type: integer distance_unit: description: The distance unit. example: miles type: string error: properties: code: $ref: '#/components/schemas/code' message: $ref: '#/components/schemas/message' type: object event: description: The kind of event. enum: - order.create - order.shipping_and_tax - cart.create - cart.update - discounts.code.apply - example.see.enums example: example.see.enums type: string error_base_response: properties: error: $ref: '#/components/schemas/error' event: $ref: '#/components/schemas/event' status: enum: - failure type: string type: object errors: items: $ref: '#/components/schemas/error' type: array errors_base_response: properties: errors: items: $ref: '#/components/schemas/error' type: array event: $ref: '#/components/schemas/event' status: enum: - failure type: string type: object shopify: description: Data externalized from shopify. example: VIP shopper type: string external_data: description: For Shopify users only; otherwise, is empty. properties: shopify: $ref: '#/components/schemas/shopify' type: object from_consumer: description: The credit card user. **Nullable** for Transactions Details. properties: email_verified: $ref: '#/components/schemas/consumer_email_verified' emails: $ref: '#/components/schemas/emails' first_name: $ref: '#/components/schemas/first_name' id: description: The card-holder's ID. **Nullable** for Transactions Details. example: AB3rJKam5DhYE type: string last_name: $ref: '#/components/schemas/last_name' phones: $ref: '#/components/schemas/phones_with_country_code' platform_account_status: $ref: '#/components/schemas/consumer_platform_account_status' user_membership: $ref: '#/components/schemas/consumer_user_membership' required: - id - emails - email_verified - user_membership type: object from_credit_card: description: A credit card. properties: billing_address: $ref: '#/components/schemas/consumer_billing_address' bin: $ref: '#/components/schemas/card_bin' display_network: $ref: '#/components/schemas/card_network' expiration: $ref: '#/components/schemas/card_expiration' icon_asset_path: $ref: '#/components/schemas/icon_asset_path' id: $ref: '#/components/schemas/card_id' last4: $ref: '#/components/schemas/card_last4' network: $ref: '#/components/schemas/card_network' priority: $ref: '#/components/schemas/priority' status: $ref: '#/components/schemas/card_status' token_type: $ref: '#/components/schemas/card_token_type' required: - id - last4 - bin - expiration - network - token_type - priority - display_network - icon_asset_path - status type: object gtin: description: The product's GTIN. example: AB3rJKam5DhYE type: string has_bolt_account: description: Determines if user has a Bolt account using their e-mail address or phone number. example: true type: boolean has_dynamic_price: description: Determines if item has dynamic price. example: true type: boolean hide_apm: description: Hides alternative payment methods from checkout. enum: - amazonpay - affirm - afterpay - paypal - klarna - radialpaypal type: string hide_apms: items: $ref: '#/components/schemas/hide_apm' type: array i_store_shipment_view: allOf: - $ref: '#/components/schemas/i_cart_shipment_view' - properties: address: $ref: '#/components/schemas/address_view' distance: format: int64 type: number pickup_window_close: format: date type: integer pickup_window_open: format: date type: integer reference: type: string signature: type: string store_name: example: Bolt Collective type: string type: object i_delivery_options: properties: dynamicContent: $ref: '#/components/schemas/i_order_dynamic_content' inStorePickupOptions: items: $ref: '#/components/schemas/i_store_shipment_view' type: array shipToStoreOptions: items: $ref: '#/components/schemas/i_store_shipment_view' type: array shippingOptions: items: $ref: '#/components/schemas/i_cart_shipment_view' type: array type: object i_remote_order_create: properties: cart: properties: items: items: description: An array of product items. properties: bolt_product_id: type: string sku: type: string properties: items: properties: name_id: format: int64 type: number value_id: format: int64 type: number type: object type: array quantity: format: int64 type: number required: - bolt_product_id - quantity type: object type: array type: object merchant_division_id: description: The unique ID associated to the merchant's Bolt Account division; Merchants can have different divisions to suit multiple use cases (storefronts, pay-by-link, phone order processing). You can view and switch between these divisions from the Bolt Merchant Dashboard. example: 3X9aPQ67-YrB type: string platform_user_id: description: (Currently for creating remote orders in SFCC). A registered customer's ID / number to be on the order. type: string required: - merchant_division_id - cart type: object i_remote_order_result: properties: token: type: string type: object i_subscription_frequency_view: properties: type: enum: - weekly - monthly type: string value: format: int64 type: number type: object indemnification_decision: description: Determines indemnification coverage. enum: - unknown - indemnified - not_indemnified example: indemnified type: string indemnification_reason: description: Determines indemnification coverage reason. enum: - checkout - virtual_terminal - merchant_back_office - merchant_force_approved - reversibly_rejected - irreversibly_rejected - risk_engine_approved - analyst_approved - auth_verification - paypal - afterpay - direct_payments - whitelist - external_review example: checkout type: string price: description: The price of an item. example: 991 type: integer product_id: description: The product's unique id. example: hat-123 type: string item_add: properties: currency: $ref: '#/components/schemas/currency_iso' price: $ref: '#/components/schemas/price' product_id: $ref: '#/components/schemas/product_id' quantity: $ref: '#/components/schemas/quantity' type: object item_remove: properties: product_id: $ref: '#/components/schemas/product_id' quantity: $ref: '#/components/schemas/quantity' type: object items_add: description: A list of items to add to the cart. items: $ref: '#/components/schemas/item_add' type: array items_remove: description: A list of items to remove from the cart. items: $ref: '#/components/schemas/item_remove' type: array magento_payment_request: properties: card: $ref: '#/components/schemas/credit_card' consumer_id: description: The unique ID associated with the shopper. Leave `null` for guest checkout payment authorizations. example: EDbh7RpKrqABC type: string credit_card_id: description: The unique ID associated to a saved credit card in the account's wallet. Leave `null` if inputting a new, unsaved card. example: SAeEcU1hpMobc type: string order_token: type: string type: object manual_disputes_array: items: $ref: '#/components/schemas/manual_disputes' type: array product_media_audio: description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants. example: https//boltswagstore.com/myjam.mp3 type: string media_audios: description: List of URLs items: $ref: '#/components/schemas/product_media_audio' type: array product_media_url: description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants. example: https//boltswagstore.com/image.png type: string media_urls: description: List of URLs items: $ref: '#/components/schemas/product_media_url' type: array product_media_video: description: The URL for an image, video, or audio clip. For Property URLs, this can be used for color and pattern swatches to represent your product variants. example: https//boltswagstore.com/jurassic-park.mov type: string media_videos: description: List of URLs items: $ref: '#/components/schemas/product_media_video' type: array merchant_create_order_url: description: The endpoint URL provided by the merchant to Bolt for order creation. example: https://example.com/api/v1/order_create type: string merchant_processor_linked: description: Indicates if the merchant account has set up their processor with Bolt. example: true type: boolean merchant_view: properties: created_at: type: string description: type: string processor: enum: - vantiv - adyen_payfac - adyen_gateway - stripe - braintree - cybersource - nmi - authorize_net - radial - shopify_payments - rocketgate type: string type: object multimedia: description: Type of media. example: Sound type: string name_store: description: The name of the store. example: 'Bolt Swag Store #47' type: string order_token: description: The token for the order. example: a2b3dDc4cA5e6fg78Bg9hj0kl type: string user_note: description: Notes from the shopper. example: This item is a gift. type: string order: properties: cart: $ref: '#/components/schemas/cart_order' dynamic_content: description: Contains all dynamic content fields. properties: custom_fields: $ref: '#/components/schemas/custom_fields2' gift_option_view: $ref: '#/components/schemas/gift_option_view' hide_apm: $ref: '#/components/schemas/hide_apms' order_notice: example: A Notice Message type: string payment_notice: example: A Notice Message type: string shipping_info_notice: example: A Notice Message type: string shipping_notice: example: A Notice Message type: string type: object external_data: $ref: '#/components/schemas/external_data' token: $ref: '#/components/schemas/order_token' user_note: $ref: '#/components/schemas/user_note' type: object order_create_cart: properties: cart_url: $ref: '#/components/schemas/cart_url' currency: $ref: '#/components/schemas/currency_iso' discounts: $ref: '#/components/schemas/discounts' display_id: $ref: '#/components/schemas/display_id' items: $ref: '#/components/schemas/items' metadata: items: properties: key1: example: value 1 type: string type: object type: array order_reference: $ref: '#/components/schemas/order_reference' total_amount: $ref: '#/components/schemas/total_amount' type: object order_generate_cart: description: The cart associated to the order token. properties: cart_url: $ref: '#/components/schemas/cart_url' currency: $ref: '#/components/schemas/currency_iso' discounts: $ref: '#/components/schemas/discounts_order_generate' items: $ref: '#/components/schemas/items' metadata: $ref: '#/components/schemas/metadata_component' order_reference: $ref: '#/components/schemas/order_reference' total_amount: $ref: '#/components/schemas/amount' type: object order_publisher_cart_shipment: description: A cart that is being prepared for shipment properties: cost: $ref: '#/components/schemas/cost' reference: $ref: '#/components/schemas/reference' service: $ref: '#/components/schemas/service' shipping_address: properties: company: $ref: '#/components/schemas/company' country: $ref: '#/components/schemas/country' country_code: $ref: '#/components/schemas/country_code' email_address: $ref: '#/components/schemas/email' first_name: $ref: '#/components/schemas/first_name' id: $ref: '#/components/schemas/shipping_address_id' last_name: $ref: '#/components/schemas/last_name' locality: $ref: '#/components/schemas/locality' name: $ref: '#/components/schemas/name_person' phone_number: $ref: '#/components/schemas/phone' postal_code: $ref: '#/components/schemas/postal_code' region: $ref: '#/components/schemas/region' street_address1: $ref: '#/components/schemas/street_address' street_address2: $ref: '#/components/schemas/street_address' street_address3: $ref: '#/components/schemas/street_address' street_address4: $ref: '#/components/schemas/street_address' type: object shipping_method: $ref: '#/components/schemas/shipping_method' tax_amount: $ref: '#/components/schemas/amounts' type: object order_publisher_cart_shipments: description: A list of shipments. items: $ref: '#/components/schemas/order_publisher_cart_shipment' type: array properties: properties: property1: example: metallic type: string property2: example: rust-resistant type: string type: object order_publisher_item: description: An item with properties. properties: bolt_product_id: $ref: '#/components/schemas/bolt_product_id' description: $ref: '#/components/schemas/description' image_url: $ref: '#/components/schemas/image_url' name: $ref: '#/components/schemas/name_item' properties: $ref: '#/components/schemas/properties' quantity: $ref: '#/components/schemas/quantity' reference: $ref: '#/components/schemas/reference' sku: $ref: '#/components/schemas/sku' tax_amount: $ref: '#/components/schemas/tax_amount' taxable: $ref: '#/components/schemas/taxable' total_amount: $ref: '#/components/schemas/amounts' type: $ref: '#/components/schemas/type' unit_price: $ref: '#/components/schemas/amounts' type: object order_publisher_items: description: A list of items. items: $ref: '#/components/schemas/order_publisher_item' type: array order_received_url: description: This is a URL used to redirect the shopper when the order is created (optional). example: https://***.com/confirmation/O-100104040 type: string order_status_details: description: The details that contextualize the order's status. example: The order left the post office at 10am today and is out for delivery by 9pm. type: string order_status_type: description: The type of order webhook. enum: - error - pre_transit - in_transit - out_for_delivery - delivered - available_for_pickup - return_to_sender - shipping_failure - cancelled - unknown example: out_for_delivery type: string publisher_order_metadata: description: This is a map that can contain several objects indexed by different keys. You can use this to track conversions. properties: key: description: Map Item. properties: property_1: description: The first property. type: string property_2: description: The second property. type: string type: object type: object order_webhook: properties: cart: properties: discount_amount: $ref: '#/components/schemas/amounts' display_id: $ref: '#/components/schemas/display_id' items: $ref: '#/components/schemas/order_publisher_items' metadata: properties: immutable_quote_id: description: The immutable quote ID. example: '377' type: integer type: object order_reference: $ref: '#/components/schemas/order_reference' shipments: $ref: '#/components/schemas/order_publisher_cart_shipments' shipping_amount: $ref: '#/components/schemas/amounts' subtotal_amount: $ref: '#/components/schemas/amounts' tax_amount: $ref: '#/components/schemas/amounts' total_amount: $ref: '#/components/schemas/amounts' type: object metadata: $ref: '#/components/schemas/publisher_order_metadata' status: $ref: '#/components/schemas/order_status_type' type: object order_webhook_metadata: properties: immutable_quote_id: description: The immutable quote ID. example: '377' type: integer type: object payment_method: properties: payment_method_data: anyOf: - $ref: '#/components/schemas/alliance_data_info' - $ref: '#/components/schemas/magento_payment_request' payment_method_provider: enum: - alliance_data - magento_payment type: string type: object initialize_paypal_payment_input: type: object properties: payment_method: type: object properties: type: type: string enum: - paypal - saved_payment_method description: The type of the payment attempt example: paypal payment_data: description: Initialize payment for a new PayPal order. type: object properties: success: type: string description: Redirect URL for successful PayPal transaction. cancel: type: string description: Redirect URL for canceled PayPal transaction. required: - payment_data - type required: - payment_method update_paypal_payment_input: type: object properties: payment_method: type: object properties: type: type: string enum: - paypal - saved_payment_method description: The type of the payment attempt example: paypal payment_data: description: Initialize payment for a new PayPal order. type: object properties: success: type: string description: Redirect URL for successful PayPal transaction. cancel: type: string description: Redirect URL for canceled PayPal transaction. paypal_payment_view: type: object properties: action: description: Action after initializing payment type: object properties: type: type: string description: action type example: redirect url: type: string description: action URL example: paypal.com/checkout/redirect method: type: string description: action method example: GET phones: description: A list of phone numbers. items: $ref: '#/components/schemas/phones_with_country_code' type: array pickup_address: properties: country: $ref: '#/components/schemas/country' country_code: $ref: '#/components/schemas/country_code' locality: $ref: '#/components/schemas/locality' postal_code: $ref: '#/components/schemas/postal_code' region: $ref: '#/components/schemas/region' street_address1: $ref: '#/components/schemas/street_address' street_address2: $ref: '#/components/schemas/street_address' street_address3: $ref: '#/components/schemas/street_address' street_address4: $ref: '#/components/schemas/street_address' type: object pickup_window_close: description: When a store not available for picking up orders. example: 1578904185 type: integer pickup_window_open: description: When a store is available for picking up orders. example: 1578904185 type: integer pickup_option: description: A pickup option. properties: address: $ref: '#/components/schemas/pickup_address' cost: $ref: '#/components/schemas/cost' distance: $ref: '#/components/schemas/distance' distance_unit: $ref: '#/components/schemas/distance_unit' pickup_window_close: $ref: '#/components/schemas/pickup_window_close' pickup_window_open: $ref: '#/components/schemas/pickup_window_open' reference: $ref: '#/components/schemas/reference' signature: $ref: '#/components/schemas/signature' store_name: $ref: '#/components/schemas/name_store' tax_amount: $ref: '#/components/schemas/tax_amount' type: object pickup_options: description: A list of pickup options. items: $ref: '#/components/schemas/pickup_option' type: array previous_transaction_id: description: The ID of the shopper's last transaction. example: af1a32f3aga4f5dfa3 type: string processor_card_token: description: The token associated with the shopper's credit card. This field is only populated for merchants using Adyen or Radial as their credit card processor. example: '8416276679724052' type: string processor_shopper_reference: description: The token associated with the shopper. example: 5446666484094287 type: string processor_token_alias: description: The alias token for the processor used. example: '' type: string product_identifiers: description: Identifiers for the product. properties: GTIN: $ref: '#/components/schemas/gtin' MerchantDivisionID: $ref: '#/components/schemas/merchant_division_id' MerchantProductID: $ref: '#/components/schemas/merchant_product_id' SKU: $ref: '#/components/schemas/sku' type: object product_variant: description: The `bolt_product_ID` of the parent product. If the product is the parent, this ID is the same. example: mens-shoe-86. type: string product_name: description: The product's readable name. example: Pullover Hoodie-XS-Purple type: integer product_price: description: The product's price in cents and currency. properties: Currency: $ref: '#/components/schemas/currency_iso' UnitPriceInCents: $ref: '#/components/schemas/amount' type: object product_prices: description: List of product prices. items: $ref: '#/components/schemas/product_price' type: array product_property_position: description: Used to dictate the order of properties displayed (e.g., least > greatest). example: 1 type: integer product_property_text_label: description: The text label for the property. example: pattern type: string product_metadata: description: Metadata for the product. properties: ImageURL: $ref: '#/components/schemas/product_media_url' Position: $ref: '#/components/schemas/product_property_position' TextLabel: $ref: '#/components/schemas/product_property_text_label' type: object product_property_name: description: The property's readable name. example: size type: string product_property_name_id: description: The property type's unique ID. example: 158 format: int64 type: integer product_property_value: description: The property's unique value. (e.g., `S` `M` `L` for size properties; `Red` `Green` `Blue` for color properties.) example: XS type: string product_property_value_id: description: The unique ID of the property's value. example: 166 format: int64 type: integer product_properties: description: Properties associated to the product. items: description: Properties associated to the product. properties: Metadata: $ref: '#/components/schemas/product_metadata' Name: $ref: '#/components/schemas/product_property_name' NameID: $ref: '#/components/schemas/product_property_name_id' Value: $ref: '#/components/schemas/product_property_value' ValueID: $ref: '#/components/schemas/product_property_value_id' type: object type: array product: description: A product. properties: Availability: $ref: '#/components/schemas/availability' AvailabilityCount: $ref: '#/components/schemas/availability_count' BoltID: $ref: '#/components/schemas/bolt_product_id' Brand: $ref: '#/components/schemas/brand' Description: $ref: '#/components/schemas/description' Identifiers: $ref: '#/components/schemas/product_identifiers' IsVariantOf: $ref: '#/components/schemas/product_variant' ItemType: $ref: '#/components/schemas/type' Multimedia: description: The media files associated to the product. properties: AudioSamples: $ref: '#/components/schemas/media_audios' ImageURLs: $ref: '#/components/schemas/media_urls' VideoURLs: $ref: '#/components/schemas/media_videos' type: object Name: $ref: '#/components/schemas/product_name' Prices: $ref: '#/components/schemas/product_prices' Properties: $ref: '#/components/schemas/product_properties' Taxable: $ref: '#/components/schemas/taxable' type: object product_next_cursor: description: The ID of the next variant to link to when pagination is used. example: a456789-abadfa67890ada-abafda67890 type: string products: description: The inventory available for a given product. items: $ref: '#/components/schemas/product' type: array product_inventory: description: The inventory available for a given product. properties: Current: $ref: '#/components/schemas/product' NextCursor: $ref: '#/components/schemas/product_next_cursor' Parent: $ref: '#/components/schemas/product' Variants: $ref: '#/components/schemas/products' type: object product_value: description: The product's unique value ID associated to the `product.properties.value_id` from the Get Inventory call. example: value example type: string rate_shipping: description: The shipping rate amount in cents. example: 234 type: integer rate_subtotal: description: The rate subtotal in cents. example: 300 type: integer refundable_capture: description: Records details about a capture that is eligible to be refunded. properties: amount: $ref: '#/components/schemas/amount' capture_id: $ref: '#/components/schemas/capture_id' currency: $ref: '#/components/schemas/currency_iso' external_capture_id: description: An external ID that can be sent to a third-party system. type: string type: object transaction: allOf: - $ref: '#/components/schemas/base_model' - description: A list of transactions. items: description: Details about the transaction. properties: Amount: $ref: '#/components/schemas/amount' Currency: $ref: '#/components/schemas/currency_symbol' FromConsumerID: $ref: '#/components/schemas/from_consumer' FromFundingInstrumentID: $ref: '#/components/schemas/funding_instrument_id' OrderID: description: The order token. format: int64 type: number Processor: $ref: '#/components/schemas/transaction_processor' Reference: $ref: '#/components/schemas/transaction_reference' SourceTransactionID: $ref: '#/components/schemas/transaction_id' Status: $ref: '#/components/schemas/transaction_status' ToConsumerID: $ref: '#/components/schemas/from_consumer' ToFundingInstrumentID: $ref: '#/components/schemas/funding_instrument_id' Type: $ref: '#/components/schemas/transaction_type' type: object type: array refund_results: description: Details about the refund. properties: capture_to_refund: $ref: '#/components/schemas/refundable_capture' cc_transaction: $ref: '#/components/schemas/credit_card_transaction' credit_status_to_update: $ref: '#/components/schemas/credit_card_credit_status' credit_to_refund: $ref: '#/components/schemas/credit_card_credit' error: $ref: '#/components/schemas/error' refund_id: $ref: '#/components/schemas/transaction_id' refund_transaction: $ref: '#/components/schemas/transaction' retriable: description: Specifies if the system can retry the refund upon encountering an error. example: true type: boolean type: object transaction_authorization: properties: auth: example: auth type: string avs_response: example: avs type: string cvv_response: example: cvv type: string metadata: description: The metadata associated with the authorization. properties: processor_card_token: $ref: '#/components/schemas/processor_card_token' processor_shopperReference: $ref: '#/components/schemas/processor_shopper_reference' processor_token_alias: $ref: '#/components/schemas/processor_token_alias' type: object processor: $ref: '#/components/schemas/transaction_processor' reason: $ref: '#/components/schemas/credit_card_authorization_reason' status: $ref: '#/components/schemas/credit_card_authorization_status' required: - reason - status type: object splits: description: A list of splits. **Nullable** for Transactions Details. items: description: A split of fees by type and amount. properties: amount: $ref: '#/components/schemas/amounts' type: description: | **Nullable** for Transactions Details. enum: - net - processing_fee - bolt_fee - adjustment - float - reserve example: processing_fee type: string required: - amount - type type: object type: array transaction_properties: properties: avs_result: example: avs result type: string cvv_result: example: cvv result type: string type: object refund_transaction: properties: amount: $ref: '#/components/schemas/amounts' authorization: $ref: '#/components/schemas/transaction_authorization' capture: $ref: '#/components/schemas/capture' captures: $ref: '#/components/schemas/captures' credit: $ref: '#/components/schemas/credit_status' date: $ref: '#/components/schemas/transaction_date' from_consumer: $ref: '#/components/schemas/from_consumer' from_credit_card: $ref: '#/components/schemas/from_credit_card' id: $ref: '#/components/schemas/transaction_id' indemnification_decision: $ref: '#/components/schemas/transaction_indemnification_decision' indemnification_reason: $ref: '#/components/schemas/transaction_indemnification_reason' last4: $ref: '#/components/schemas/card_last4' last_viewed_utc: $ref: '#/components/schemas/last_viewed_utc' merchant: $ref: '#/components/schemas/merchant' merchant_division: $ref: '#/components/schemas/merchant_division' merchant_order_number: $ref: '#/components/schemas/merchant_order_number' order_decision: $ref: '#/components/schemas/order_decision' processor: $ref: '#/components/schemas/transaction_processor' reference: $ref: '#/components/schemas/transaction_reference' review_ticket: $ref: '#/components/schemas/review_ticket' risk_insights: $ref: '#/components/schemas/risk_insights.yml' splits: $ref: '#/components/schemas/splits' status: $ref: '#/components/schemas/transaction_status' to_consumer: $ref: '#/components/schemas/from_consumer' to_credit_card: $ref: '#/components/schemas/from_credit_card' transaction_properties: $ref: '#/components/schemas/transaction_properties' type: $ref: '#/components/schemas/transaction_type' type: object refund_transactions: description: | **Nullable** for Transactions Details. items: $ref: '#/components/schemas/refund_transaction' type: array request_source: description: The source of the request. example: checkout type: string risk_model_contribution: properties: category: description: Internal categories for risk analysis. example: blacklist_email_in_blacklist type: string weight: example: The weight type: string type: object risk_model_contributions: items: $ref: '#/components/schemas/risk_model_contribution' type: array risk_model_result: description: Contains the contributing factors Bolt's risk model used to make a decision. properties: contributions: $ref: '#/components/schemas/risk_model_contributions' type: object review: properties: date: example: 1485997169003 type: integer decision: example: decision type: string risk_model_result: $ref: '#/components/schemas/risk_model_result' source: example: internal type: string type: object risk_payment_instrument_factors.yml: description: Displays the result of the CVV and AVS checks returned at authorization. properties: avs: example: avs result type: string cvv: example: cvv result type: string type: object initialize_saved_payment_input: type: object properties: payment_method: type: object properties: type: type: string enum: - paypal - saved_payment_method description: The type of the payment attempt example: saved_payment_method payment_data: description: Initialize payment for a saved payment method type: object properties: id: type: string description: Payment ID of the saved Bolt Payment method. required: - payment_data - type required: - payment_method update_saved_payment_input: type: object properties: payment_method: type: object properties: type: type: string enum: - paypal - saved_payment_method description: The type of the payment attempt example: saved_payment_method payment_data: description: Initialize payment for a saved payment method type: object properties: id: type: string description: Payment ID of the saved Bolt Payment method. saved_payment_view: type: object properties: action: description: Action after initializing payment type: object properties: type: type: string description: action type example: finalize url: type: string description: action URL example: api.boltapp.com/v1/payments/12345/finalize method: type: string description: action method example: POST shipments: description: A list of shipments. items: description: A cart that is being prepared for shipment properties: cost: $ref: '#/components/schemas/cost' reference: $ref: '#/components/schemas/reference' service: $ref: '#/components/schemas/service' shipping_address: $ref: '#/components/schemas/address' shipping_method: $ref: '#/components/schemas/shipping_method' tax_amount: $ref: '#/components/schemas/amounts' type: object type: array shipping_default: description: Defines if option is default or not. example: true type: boolean shipping_option_description: description: | Additional information about the service. Supports a maximum of 60 characters and the use of ``, with IDs to be used as tooltips. example: The most popular choice type: string shipping_option_description_tooltip_content: description: | The HTML content that the tooltip displays. Supports up to 120 characters and the following HTML elements: ``, ``, `
`, `