Bridge Cards API

The Cards API from Bridge — 18 operation(s) for cards.

Operations 21

POST /customers/{customerID}/card_accounts/{cardAccountID}/pin Create Card PIN Update URL
POST /customers/{customerID}/card_accounts/{cardAccountID}/ephemeral_keys Generate an Ephemeral Key to Reveal Card Details
GET /developer/cards/summary Get a summary of your card program
GET /developer/cards/designs Get a listing of your card program's card designs
GET /customers/{customerID}/card_accounts/{cardAccountID} Retrieve a card account
PUT /customers/{customerID}/card_accounts/{cardAccountID} Update a card account
GET /customers/{customerID}/card_accounts Get all card accounts
POST /customers/{customerID}/card_accounts Provision a card account
POST /customers/{customerID}/card_accounts/{cardAccountID}/freeze Place a freeze on the card account
POST /customers/{customerID}/card_accounts/{cardAccountID}/unfreeze Unfreeze the card account
POST /customers/{customerID}/card_accounts/{cardAccountID}/create_mobile_wallet_provisioning_request Create a mobile wallet push provisioning request
GET /customers/{customerID}/card_accounts/{cardAccountID}/authorizations Retrieve pending card authorizations
GET /customers/{customerID}/card_accounts/{cardAccountID}/transactions Retrieve card transactions
GET /customers/{customerID}/card_accounts/{cardAccountID}/transactions/{transactionID} Retrieve a card transaction
GET /customers/{customerID}/card_accounts/{cardAccountID}/auth_controls Retrieve authorization controls
POST /customers/{customerID}/card_accounts/{cardAccountID}/deposit_addresses Provision an additional top-up deposit address for the card account
POST /customers/{customerID}/card_accounts/{cardAccountID}/withdrawals Create a funds withdrawal request
GET /customers/{customerID}/card_accounts/{cardAccountID}/withdrawals Retrieve the withdrawal history of funds
GET /customers/{customerID}/card_accounts/{cardAccountID}/withdrawals/{cardWithdrawalID} Retrieve a card withdrawal
POST /customers/{customerID}/card_accounts/{cardAccountID}/statements/{period}.pdf Generate a card account statement
POST /cardholders/{cardholderID}/cards/{cardID}/statements/{period}.pdf Generate a card statement using Stripe IDs

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-cards-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-cards-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bridge API Keys Cards 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: Cards
paths:
  /customers/{customerID}/card_accounts/{cardAccountID}/pin:
    post:
      summary: Create Card PIN Update URL
      description: Generates a URL that can be used to render a secure frame to update the PIN for a card account. The URL is single-use and time-limited.
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - name: cardAccountID
        in: path
        required: true
        description: The ID of the card account
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: URL to update the card PIN
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardPinUpdateResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/ephemeral_keys:
    post:
      summary: Generate an Ephemeral Key to Reveal Card Details
      description: Generates a one-time ephemeral key that can be used to reveal card details. Please see the integration guide on [safely revealing card details](https://apidocs.bridge.xyz/docs/safely-reveal-card-details-to-customers) for more information.
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - name: cardAccountID
        in: path
        required: true
        description: The ID of the card account
        schema:
          type: string
          format: uuid
      requestBody:
        description: The client-side nonce that will be associated with the ephemeral key
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardAccountEphemeralKeyInput'
      responses:
        '200':
          description: Ephemeral key to reveal card details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardAccountEphemeralKeyResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /developer/cards/summary:
    get:
      summary: Get a summary of your card program
      description: Get a summary of your card program, optionally for a specific period.
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CardProgramSummaryPeriodParameter'
      - $ref: '#/components/parameters/CardProgramSummaryPeriodKeyParameter'
      responses:
        '200':
          description: The summary of a card program
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardProgramSummary'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /developer/cards/designs:
    get:
      summary: Get a listing of your card program's card designs
      description: Get a listing of the designs that you can use to issue a card with.
      tags:
      - Cards
      responses:
        '200':
          description: A listing of the designs that you can use to issue a card with.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardDesigns'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/CardAccountIDParameter'
    get:
      summary: Retrieve a card account
      tags:
      - Cards
      description: Retrieve the card account with the specified ID
      responses:
        '200':
          description: The retrieved card account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardAccount'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    put:
      summary: Update a card account
      description: Update a card account. Supports changing the settlement currency or closing a card account by setting the status to "inactive". Closing permanently cancels all associated cards and is irreversible.
      tags:
      - Cards
      requestBody:
        description: The card account update
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                currency:
                  type: string
                  description: The new settlement currency for the card account.
                status:
                  type: string
                  enum:
                  - inactive
                  description: The desired status for the card account. Currently only "inactive" is supported.
      responses:
        '200':
          description: The updated card account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardAccount'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts:
    get:
      summary: Get all card accounts
      tags:
      - Cards
      description: Retrieve all card accounts for a customer. Currently, only one account is supported. An empty array will be returned if no card has been provisioned
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      responses:
        '200':
          description: List of all card accounts owned by the customer
          content:
            application/json:
              schema:
                title: Array of all card accounts
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of card accounts returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/CardAccount'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    post:
      summary: Provision a card account
      description: 'Provision a card account. NOTE: the legacy Bridge Cards API is deprecated, and stablecoin card issuing capabilities are now natively integrated into Stripe Issuing. Please see [this guide](https://apidocs.bridge.xyz/platform/cards/overview/stripe-issuing) for more details on how to enable your account for Stripe Issuing.'
      deprecated: true
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      requestBody:
        description: The card account to be provisioned
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardAccountsInput'
      responses:
        '201':
          description: The successfully created card account
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardAccount'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/freeze:
    post:
      summary: Place a freeze on the card account
      description: Place a freeze on the card account
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      requestBody:
        description: The freeze to be placed on the card account
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardFreezeInput'
      responses:
        '200':
          description: The successfully placed freeze
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/CardFreeze'
                properties:
                  status:
                    type: string
                    description: The processing status of the freeze request
                    readOnly: true
                    enum:
                    - freeze_created
                    - freeze_replaced
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/unfreeze:
    post:
      summary: Unfreeze the card account
      description: Remove the freeze on the card account placed by the specified initiator
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      requestBody:
        description: A request to unfreeze the card account
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardUnfreezeInput'
      responses:
        '200':
          description: The successfully removed freeze
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardUnfreezeResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/create_mobile_wallet_provisioning_request:
    post:
      summary: Create a mobile wallet push provisioning request
      description: Create a request to push-provision a virtual card to a mobile wallet. This endpoint is part of a multiple-step integration that must be completed with each mobile wallet partner
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      requestBody:
        description: A mobile wallet push provisioning request
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardPushProvisioningInput'
      responses:
        '200':
          description: A successful push provisioning response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardPushProvisioningResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/authorizations:
    get:
      summary: Retrieve pending card authorizations
      description: 'Retrieve pending card authorizations.

        Note: this endpoint is not paginated'
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/CardAuthorizationLimitParameter'
      - $ref: '#/components/parameters/StartingTimeParameter'
      - $ref: '#/components/parameters/EndingTimeParameter'
      - $ref: '#/components/parameters/CardAuthorizationStatusParameter'
      responses:
        '200':
          description: Pending card authorizations
          content:
            application/json:
              schema:
                title: List of pending card authorizations
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of card authorizations returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/CardAuthorization'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/transactions:
    get:
      summary: Retrieve card transactions
      description: Retrieve completed card transactions and card-related crypto transaction activities
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/CardTransactionLimitParameter'
      - $ref: '#/components/parameters/StartingTimeParameter'
      - $ref: '#/components/parameters/EndingTimeParameter'
      - $ref: '#/components/parameters/PageSizeParameter'
      - $ref: '#/components/parameters/PageNumberParameter'
      - $ref: '#/components/parameters/CardTransactionStatusParameter'
      - $ref: '#/components/parameters/CardTransactionPaginationTokenParameter'
      - $ref: '#/components/parameters/CardTransactionCategoryFamilyParameter'
      responses:
        '200':
          description: Card transactions
          content:
            application/json:
              schema:
                title: List of card transactions
                type: object
                required:
                - page
                - count
                - total_pages
                - total_count
                - data
                properties:
                  page:
                    type: integer
                    description: The current page number, starting at 1. Note that this will be returned only for navigating posted transactions.
                  pagination_token:
                    type: string
                    description: The pagination token to be used to retrieve the next page of transactions. If not provided, use the `page` parameter to navigate by page number.
                  count:
                    type: integer
                    description: The number of transactions returned
                  total_pages:
                    type: integer
                    description: The total number of pages
                  total_count:
                    type: integer
                    description: The total number of transactions
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/CardTransaction'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/transactions/{transactionID}:
    get:
      summary: Retrieve a card transaction
      description: Retrieve a card transaction with the specified ID
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/CardTransactionIDParameter'
      responses:
        '200':
          description: Card transactions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardTransaction'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/auth_controls:
    get:
      summary: Retrieve authorization controls
      description: Retrieve the applicable spend limits for the given card account
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      responses:
        '200':
          description: The authorization controls
          content:
            application/json:
              schema:
                title: Authorization controls
                type: object
                required:
                - customer_id
                - card_account_id
                - spending_limits
                properties:
                  customer_id:
                    type: string
                    description: The ID of the customer
                  card_account_id:
                    type: string
                    description: The ID of the card account
                  spending_limits:
                    type: array
                    description: The various spending limits for the card account for the current time period
                    items:
                      $ref: '#/components/schemas/CardSpendingLimit'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/deposit_addresses:
    post:
      summary: Provision an additional top-up deposit address for the card account
      description: Provision an additional deposit address for the card account, to allow topping up the card from multiple chains. This is only applicable to Bridge-custodied top-up card accounts. These additional deposit addresses will also be shown in the `additional_funding_instructions` field when fetching the card account details afterwards.
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      requestBody:
        description: The chain to provision the new deposit address on.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostCardAccountDepositAddressInput'
      responses:
        '200':
          description: Details of the successfully created deposit address
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardAccountFundingInstructions'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/withdrawals:
    post:
      summary: Create a funds withdrawal request
      description: Request a funds withdrawal from the card account, applicable to top-up accounts only. For Bridge wallets, create a [transfer](/api-reference/transfers/create-a-transfer) from the Bridge wallet.
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      requestBody:
        description: The withdrawal request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CardWithdrawal'
      responses:
        '201':
          description: The successfully created card funds withdrawal
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardWithdrawal'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    get:
      summary: Retrieve the withdrawal history of funds
      description: Retrieve the withdrawal history of funds, applicable to top-up accounts only
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/WithdrawalStartingAfterParameter'
      - $ref: '#/components/parameters/WithdrawalEndingBeforeParameter'
      responses:
        '200':
          description: The withdrawal history
          content:
            application/json:
              schema:
                title: List of withdrawals
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of withdrawals returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/CardWithdrawal'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/withdrawals/{cardWithdrawalID}:
    get:
      summary: Retrieve a card withdrawal
      description: Retrieve a card withdrawal with the specified ID, applicable to top-up accounts only
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/CardWithdrawalIDParameter'
      responses:
        '200':
          description: The retrieved withdrawal
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CardWithdrawal'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/card_accounts/{cardAccountID}/statements/{period}.pdf:
    post:
      summary: Generate a card account statement
      description: Generate a card account statement for the specified period
      tags:
      - Cards
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/CardAccountIDParameter'
      - $ref: '#/components/parameters/CardStatementPeriodParameter'
      responses:
        '200':
          description: The HTTP response that includes a PDF file as an attachment, with the `Content-Type` set to `application/pdf` and the `Content-Disposition` header configured to indicate it is a statement PDF attachment
          content:
            application/pdf:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Indicates the content is an attachment with a statement PDF file
              schema:
                type: string
                example: inline; filename="statement_202412.pdf"; filename*=UTF-8''statement_202412.pdf
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /cardholders/{cardholderID}/cards/{cardID}/statements/{period}.pdf:
    post:
      summary: Generate a card statement using Stripe IDs
      description: Generate a card account statement for the specified period, using Stripe cardholder and card IDs instead of Bridge internal IDs
      tags:
      - Cards
      parameters:
      - name: cardholderID
        in: path
        required: true
        schema:
          type: string
        description: The Stripe cardholder ID (e.g. `ich_...`)
      - name: cardID
        in: path
        required: true
        schema:
          type: string
        description: The Stripe card ID (e.g. `ic_...`)
      - $ref: '#/components/parameters/CardStatementPeriodParameter'
      responses:
        '200':
          description: The HTTP response that includes a PDF file as an attachment, with the `Content-Type` set to `application/pdf` and the `Content-Disposition` header configured to indicate it is a statement PDF attachment
          content:
            application/pdf:
              schema:
                type: string
                format: binary
          headers:
            Content-Disposition:
              description: Indicates the content is an attachment with a statement PDF file
              schema:
                type: string
                example: inline; filename="statement_202412.pdf"; filename*=UTF-8''statement_202412.pdf
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    CardPinUpdateResponse:
      description: Response containing a secure URL to update a card's PIN
      type: object
      required:
      - url
      properties:
        url:
          type: string
          format: uri
          description: Single-use, time-limited URL that can be used to securely update the card PIN in an iframe
          example: https://secure.example.com/update-pin?token=xyz789
    PostCardAccountsInput:
      required:
      - currency
      - chain
      properties:
        client_reference_id:
          type: string
          description: An optional client-provided reference ID that uniquely identifies the card account in the client's system
        currency:
          $ref: '#/components/schemas/CardsCryptoCurrency'
          description: Crypto currency used by the card account being created
        chain:
          $ref: '#/components/schemas/OfframpChainForCards'
          description: Chain used by the card account being created
        crypto_account:
          $ref: '#/components/schemas/CardCryptoAccount'
        card_design_shortname:
          type: string
          description: The shortname of the card design to use for the card account. If not specified, the default card design will be used.
    PostCardAccountDepositAddressInput:
      description: The details of the new deposit address to be provisioned.
      required:
      - chain
      properties:
        chain:
          type: string
          description: The chain to provision the new deposit address on.
          $ref: '#/components/schemas/OfframpChainForCards'
    CardAccount:
      type: object
      required:
      - id
      - customer_id
      - status
      - balances
      - freezes
      properties:
        id:
          $ref: '#/components/schemas/Id'
          description: ID of the card account
        client_reference_id:
          type: string
          description: The client-provided reference ID
        customer_id:
          $ref: '#/components/schemas/Id'
          description: ID of the customer
        cardholder_name:
          type: object
          $ref: '#/components/schemas/CardholderName'
        card_image_url:
          type: string
          deprecated: true
          description: An expiring URL used to render the card image, with a validity period of 5 minutes. _Note:_ This field will be deprecated in favor of the more secure and scalable card details API. Please see the integration guide on [safely revealing card details](https://apidocs.bridge.xyz/docs/safely-reveal-card-details-to-customers) for more information.
        status:
          type: string
          description: Status of the card account
          enum:
          - active
          - pending
          - inactive
          - frozen
        status_reason:
          type: string
          description: An optional detailed explanation for the card account status
        card_details:
          type: object
          $ref: '#/components/schemas/CardDetails'
        balances:
          type: object
          $ref: '#/components/schemas/CardBalances'
        freezes:
          type: array
          minItems: 0
          items:
            allOf:
            - $ref: '#/components/schemas/CardFreeze'
            properties:
              initiator:
                description: The party that initiated the freeze. A freeze can be initiated by the customer, the developer, or Bridge. Only one freeze per initiator can be active at a time. If a new freeze is initiated by the same party, it overwrites any existing freeze
                enum:
                - bridge
        stripe_card_id:
          type:
          - string
          - 'null'
          description: The [Stripe Issuing card ID](https://docs.stripe.com/api/issuing/cards/object?issuing_card_object-id), if the card account is backed by Stripe Issuing
        crypto_account:
          type: object
          $ref: '#/components/schemas/CardCryptoAccount'
        funding_instructions:
          $ref: '#/components/schemas/CardAccountFundingInstructions'
        additional_funding_instructions:
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/CardAccountFundingInstructions'
    CardsCryptoCurrency:
      type: string
      enum:
      - usdc
    CardBalances:
      description: Balances of the card account
      type: object
      required:
      - available
      - hold
      properties:
        available:
          description: The available balance of the card account
          type: object
          $ref: '#/components/schemas/CardBalance'
        hold:
          description: The balance tha is placed on hold for pending authorizations
          type: object
          $ref: '#/components/schemas/CardBalance'
    GasFee:
      description: The gas fee for a crypto transaction
      required:
      - amount
      - currency
      properties:
        amount:
          type: string
          description: The amount of the gas fee represented as a decimal string
          readOnly: true
        currency:
          type: string
          description: The currency of the gas fee.
          readOnly: true
    CardAccountFundingInstructions:
      description: Funding instructions applicable only to the top-up card funding strategy, which is configured at the developer level
      required:
      - currency
      - chain
      - address
      properties:
        currency:
          $ref: '#/components/schemas/CardsCryptoCurrency'
          description: The crypto currency used by the card account
        chain:
          $ref: '#/components/schemas/OfframpChainForCards'
          description: The chain used by the card account
        address:
          type: string
          description: The deposit address provided by Bridge to fund the card account
        memo:
          type: string
          description: If present, this is the message that the customer MUST include in their on-chain funding transfers. It is only applicable to memo-based blockchains such as Stellar and Tron
    CardCryptoAccount:
      description: The crypto account for a self-custodial card account. This field is not supported for a Bridge-custodial card funding setup (note 

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