Bolt Tokenizer API

The Bolt Tokenizer endpoint, hosted on the separate bolttk.com domain so raw card data never touches the merchant server. Publishes an RSA public key for client-side encryption and exchanges an encrypted card payload for a Bolt payment token that can be used with the transaction APIs.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tokenizer"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

bolt-financial-tokenizer-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Tokenizer Endpoint
  version: 1.0.0
  description: |
    ## About
    The Tokenizer API provides an alternative to our [public npm package](https://www.npmjs.com/package/@boltpay/tokenizer). If you would prefer to use that, you can follow our [Tokenizer documentation](/developers/references/bolt-tokenizer). 

    ## How It Works
    This API uses two endpoints to implement custom back-office integrations such as direct payment processing.

    The `/public_key` endpoint returns a key used in the `/token` endpoint, used to encrypt and decrypt the payload containing credit card information.
servers:
  - url: https://staging.bolttk.com
    description: The Staging URL (Staged Data).
  - url: https://sandbox.bolttk.com
    description: The Sandbox URL (Test Data).
  - url: https://production.bolttk.com
    description: The Production URL (Production Data).
tags:
  - name: Tokenizer
paths:
  /public_key:
    get:
      description: |
        Returns current `public_key` to be used to sign `/token` requests. There is no need for authorization or authentication with this endpoint, nor headers.
      operationId: tokenizerPublicKey
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/public_key_response'
          description: SUCCESS.
        '500':
          content:
            text/plain:
              schema:
                example: Internal server error
                type: string
          description: Internal service error
      summary: Get Public Key
      tags:
        - Tokenizer
  /token:
    post:
      description: |
        Collects and stores the credit card information and returns a token representing the stored card. 

        Alternatively, Bolt also provides an [NPM package](https://help.boltapp.com/developers/references/bolt-tokenizer/) for ease of use. 
      operationId: tokenizerToken
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/post_token_request'
        description: This payload includes credit card information encrypted with a locally generated client public and private key pair, nonce string, and server public key.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/post_token_api_response'
          description: SUCCESS. The token was generated and added to the encrypted payload.
        '422':
          content:
            text/plain:
              schema:
                example: Unprocessable entity
                type: string
          description: Unprocessable entity
        '500':
          content:
            text/plain:
              schema:
                example: Internal server error
                type: string
          description: Internal service error
      summary: Post Token
      tags:
        - Tokenizer
components:
  schemas:
    public_key_response:
      description: |
        A client public key, generated locally.
      example: /v7FsRGXEErA7f9y1uyMW0ApMUnC32RenDPpueLcYV8=
      format: base64
      type: string
    post_token_request:
      description: Post Token
      properties:
        nonce:
          description: An artificial random string which was used to encrypt the payload. Guarantees that each string to be encrypted results in different ciphertext.
          example: enKobp7uZhgDk96Kjp8pjpX+qeWHW9yE
          format: base64
          type: string
        payload:
          description: |
            The credit card information, which has been encrypted and encoded using Elliptic Curve Diffie-Hellman Key Exchange. 

            Contains the json object with following fields:

            | Key | Value | 
            | --- | ----- | 
            | `cc` | The credit card number. | 
            | `cvv` | The card verification value. | 
          example: hoNo0xogjmcOVzTB+Fg6tY7v/ZBp3VBQE4XxMcJMApZU3cANjui5KLI7oYpDBuP+ejop2oU=
          format: base64
          type: string
        public_key:
          $ref: '#/components/schemas/public_key_response'
      type: object
    payload_response:
      description: |
        The encrypted card information and the newly generated card token. It can be decrypted with client private key, server public key and nonce. 

        After decoding and decrypting, the payload is an object: 
        | Object | Value | 
        | ------ | ----- | 
        | `token` | The token is the newly generated credit card token. | 
        | `expiry` | The date at which the token expires. | 
        | `last4` | The last 4 digits of the card number. | 
        | `bin` | The credit card bin. | 
        | `network` | The credit card network. | 
      example: T5m0ig7ROC/6WVJ9f8NcKRPhjEmn9833i3T4lZiTTNbZgOXM8gRXKeNDSH9BrzicqgjEXNriuZn9E8/xL5mb3lpIPAtX0L0dBDpojb/xa/QNi9/zEiZ6+MmBa6EQCEfKZxiOG9l9BMi3gS+UZxGcF18yfra/UXdhnvQW7PGk0Ex2F6MggwjdJOWoPgKG8UROTBMstoL23plFwfGScyZ+g0uo
      format: base64
      type: string
    post_token_api_response:
      description: Token Successfully Created
      properties:
        nonce:
          description: |
            An artificial random string used to decrypt the `payload`.
          example: ObJS+95BqxwqGgPMrvg//XAogXeBsMdP
          format: base64
          type: string
        payload:
          $ref: '#/components/schemas/payload_response'
      type: object