Bridge API Keys API

The API Keys API from Bridge — 2 operation(s) for api keys.

Operations 2

POST /api_keys Create a scoped API key
GET /api_keys/whoami Describe the calling API key

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/bridge-api-keys-api"
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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

bridge-api-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bridge API Keys API
  description: APIs to move into, out of, and between any form of a dollar
  version: '1'
servers:
- url: https://api.bridge.xyz/v0
  description: The base path for all resources
security:
- ApiKey: []
tags:
- name: API Keys
paths:
  /api_keys:
    post:
      summary: Create a scoped API key
      description: 'Create a new API key restricted to a subset of scopes. The returned `value` is the only

        opportunity to retrieve the plaintext secret — store it securely. This endpoint does not

        accept an `Idempotency-Key` header; each call creates a new key.


        Callers may only grant scopes they themselves hold (scope subsetting). Unrestricted keys

        may create scoped keys; scoped keys need the `api_key:create` scope. Up to 500 scoped

        keys may exist per developer.

        '
      tags:
      - API Keys
      requestBody:
        description: The scopes to grant the new API key. Must be a non-empty array drawn from `ApiKeyScope`.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiKeyInput'
            examples:
              ScopedKey:
                $ref: '#/components/examples/CreateApiKeyRequest'
      responses:
        '201':
          description: The API key was created. `value` is returned exactly once.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKeyWithSecret'
              examples:
                SuccessfulCreateApiKeyResponse:
                  $ref: '#/components/examples/SuccessfulCreateApiKeyResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /api_keys/whoami:
    get:
      summary: Describe the calling API key
      description: Return metadata about the API key authenticating this request, including its scopes. The plaintext secret is never returned.
      tags:
      - API Keys
      responses:
        '200':
          description: Metadata describing the calling API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
              examples:
                SuccessfulWhoAmIResponse:
                  $ref: '#/components/examples/SuccessfulWhoAmIResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    ApiKeyWithSecret:
      description: Returned only on key creation. `value` is the plaintext secret and is shown exactly once.
      allOf:
      - $ref: '#/components/schemas/ApiKey'
      - required:
        - value
        properties:
          value:
            description: The plaintext secret for this API key. Store it securely — it cannot be retrieved again.
            type: string
            example: sk-live-0123456789abcdef0123456789ab9f2c
    ApiKey:
      required:
      - id
      - type
      - owner_type
      - owner_id
      - prefix
      - last_4
      - state
      - created_at
      - updated_at
      - scopes
      properties:
        id:
          description: The unique identifier for this API key.
          type: string
          format: uuid
        type:
          description: Whether the key was created programmatically (Private) or via the Dashboard (Public).
          type: string
          enum:
          - Public
          - Private
        owner_type:
          description: The type of entity that owns the key. Always `Developer`.
          type: string
          enum:
          - Developer
        owner_id:
          description: The developer ID that owns the key.
          type: string
          format: uuid
        prefix:
          description: The environment prefix of the key. `sk-live` in production, `sk-test` in sandbox.
          type: string
          enum:
          - sk-live
          - sk-test
        last_4:
          description: The last four characters of the key, shown alongside the prefix for disambiguation in audit logs.
          type: string
        state:
          description: Lifecycle state of the key.
          type: string
          enum:
          - Active
          - Deleted
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        scopes:
          description: 'The scopes authorized on this key. A single-element list containing `bridge:api_unrestricted`

            denotes an unrestricted key (all standard scopes). Any other list denotes a scoped key.

            '
          type: array
          items:
            type: string
        name:
          description: The human-readable label for this key, if one was provided at creation.
          type: string
          maxLength: 100
    ApiKeyScope:
      description: A scope that may be granted to a scoped API key. Unrestricted keys are created via the Dashboard and implicitly hold the standard scopes; they cannot be requested here.
      type: string
      enum:
      - api_key:create
      - api_key:self:read
      - audit_log:read
      - batch_settlement:create
      - batch_settlement:read
      - card:create
      - card:delete
      - card:read
      - card:update
      - crypto_return_policy:create
      - crypto_return_policy:delete
      - crypto_return_policy:read
      - crypto_return_policy:update
      - customer:create
      - customer:delete
      - customer:read
      - customer:update
      - customer_creation_request:create
      - customer_creation_request:read
      - developer_fee:create
      - developer_fee:read
      - developer_fee:update
      - developer_trade_configuration:read
      - developer_trade_configuration:update
      - exchange_rate:read
      - external_account:create
      - external_account:delete
      - external_account:read
      - external_account:update
      - inquiry:read
      - inquiry:resume
      - liquidation_address:create
      - liquidation_address:drain:read
      - liquidation_address:drain:update
      - liquidation_address:read
      - liquidation_address:update
      - prefunded_account:create
      - prefunded_account:history:read
      - prefunded_account:read
      - rewards:read
      - sandbox:simulate
      - spender_contract:approval:create
      - spender_contract:approval:read
      - spender_contract:create
      - spender_contract:read
      - tos_link:create
      - tos_link:read
      - transfer:create
      - transfer:create:privy_custodial_wallet
      - transfer:delete
      - transfer:read
      - transfer:update
      - virtual_account:create
      - virtual_account:delete
      - virtual_account:history:read
      - virtual_account:read
      - virtual_account:transaction:read
      - virtual_account:update
      - wallet:create
      - wallet:create:privy_custodial_wallet
      - wallet:customer:read
      - wallet:delete
      - wallet:developer:read
      - wallet:update
      - webhook:create
      - webhook:delete
      - webhook:read
      - webhook:update
    Error:
      required:
      - code
      - message
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 256
        message:
          type: string
          minLength: 1
          maxLength: 512
        source:
          title: ErrorSource
          required:
          - location
          - key
          properties:
            location:
              type: string
              enum:
              - path
              - query
              - body
              - header
            key:
              type: string
              description: Comma separated names of the properties or parameters causing the error
    CreateApiKeyInput:
      required:
      - scopes
      properties:
        scopes:
          description: Scopes to grant the new key. Must be a non-empty array. Each scope must be one you yourself hold (scope subsetting).
          type: array
          minItems: 1
          items:
            $ref: '#/components/schemas/ApiKeyScope'
        name:
          description: A human-readable label for this key, up to 100 characters. Useful for identifying the key's purpose later.
          type: string
          maxLength: 100
  responses:
    UnexpectedError:
      description: Unexpected error. User may try and send the request again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            UnexpectedError:
              summary: An unexpected error
              value:
                errors:
                - code: unexpected
                  message: An expected error occurred, you may try again later
    BadRequestError:
      description: Request containing missing or invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadCustomerRequestErrorExample:
              summary: Bad customer request
              value:
                code: bad_customer_request
                message: fields missing from customer body.
                name: first_name,ssn
    AuthenticationError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            MissingTokenError:
              summary: No Api-Key header
              description: The header may be missing or misspelled.
              value:
                code: required
                location: header
                name: Api-Key
                message: Missing Api-Key header
            InvalidTokenError:
              summary: Invalid key in Api-Key header
              value:
                code: invalid
                location: header
                name: Api-Key
                message: Invalid Api-Key header
  examples:
    SuccessfulWhoAmIResponse:
      summary: A successful whoami request for a scoped API key.
      value:
        id: 5f1f5b3a-8c2b-4e5f-9d88-e0b2a7d3a1e8
        type: Private
        owner_type: Developer
        owner_id: e802b3a4-f453-4da8-8a5b-dd50cede1e4f
        prefix: sk-live
        last_4: 9f2c
        state: Active
        created_at: '2026-04-22T15:04:05Z'
        updated_at: '2026-04-22T15:04:05Z'
        name: Customer service key
        scopes:
        - customer:read
        - customer:create
    CreateApiKeyRequest:
      summary: Create a scoped API key limited to reading and creating customers.
      value:
        name: Customer service key
        scopes:
        - customer:read
        - customer:create
    SuccessfulCreateApiKeyResponse:
      summary: A successful create request for a scoped API key.
      value:
        id: 5f1f5b3a-8c2b-4e5f-9d88-e0b2a7d3a1e8
        type: Private
        owner_type: Developer
        owner_id: e802b3a4-f453-4da8-8a5b-dd50cede1e4f
        prefix: sk-live
        last_4: 9f2c
        state: Active
        created_at: '2026-04-22T15:04:05Z'
        updated_at: '2026-04-22T15:04:05Z'
        name: Customer service key
        scopes:
        - customer:read
        - customer:create
        value: sk-live-0123456789abcdef0123456789ab9f2c
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header