Bolt API

The core Bolt merchant API. Covers Bolt shopper accounts (profile, addresses, payment methods), merchant configuration and callbacks, order token creation, shipment tracking, transaction authorize/capture/refund/review/void/update, subscriptions with dunning settings, merchant statements, sandbox testing helpers and webhook registration. Authenticated with an X-Api-Key header for server-side calls, or OAuth 2.0 authorization-code tokens for shopper-scoped account access.

OpenAPI Specification

bolt-financial-bolt-api-openapi.yml Raw ↑
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:
            applica

# --- truncated at 32 KB (346 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bolt-financial/refs/heads/main/openapi/bolt-financial-bolt-api-openapi.yml