openapi: 3.0.0
info:
  version: 1.0.1
  title: Embedded 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
    The Embedded API reference is a consolidation of critical APIs that a developer will use when integrating with Bolt's Embedded Accounts product suite.
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: |
      Create Embedded Accounts user flows for logged-in and guest experiences by interacting with and updating shopper data.
  - name: Transactions
    description: |
      Authorize credit card transactions and perform operations on those transactions with Bolt's transaction API.
  - name: OAuth
    description: |
      Interact with Shopper data by completing the Bolt OAuth process.
  - name: Testing
    description: |
      A collection of endpoints that provide useful functionality to assist in testing your Bolt integration.
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/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/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/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/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
  /v1/tokenizer/proxy:
    post:
      summary: Authorize a Card using TaaS
      description: |
        The `POST  /v1/tokenizer/proxy` endpoint allows enterprise merchants to **securely authorize transactions with their  preferred payment processors (PSPs)** by proxying requests through Bolt's PCI-compliant infrastructure. This API is part of Bolt's Tokenization-as-a-Service (TaaS) platform, enabling merchants to inject sensitive card data (e.g., PAN, CVV) into PSP-native request formats without directly handling raw card data.
        The proxy replaces placeholders in the merchant-defined request body with actual card data retrieved securely using the provided `x-bolt-taas-id`, and forwards the complete request to the specified `x-bolt-forward-to` URL using the HTTP method specified in `x-bolt-forward-verb`.
      operationId: proxyTransaction
      tags:
        - Transactions
      security:
        - X-API-Key: []
      parameters:
        - $ref: '#/components/parameters/x-bolt-forward-to'
        - $ref: '#/components/parameters/x-bolt-taas-id'
        - $ref: '#/components/parameters/x-bolt-forward-verb'
      requestBody:
        description: |
          Use this API to proxy an authorization request to a third-party PSP endpoint using Bolt's secure infrastructure.

            - Replace raw card fields (e.g., card[number]) with placeholders like `{{tk:cc}}`, `{{tk:cvv}}`, `{{tk:exp_month}}`, etc.
            - The placeholders will be securely replaced by Bolt using the identifier from `x-bolt-taas-id`.
            - The `x-bolt-forward-to` header must point to a whitelisted PSP URL.
            - The `x-bolt-forward-verb` header specifies the HTTP method (POST, PUT, or PATCH) for the PSP request.

          **Never submit raw PAN, CVV, or expiration directly. Use placeholders.**
          Supported placeholders:
            - `{{tk:cc}}` – Full card number  
            - `{{tk:cvv}}` – Card CVV  
            - `{{tk:exp_month}}` – Expiration month  
            - `{{tk:exp_year}}` – Expiration year
        required: true
        content:
          application/json:
            schema:
              type: object
            example:
              type: card
              card:
                number: '{{tk:cc}}'
                exp_month: '{{tk:exp_month}}'
                exp_year: '{{tk:exp_year}}'
                cvc: '{{tk:cvv}}'
              billing_details:
                name: Jane Doe
                address:
                  postal_code: '94107'
      responses:
        '200':
          description: Successful proxy to the PSP. Returns the PSP's response along with a unique proxy operation ID for tracking.
          content:
            application/json:
              schema:
                type: object
                properties:
                  status_code:
                    type: integer
                    description: HTTP status code returned by the PSP
                    example: 200
                  body:
                    type: string
                    description: Response body from the PSP (JSON string)
                    example: '{"id":"pm_1NQzWT2eZvKYlo2C","object":"payment_method","type":"card","card":{"last4":"4242","brand":"visa","exp_month":12,"exp_year":2026}}'
                  header:
                    type: object
                    description: Response headers from the PSP
                    additionalProperties:
                      type: array
                      items:
                        type: string
                    example:
                      Content-Type:
                        - application/json
                  proxy_operation_id:
                    type: string
                    description: Unique identifier for this proxy operation
                    example: PROXY-ABC123-DEF456-GHI789
              example:
                status_code: 200
                body: '{"id":"pm_1NQzWT2eZvKYlo2C","object":"payment_method","type":"card","card":{"last4":"4242","brand":"visa","exp_month":12,"exp_year":2026}}'
                header:
                  Content-Type:
                    - application/json
                proxy_operation_id: PROXY-ABC123-DEF456-GHI789
        '400':
          description: Missing required headers or invalid request body
          content:
            application/json:
              example:
                error: Missing required headers (x-bolt-forward-to, x-bolt-taas-id, x-bolt-forward-verb) or invalid JSON body
        '401':
          description: Unauthorized - missing or invalid merchant API key
          content:
            application/json:
              example:
                error: Invalid or missing merchant API key
        '422':
          description: Invalid TaaS ID or credit card/token not found
          content:
            application/json:
              example:
                error: Invalid x-bolt-taas-id. Credit card not found or expired.
        '502':
          description: Upstream PSP error during proxy forwarding
          content:
            application/json:
              example:
                error: Stripe returned 402 - Card declined
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
    transaction_reference_path_param:
      description: This is the Bolt transaction reference. (ex. N7Y3-NFKC-VFRF)
      in: path
      name: REFERENCE
      required: true
      schema:
        type: string
    x-bolt-forward-to:
      name: X-Bolt-Forward-To
      in: header
      description: |
        The fully qualified URL of the payment service provider (PSP) endpoint to which the request should be proxied. This URL must be whitelisted in advance by Bolt.
      required: true
      schema:
        type: string
        example: https://api.stripe.com/v1/payment_methods
    x-bolt-taas-id:
      name: X-Bolt-Taas-Id
      in: header
      description: |
        Provide your Tokenizer-as-a-Service (TaaS) identifier. This value tells Bolt which stored payment method to use when injecting sensitive data into the proxied request. The value must be in the following format:

          - `bolt_token:{token}` - Reference a Bolt-issued short-term token

        Merchant-scoped long-term tokens will be supported in a future release.
        Example usage allows Bolt to securely inject PAN, CVV, and expiration into the forwarded request body.
      required: true
      schema:
        type: string
        example: bolt_token:your_bolt_token_here
    x-bolt-forward-verb:
      name: X-Bolt-Forward-Verb
      in: header
      description: |
        The HTTP method to use when forwarding the request to the payment service provider (PSP) endpoint. This allows merchants to specify the appropriate HTTP verb for their PSP's API requirements.
      required: true
      schema:
        type: string
        enum:
          - POST
          - PUT
          - PATCH
        example: POST
    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
    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
    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
    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
    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
    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
    amount_view:
      properties:
        amount:
          format: int64
          example: 754
          type: number
        currency:
          example: USD
          type: string
        currency_symbol:
          example: $
          type: string
      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
    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
    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
    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
    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
    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
    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
    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_event_view:
      properties:
        content:
          type: string
        time:
          type: number
      type: object
    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
    customer_list_status:
      properties:
        auto_approved:
          type: boolean
        block_listed:
          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
    i_currency:
      properties:
        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
    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
    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
    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
    weight:
      description: The weight of an item.
      example: 22
      type: integer
    package_weights:
      properties:
        unit:
          $ref: '#/components/schemas/weight_unit'
        weight:
          $ref: '#/components/schemas/weight'
      type: object
    reference:
      description: Reference for the object.
      example: '1123'
      type: string
    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
    total_weight:
      properties:
        unit:
          $ref: '#/components/schemas/weight_unit'
        weight:
          $ref: '#/components/schemas/weight'
      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
    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
    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
    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
    refund_transactions_view:
      description: |
        **Nullable** for Transactions Details.
      items:
        $ref: '#/components/schemas/transaction_view'
      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
    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:
      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
    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
    auth_rejection_details_view:
      properties:
        reason_code:
          type: string
        reason_description:
          type: string
      required:
        - reason_description
      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
    url:
      description: The full URL to receive webhook notifications.
      example: https://eva-nerv.shop.com/path/to/hook
      type: string
    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
    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
    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
    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
    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
    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
    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
    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
    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
    subscription_cart:
      description: Cart information about this subscription.
      properties:
        total_amount:
          $ref: '#/components/schemas/amount'
      required:
        - total_amount
      type: object
    offer_cycles:
      description: Describes how long the trial applies to this subscription. Apply this value to the unit in `frequency` to find the trial length; e.g., 1 month.
      example: 1
      format: int64
      type: integer
    subscription_frequency_unit:
      description: The unit for a subscription's frequency.
      enum:
        - second
        - minute
        - hour
        - day
        - week
        - month
        - year
        - none
      example: month
      type: string
    subscription_frequency_value:
      description: The value applied to the unit frequency.
      example: 2
      format: int64
      type: integer
    subscription_frequency:
      description: Describes how often the subscription recurs.
      properties:
        unit:
          $ref: '#/components/schemas/subscription_frequency_unit'
        value:
          $ref: '#/components/schemas/subscription_frequency_value'
      required:
        - unit
        - value
      type: object
    offer_recurring:
      description: The price and frequency for rebill periods.
      properties:
        cart:
          $ref: '#/components/schemas/subscription_cart'
        cycles:
          $ref: '#/components/schemas/offer_cycles'
        frequency:
          $ref: '#/components/schemas/subscription_frequency'
      required:
        - cart
        - frequency
      type: object
    offer_trial:
      description: The price and frequency for the initial period.
      properties:
        cart:
          $ref: '#/components/schemas/subscription_cart'
        cycles:
          $ref: '#/components/schemas/offer_cycles'
        frequency:
          $ref: '#/components/schemas/subscription_frequency'
      required:
        - cycles
      type: object
    cart_item_subscription:
      properties:
        recurring:
          $ref: '#/components/schemas/offer_recurring'
        reference:
          type: string
        trial:
          $ref: '#/components/schemas/offer_trial'
      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_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
    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_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
    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
    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
    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
    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_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
    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_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_order_external_data:
      properties:
        steam_id:
          type: string
      type: object
    i_order_metadata:
      nullable: true
      properties:
        encrypted_user_id:
          example: ID12345678
          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
    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_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
    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_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_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_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_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_credit_card_review:
      properties:
        decision:
          enum:
            - approve
            - reject
          type: string
        transaction_reference:
          $ref: '#/components/schemas/transaction_reference'
      required:
        - decision
        - transaction_reference
      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
    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
    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
    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
    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
    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_non_bolt:
      description: Designates if the order was placed outside of Bolt checkout.
      example: false
      type: boolean
    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
    order_tracking_number:
      description: The carrier's tracking number for the shipment.
      example: EZ1000000001
      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_carrier:
      description: the name of the carrier used for shipment.
      example: UPS
      type: string
    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 `<span>`, with IDs to be used as tooltips.
      example: The <span id="1">most</span> 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: `<i>`, `<b>`, `<br/>`, `<ul>`, `<li>`, and `<a href="...">`
      example: Timeline may vary depending on <b>location</b>.
      type: string
    shipping_option_description_tooltip_target:
      description: The ID of the span used to wrap the description's text. This ID is used to display the tooltip.
      example: 1
      type: integer
    shipping_option_description_tooltip:
      description: An  <span id=\"1\">optional tooltip</span> for a shipping option that supports a maximum of 60 characters (does not include HTML). This tooltip is displayed beneath the shipping option.
      properties:
        html_content:
          $ref: '#/components/schemas/shipping_option_description_tooltip_content'
        target:
          $ref: '#/components/schemas/shipping_option_description_tooltip_target'
      type: object
    shipping_option_description_tooltips:
      description: A list shipping tooltips.
      items:
        $ref: '#/components/schemas/shipping_option_description_tooltip'
      type: array
    shipping_option:
      description: A shipping option.
      properties:
        cost:
          $ref: '#/components/schemas/cost'
        default:
          $ref: '#/components/schemas/shipping_default'
        description:
          $ref: '#/components/schemas/shipping_option_description'
        description_tooltips:
          $ref: '#/components/schemas/shipping_option_description_tooltips'
        discount_by_membership:
          $ref: '#/components/schemas/discount_membership'
        estimated_delivery_date:
          $ref: '#/components/schemas/estimated_delivery_date'
        reference:
          $ref: '#/components/schemas/reference'
        service:
          $ref: '#/components/schemas/service'
        signature:
          $ref: '#/components/schemas/signature'
        tax_amount:
          $ref: '#/components/schemas/tax_amount'
        tax_code:
          $ref: '#/components/schemas/tax_code'
      type: object
    shipping_option_combined:
      description: A shipping option.
      properties:
        cost:
          $ref: '#/components/schemas/cost'
        estimated_delivery_date:
          $ref: '#/components/schemas/estimated_delivery_date'
        reference:
          $ref: '#/components/schemas/reference'
        service:
          $ref: '#/components/schemas/service'
        signature:
          $ref: '#/components/schemas/signature'
        tax_amount:
          $ref: '#/components/schemas/tax_amount'
        tax_code:
          $ref: '#/components/schemas/tax_code'
      type: object
    shipping_options:
      description: A list of shipping options.
      items:
        $ref: '#/components/schemas/shipping_option'
      type: array
    shipping_options_combined:
      description: A list of shipping options.
      items:
        $ref: '#/components/schemas/shipping_option_combined'
      type: array
    shipping_to_store_option:
      description: A shipping option.
      properties:
        address:
          $ref: '#/components/schemas/address'
        cost:
          $ref: '#/components/schemas/cost'
        distance:
          $ref: '#/components/schemas/distance'
        distance_unit:
          $ref: '#/components/schemas/distance_unit'
        reference:
          $ref: '#/components/schemas/reference'
        service:
          $ref: '#/components/schemas/service'
        signature:
          $ref: '#/components/schemas/reference'
        store_name:
          $ref: '#/components/schemas/name_store'
        tax_amount:
          $ref: '#/components/schemas/tax_amount'
      type: object
    shipping_to_store_options:
      description: A list of ship-to-store options.
      items:
        $ref: '#/components/schemas/shipping_to_store_option'
      type: array
    source:
      description: This is the originating source of the request
      enum:
        - direct_payments
        - virtual terminal
      example: direct_payments
      type: string
    source_transaction:
      description: |
        **Nullable** for Transactions Details.
      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'
        indemnification_decision:
          $ref: '#/components/schemas/transaction_indemnification_decision'
        indemnification_reason:
          $ref: '#/components/schemas/transaction_indemnification_reason'
        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'
        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/risk_payment_instrument_factors.yml'
        type:
          $ref: '#/components/schemas/transaction_type'
      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
    status:
      description: The status.
      enum:
        - success
        - failure
      example: success
      type: string
    tags:
      description: A list of tags.
      items:
        $ref: '#/components/schemas/tag'
      type: array
    tax_result:
      properties:
        items:
          $ref: '#/components/schemas/items'
        rate_shipping:
          $ref: '#/components/schemas/rate_shipping'
        rate_subtotal:
          $ref: '#/components/schemas/rate_subtotal'
        subtotal_amount:
          $ref: '#/components/schemas/amount'
      type: object
    timeline_consumer:
      description: The consumer associated to the note.
      properties:
        first_name:
          $ref: '#/components/schemas/first_name'
        id:
          $ref: '#/components/schemas/consumer_id'
        last_name:
          $ref: '#/components/schemas/last_name'
      type: object
    timeline_date:
      description: timeline event view
      example: 1586480400000
      format: int64
      type: integer
    timeline_note:
      description: transaction timeline event note
      example: This is a note.
      type: string
    timeline_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'
        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
    timeline_type:
      description: transaction timeline event type.
      enum:
        - note
        - audit_entry
        - address_change
      type: string
    timeline_visibility:
      description: Defines who has permission to view the note added to the timeline.
      enum:
        - merchant
        - public
      example: merchant
      type: string
    timeline_event:
      description: One event on the timeline.
      properties:
        address_change:
          $ref: '#/components/schemas/address_change'
        amount:
          $ref: '#/components/schemas/amounts'
        consumer:
          $ref: '#/components/schemas/timeline_consumer'
        date:
          $ref: '#/components/schemas/timeline_date'
        note:
          $ref: '#/components/schemas/timeline_note'
        review:
          $ref: '#/components/schemas/review'
        transaction:
          $ref: '#/components/schemas/timeline_transaction'
        type:
          $ref: '#/components/schemas/timeline_type'
        visibility:
          $ref: '#/components/schemas/timeline_visibility'
      type: object
    timeline:
      description: timeline of actions on a transaction
      items:
        $ref: '#/components/schemas/timeline_event'
      type: array
    transaction_auth_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
        email:
          description: The email of the person 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 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:
        - country_code
        - first_name
        - last_name
        - street_address1
        - locality
        - region
        - postal_code
        - country
      type: object
    transaction_custom_fields:
      properties:
        field:
          $ref: '#/components/schemas/custom_fields'
        response:
          example: A response.
          type: string
      type: object
    transaction_custom_fields_array:
      items:
        $ref: '#/components/schemas/transaction_custom_fields'
      type: array
    transaction_decision:
      description: The decision to approve or reject the transaction.
      enum:
        - approve
        - reject
      example: approve
      type: string
    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
    transaction_from_credit_card:
      properties:
        display_network:
          $ref: '#/components/schemas/card_network'
        id:
          $ref: '#/components/schemas/card_id'
        last4:
          $ref: '#/components/schemas/card_last4'
        network:
          $ref: '#/components/schemas/card_network'
      type: object
    transaction_from_user:
      properties:
        emails:
          $ref: '#/components/schemas/emails'
        first_name:
          $ref: '#/components/schemas/first_name'
        id:
          $ref: '#/components/schemas/transaction_id'
        last_name:
          $ref: '#/components/schemas/last_name'
        phones:
          $ref: '#/components/schemas/phones'
      type: object
    transaction_indemnification_status:
      description: |
        Describes whether the indemnification decision and reason are up-to-date.
          * `1` - current
          * `2` - prior
      enum:
        - 1
        - 2
      example: 1
      type: integer
    transaction_publisher_from_credit_card.yml:
      properties:
        display_network:
          $ref: '#/components/schemas/card_network'
        id:
          $ref: '#/components/schemas/card_id'
        last4:
          $ref: '#/components/schemas/card_last4'
        network:
          $ref: '#/components/schemas/card_network'
      type: object
    transaction_publisher_item:
      description: An item with properties.
      properties:
        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'
        taxable:
          $ref: '#/components/schemas/taxable'
        total_amount:
          $ref: '#/components/schemas/amounts'
        type:
          $ref: '#/components/schemas/type'
        unit_price:
          $ref: '#/components/schemas/amounts'
      type: object
    transaction_publisher_items:
      description: A list of items.
      items:
        $ref: '#/components/schemas/transaction_publisher_item'
      type: array
    transaction_publisher_refund_transactions:
      description: List of transaction IDs.
      items:
        $ref: '#/components/schemas/transaction_id'
      type: array
    transaction_recharged:
      properties:
        amount:
          $ref: '#/components/schemas/amounts'
        authorization:
          $ref: '#/components/schemas/transaction_authorization'
        date:
          $ref: '#/components/schemas/transaction_date'
        from_consumer:
          $ref: '#/components/schemas/credit_card_user'
        from_credit_card:
          $ref: '#/components/schemas/credit_card'
        id:
          $ref: '#/components/schemas/transaction_id'
        indemnification_decision:
          $ref: '#/components/schemas/transaction_indemnification_decision'
        indemnification_reason:
          $ref: '#/components/schemas/transaction_indemnification_reason'
        merchant:
          $ref: '#/components/schemas/merchant'
        merchant_division:
          $ref: '#/components/schemas/merchant_division'
        processor:
          $ref: '#/components/schemas/transaction_processor'
        reference:
          $ref: '#/components/schemas/transaction_reference'
        splits:
          $ref: '#/components/schemas/splits'
        status:
          $ref: '#/components/schemas/transaction_status'
        to_consumer:
          $ref: '#/components/schemas/credit_card_user'
        type:
          $ref: '#/components/schemas/transaction_type'
      type: object
    transaction_reviewed:
      properties:
        amount:
          $ref: '#/components/schemas/amounts'
        authorization:
          $ref: '#/components/schemas/transaction_authorization'
        captures:
          description: A list of captures.
          items:
            description: A capture.
            properties:
              amount:
                $ref: '#/components/schemas/amounts'
              id:
                description: The capture's unique ID.
                example: afda45gfa3fa2
                type: string
              splits:
                $ref: '#/components/schemas/splits'
              status:
                $ref: '#/components/schemas/credit_card_authorization_status'
            type: object
          type: array
        date:
          $ref: '#/components/schemas/transaction_date'
        from_consumer:
          $ref: '#/components/schemas/credit_card_user'
        from_credit_card:
          $ref: '#/components/schemas/credit_card'
        id:
          $ref: '#/components/schemas/transaction_id'
        indemnification_decision:
          $ref: '#/components/schemas/transaction_indemnification_decision'
        indemnification_reason:
          $ref: '#/components/schemas/transaction_indemnification_reason'
        merchant:
          $ref: '#/components/schemas/merchant'
        merchant_division:
          $ref: '#/components/schemas/merchant_division'
        processor:
          $ref: '#/components/schemas/transaction_processor'
        reference:
          $ref: '#/components/schemas/transaction_reference'
        risk_insights:
          $ref: '#/components/schemas/risk_insights.yml'
        status:
          $ref: '#/components/schemas/transaction_status'
        to_consumer:
          $ref: '#/components/schemas/credit_card_user'
        type:
          $ref: '#/components/schemas/transaction_type'
      type: object
    unit_price:
      description: Price per unit in cents.
      example: 500
      type: integer
    variants:
      description: A collection of product variations linked to the current product that can vary in size and color or other properties.
      items:
        $ref: '#/components/schemas/product'
      type: array
    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
    webhooks_object:
      description: The type of webhook object.
      example: transaction
      type: string
    adjust_transaction:
      $ref: '#/components/schemas/transaction_view'
    discount_currency:
      $ref: '#/components/schemas/discount_codes'
    order_publisher_cart_order_shipping_address:
      $ref: '#/components/schemas/order_publisher_cart_shipments'
    paypal_payment_input_initialize:
      $ref: '#/components/schemas/initialize_paypal_payment_input'
    paypal_payment_input_update:
      $ref: '#/components/schemas/update_paypal_payment_input'
    product_properties_array:
      $ref: '#/components/schemas/product_properties'
    requested_refund_amount:
      $ref: '#/components/schemas/amount_view'
    saved_payment_input_initialize:
      $ref: '#/components/schemas/initialize_saved_payment_input'
    saved_payment_input_update:
      $ref: '#/components/schemas/update_saved_payment_input'
    total_refund_amount:
      $ref: '#/components/schemas/amount_view'
  responses:
    oauth_400:
      content:
        application/json:
          examples:
            invalid_request:
              value:
                error: invalid_request
                error_description: The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.
            invalid_scope:
              value:
                error: invalid_scope
                error_description: The request scope is invalid, unknown, or malformed.
          schema:
            $ref: '#/components/schemas/errors_oauth_server_response'
      description: Invalid request to OAuth Token.
    oauth_403:
      content:
        application/json:
          examples:
            request_forbidden:
              value:
                error: request_forbidden
                error_description: The request is forbidden. You are not allowed to perform this action.
            unsupported_grant_type:
              value:
                error: unsupported_grant_type
                error_description: The grant type is not supported by Bolt’s authorization server.
          schema:
            $ref: '#/components/schemas/errors_oauth_server_response'
      description: Forbidden request to OAuth Token.
    oauth_422:
      content:
        application/json:
          example:
            error: invalid _grant
            error_description: The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client.
          schema:
            $ref: '#/components/schemas/errors_oauth_server_response'
      description: Unprocessable request to OAuth Token.
    transaction_capture_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_capture_error_404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_void_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_void_error_404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_details:
      content:
        application/json:
          schema:
            properties:
              address_change_request_metadata:
                $ref: '#/components/schemas/address_change_request_metadata_view'
              adjust_transactions:
                $ref: '#/components/schemas/adjust_transactions'
              amount:
                $ref: '#/components/schemas/amount_view'
              auth_verification_status:
                $ref: '#/components/schemas/authorization_verification_status'
              authorization:
                $ref: '#/components/schemas/credit_card_authorization_view'
              authorization_id:
                $ref: '#/components/schemas/authorization_id'
              capture:
                $ref: '#/components/schemas/capture_view'
              captures:
                $ref: '#/components/schemas/captures_view'
              chargeback_details:
                $ref: '#/components/schemas/chargeback_details'
              credit:
                $ref: '#/components/schemas/credit'
              custom_fields:
                $ref: '#/components/schemas/custom_fields'
              customer_list_status:
                $ref: '#/components/schemas/customer_list_status'
              date:
                $ref: '#/components/schemas/transaction_date'
              from_consumer:
                $ref: '#/components/schemas/credit_card_user'
              from_consumer_membership_users:
                $ref: '#/components/schemas/consumer_user_membership'
              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'
              last_viewed_utc:
                $ref: '#/components/schemas/last_viewed_utc'
              last4:
                $ref: '#/components/schemas/card_last4'
              manual_disputes:
                $ref: '#/components/schemas/manual_disputes'
              merchant:
                $ref: '#/components/schemas/merchant'
              merchant_division:
                $ref: '#/components/schemas/merchant_division'
              merchant_order_number:
                $ref: '#/components/schemas/merchant_order_number'
              order:
                $ref: '#/components/schemas/order_view'
              order_decision:
                $ref: '#/components/schemas/order_decision'
              platform_metadata:
                additionalProperties:
                  type: string
                type: object
              processor:
                $ref: '#/components/schemas/transaction_processor'
              reference:
                $ref: '#/components/schemas/transaction_reference'
              refund_transaction_ids:
                $ref: '#/components/schemas/refund_transaction_ids'
              refund_transactions:
                $ref: '#/components/schemas/refund_transactions_view'
              refunded_amount:
                $ref: '#/components/schemas/amount_view'
              review_ticket:
                $ref: '#/components/schemas/review_ticket'
              risk_insights:
                $ref: '#/components/schemas/risk_insights.yml'
              risk_review_status:
                $ref: '#/components/schemas/risk_review_status'
              risk_score:
                type: integer
              source_transaction:
                $ref: '#/components/schemas/transaction_view'
              splits:
                $ref: '#/components/schemas/splits_view'
              status:
                $ref: '#/components/schemas/transaction_status'
              timeline:
                $ref: '#/components/schemas/transaction_timeline_view'
              to_consumer:
                $ref: '#/components/schemas/consumer_self_view'
              to_credit_card:
                $ref: '#/components/schemas/credit_card_view'
              transaction_properties:
                additionalProperties:
                  type: string
                type: object
              transaction_rejection_details:
                $ref: '#/components/schemas/transaction_rejection_details_view'
              type:
                $ref: '#/components/schemas/transaction_type'
              view_status:
                type: string
              void:
                $ref: '#/components/schemas/credit_card_void_view'
              void_cause:
                type: string
            type: object
      description: |
        Transaction Details Retrieved
    transaction_details_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_details_error_422:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_details_error_404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    check_account:
      content:
        application/json:
          schema:
            properties:
              has_bolt_account:
                $ref: '#/components/schemas/has_bolt_account'
            type: object
      description: Success
    check_account_error:
      content:
        application/json:
          schema:
            properties:
              code:
                $ref: '#/components/schemas/1005_code'
              message:
                $ref: '#/components/schemas/1005_message'
            type: object
      description: No Bolt account discovered.
    merchant_callbacks_error_400:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: BAD REQUEST. Request is malformed or invalid value types are detected. division_id could be invalid.
    merchant_callbacks_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Invalid Merchant API Key
    merchant_identifier_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Invalid Merchant API Key
    order_create:
      content:
        application/json:
          schema:
            properties:
              token:
                $ref: '#/components/schemas/order_token'
            type: object
      description: Order Created Successfully
    order_create_error:
      content:
        application/json:
          schema:
            properties:
              error:
                $ref: '#/components/schemas/error'
              event:
                enum:
                  - orders
                type: string
              status:
                enum:
                  - failure
                type: string
            type: object
      description: Order Creation Failed
    order_generate:
      content:
        application/json:
          schema:
            properties:
              cart:
                $ref: '#/components/schemas/cart_order_generated'
              token:
                $ref: '#/components/schemas/order_token'
              user_note:
                $ref: '#/components/schemas/user_note'
            type: object
      description: Token Generation Successful
    order_generate_error_400:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    order_generate_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    order_generate_error_422:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    order_track:
      content:
        application/json:
          schema:
            required:
              - url
            type: object
      description: Order Tracking Successful
    order_track_error_400:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    statements_view:
      content:
        application/json:
          schema:
            properties:
              url:
                $ref: '#/components/schemas/statements_url'
            required:
              - url
            type: object
      description: Statements Fetch Successful
    statements_view_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    statements_view_error_404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    statements_view_error_422:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_capture:
      content:
        application/json:
          schema:
            properties:
              captures:
                $ref: '#/components/schemas/captures'
              id:
                $ref: '#/components/schemas/transaction_id'
            type: object
      description: Capture Successful
    transaction_capture_error_422:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_recharge:
      content:
        application/json:
          schema:
            properties:
              transaction:
                $ref: '#/components/schemas/transaction_recharged'
            type: object
      description: Recharge Successful
    transaction_review:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/transaction_reviewed'
      description: Review Successful
    transaction_review_error_403:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
    transaction_review_error_404:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: The requested entity was not found. transaction_id not found
    transaction_review_error_422:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/errors_bolt_api_response'
      description: Generic Error Schema
  securitySchemes:
    OAuth:
      description: |
        Bolt utilizes the OAuth flow that developers can use to attain access to Bolt Account data via APIs.
        For all APIs that require authorization, please provide your `access_token` returned from `/v1/oauth/token` via the basic auth bearer header `Authorization: bearer ${TOKEN}`.
        [Read more about the OAuth token endpoint.](/api-bolt/#tag/OAuth)
      flows:
        authorizationCode:
          authorizationUrl: https://api.boltapp.com/v1/oauth/authorize
          refreshUrl: https://api.boltapp.com/v1/oauth/token
          scopes:
            bolt.account.manage: This scope grants permissions to perform read/edit/delete actions on Bolt Account data
            bolt.account.view: This scope grants permissions to perform read only actions on Bolt Account data
            openid: This scope grants permissions that enable Bolt SSO by granting an id token JWT that stores account data. Not used in v1/account endpoints
          tokenUrl: https://api.boltapp.com/v1/oauth/token
      type: oauth2
    X-API-Key:
      description: Admins and Developers can obtain their Bolt API key from the Bolt Merchant Dashboard.
      in: header
      name: X-API-Key
      type: apiKey
  requestBodies:
    capture_transaction:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/capture_transaction_with_reference'
      description: Capture a Transaction
    order_create:
      content:
        application/json:
          schema:
            properties:
              Cart:
                $ref: '#/components/schemas/cart_publisher'
              MerchantDivisionID:
                $ref: '#/components/schemas/merchant_division_id'
              Metadata:
                $ref: '#/components/schemas/publisher_order_metadata'
            required:
              - event
              - data
            type: object
    order_generate:
      content:
        application/json:
          schema:
            properties:
              cart:
                $ref: '#/components/schemas/order_generate_cart'
              user_note:
                $ref: '#/components/schemas/user_note'
            required:
              - cart
            type: object
      description: Generate Order Token
    order_track:
      content:
        application/json:
          schema:
            properties:
              carrier:
                $ref: '#/components/schemas/shipping_carrier'
              is_non_bolt_order:
                $ref: '#/components/schemas/order_non_bolt'
              items:
                $ref: '#/components/schemas/items'
              tracking_number:
                $ref: '#/components/schemas/order_tracking_number'
              transaction_reference:
                $ref: '#/components/schemas/transaction_reference'
            required:
              - transaction_reference
              - tracking_number
              - carrier
              - items
            type: object
      description: Send order tracking details.
    statements_view:
      content:
        application/json:
          schema:
            properties:
              date:
                $ref: '#/components/schemas/statements_date'
              file_type:
                $ref: '#/components/schemas/statements_file_type'
              type:
                $ref: '#/components/schemas/statements_type'
            required:
              - type
              - file_type
              - date
            type: object
      description: View Statements
    transaction_recharge:
      content:
        application/json:
          schema:
            properties:
              cart:
                $ref: '#/components/schemas/cart_transaction_recharge'
              consumer_id:
                $ref: '#/components/schemas/consumer_id'
              credit_card_id:
                $ref: '#/components/schemas/card_id'
              source:
                $ref: '#/components/schemas/source'
            required:
              - cart
              - source
            type: object
      description: Authorize a Transaction
    transaction_review:
      content:
        application/json:
          schema:
            properties:
              decision:
                $ref: '#/components/schemas/transaction_decision'
              transaction_reference:
                $ref: '#/components/schemas/transaction_reference'
            required:
              - decision
            type: object
      description: Review a Transaction
    transaction_void:
      content:
        application/json:
          schema:
            properties:
              skip_hook_notification:
                $ref: '#/components/schemas/transaction_skip_hook_notification'
              transaction_id:
                $ref: '#/components/schemas/transaction_id'
              transaction_reference:
                $ref: '#/components/schemas/transaction_reference'
            type: object
      description: Void a Transaction
