> ## Documentation Index
> Fetch the complete documentation index at: https://developers.circle.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Before reading these docs, install the relevant Circle Skill to get pre-loaded context — skills are LLM-optimized and cover architecture decisions, correct flows, and common pitfalls. In Claude Code: run /plugin marketplace add circlefin/skills then /plugin install circle-skills@circle. With Vercel Skills CLI: run npx skills add circlefin/skills. Available skills: use-usdc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/SKILL.md (balances, transfers, approvals on EVM and Solana); EURC has no skill — see https://developers.circle.com/stablecoins/what-is-eurc.md; bridge-stablecoin https://github.com/circlefin/skills/blob/master/plugins/circle/skills/bridge-stablecoin/SKILL.md (crosschain transfers via CCTP, USDC, EURC, and third-party assets); use-arc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-arc/SKILL.md (Arc chain config, contract deployment, USDC bridging — Arc docs: https://docs.arc.io/llms.txt); use-circle-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-circle-wallets/SKILL.md (choose wallet type); use-developer-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-developer-controlled-wallets/SKILL.md (custodial wallets for payouts and treasury); use-user-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-user-controlled-wallets/SKILL.md (embedded wallets with Web2 login); use-modular-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-modular-wallets/SKILL.md (smart contract wallets with passkeys and ERC-4337); use-gateway https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-gateway/SKILL.md (unified USDC balance, nanopayments); use-smart-contract-platform https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-smart-contract-platform/SKILL.md (deploy, interact, monitor contracts). Pair any skill with the Circle MCP server for live SDK signatures, contract addresses, and chain IDs: {"mcpServers":{"circle":{"url":"https://api.circle.com/v1/codegen/mcp"}}}.
> Read the product overview first. Each product has an overview explaining when and why to use it. Read it before quickstarts.
> Pick the right wallet type. Developer-controlled (you hold keys), user-controlled (end user holds keys via PIN/social login), or modular (smart contract wallets with passkeys). See https://developers.circle.com/wallets.md.
> Use CCTP V2 for crosschain transfers. CCTP natively transfers USDC and EURC via burn-and-mint, and supports permissionless wrapping of third-party assets via lock-and-mint. V1 is legacy; always use V2 unless V1 is specified or the chain requires it (Noble, Sui, and Aptos still require V1). Migration guide: https://developers.circle.com/cctp/migration-from-v1-to-v2.md.
> Use Bridge Kit for frontend bridging. Wraps CCTP with a simpler SDK for user-facing apps. Use CCTP directly for backend transfers.
> Gas Station vs Paymaster. Gas Station sponsors gas for Circle Wallet transactions. Paymaster lets users pay gas in USDC. Different use cases — read both overviews.
> Gateway Nanopayments for sub-cent payments. Gasless USDC micropayments down to $0.000001 via x402 and batched settlement. For pay-per-request APIs, AI agent payments, streaming.
> Look up USDC addresses per chain. Never hardcode — use https://developers.circle.com/stablecoins/usdc-contract-addresses.md.
> Prefer SDKs over raw API calls. Node.js and Python SDKs handle auth, retries, and errors.
> API key required. Bearer token in Authorization header. Testnet and mainnet use separate keys and may use different base URLs depending on the product.
> Set up webhooks when available. Most operations are async. Webhooks deliver transaction confirmations and state changes.
> When calling list endpoints, paginate using pageSize and pageAfter until no nextPageAfter cursor is returned—stopping at the first page silently misses records.
> Building an AI agent? Start with the Agent Stack—Circle CLI, agent wallets, and nanopayments built for autonomous use cases: https://developers.circle.com/agent-stack.md.

# Create a payment intent

> Create a continuous or transient payment intent. Always set `type`: when it is omitted, the default type depends on account configuration.

**Digital Asset Accounts:** crypto payments are available only for custody accounts (`purpose: custody`) and are for third-party payments only. They are not supported when the distributor or the end user is under the Circle FR (`CIRCLE_FR`) or Circle SG (`CIRCLE_SG`) legal entity. Set `merchantWalletId` to the `accountId` of the end user's custody account. Requests that target the master wallet, either by omitting `merchantWalletId` or by passing the distributor's own master wallet ID, are rejected with `403`.

`purposeOfTransfer` is required for Circle Inc (`CIRCLE_INC`) entities with Managed Payments enabled and optional otherwise. `PMT006` is not allowed.




## OpenAPI

````yaml openapi/accounts.yaml post /v1/paymentIntents
openapi: 3.1.0
info:
  version: 1.0.0
  title: Accounts (Stablecoin) API
  description: >
    Circle's Accounts API provides endpoints for managing stablecoin accounts --
    including transfers,

    withdrawals, deposits, wire and ACH bank accounts, and blockchain addresses.


    An **Account** is a general representation of a ledger or custody object
    that holds balances. It can be a business account,

    a stablecoin account ledger for an end user, an extra sub-ledger, or any
    future custody solution.
  license:
    name: Circle License
    url: https://circle.com/terms
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Accounts
    description: Manage accounts.
  - name: Account Groups
    description: Manage custody account groups and their memberships.
  - name: Limits
    description: View effective account limits and current usage.
  - name: Transfers
    description: Manage account transfers.
  - name: Transactions
    description: |
      Get a unified, customer-friendly view of account transaction activity.
  - name: Wires
    description: Manage account bank accounts for wire transfers.
  - name: Deposits
    description: Get information on account bank deposits.
  - name: Withdrawals
    description: Manage account bank withdrawals (fiat offramp).
  - name: ACH
    description: Manage account bank accounts for ACH transfers.
  - name: Deposit Addresses
    description: Manage account deposit addresses.
  - name: Recipient Addresses
    description: Manage account recipient addresses used for transfers.
  - name: Passkeys
    description: >
      Manage WebAuthn passkeys and Strong Customer Authentication (SCA)
      challenges for end users.
  - name: Crypto Payments
    description: >
      Get crypto payments and crypto refunds received through payment intents.
      Available for Digital Asset Accounts only on custody accounts (`purpose:
      custody`), and only for third-party payments. Not supported when the
      distributor or the end user is under the Circle FR (`CIRCLE_FR`) or Circle
      SG (`CIRCLE_SG`) legal entity.
  - name: Crypto Payment Intents
    description: >
      Create, expire, refund, and track payment intents for receiving crypto
      payments. Available for Digital Asset Accounts only on custody accounts
      (`purpose: custody`), and only for third-party payments. Not supported
      when the distributor or the end user is under the Circle FR (`CIRCLE_FR`)
      or Circle SG (`CIRCLE_SG`) legal entity.
  - name: Crypto Payouts
    description: >
      Create and track crypto payouts to recipient addresses. Available for
      Digital Asset Accounts only on custody accounts (`purpose: custody`), and
      only for third-party payouts. Not supported when the distributor or the
      end user is under the Circle FR (`CIRCLE_FR`) or Circle SG (`CIRCLE_SG`)
      legal entity.
  - name: Crypto Address Book
    description: >
      Manage address book recipients used as crypto payout destinations.
      Available for Digital Asset Accounts only on custody accounts (`purpose:
      custody`), and only for third-party payouts. Not supported when the
      distributor or the end user is under the Circle FR (`CIRCLE_FR`) or Circle
      SG (`CIRCLE_SG`) legal entity.
  - name: Webhook Subscriptions
    description: Manage subscriptions to Digital Asset Accounts webhook notifications.
paths:
  /v1/paymentIntents:
    post:
      tags:
        - Crypto Payment Intents
      summary: Create a payment intent
      description: >
        Create a continuous or transient payment intent. Always set `type`: when
        it is omitted, the default type depends on account configuration.


        **Digital Asset Accounts:** crypto payments are available only for
        custody accounts (`purpose: custody`) and are for third-party payments
        only. They are not supported when the distributor or the end user is
        under the Circle FR (`CIRCLE_FR`) or Circle SG (`CIRCLE_SG`) legal
        entity. Set `merchantWalletId` to the `accountId` of the end user's
        custody account. Requests that target the master wallet, either by
        omitting `merchantWalletId` or by passing the distributor's own master
        wallet ID, are rejected with `403`.


        `purposeOfTransfer` is required for Circle Inc (`CIRCLE_INC`) entities
        with Managed Payments enabled and optional otherwise. `PMT006` is not
        allowed.
      operationId: createPaymentIntent
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - $ref: '#/components/schemas/ContinuousPaymentIntentCreationRequest'
                - $ref: '#/components/schemas/PaymentIntentCreationRequest'
              discriminator:
                propertyName: type
                mapping:
                  continuous: '#/components/schemas/ContinuousPaymentIntentCreationRequest'
                  transient: '#/components/schemas/PaymentIntentCreationRequest'
      responses:
        '201':
          description: Successfully created a payment intent.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatePaymentIntentResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '422':
          description: >-
            The request body could not be parsed, for example a malformed
            `expiresOn` timestamp.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: 2
                message: Invalid value for field 'expiresOn'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          description: >-
            A dependency is temporarily unavailable or the same request is
            already being processed. Retry after the number of seconds in
            `Retry-After`.
          headers:
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
                example: 10
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    ContinuousPaymentIntentCreationRequest:
      type: object
      title: Continuous payment intent
      required:
        - idempotencyKey
        - currency
        - settlementCurrency
        - paymentMethods
        - merchantWalletId
        - type
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        currency:
          description: Desired currency for the payment.
          type: string
          enum:
            - USD
            - EUR
        settlementCurrency:
          description: >-
            Desired currency for the payments to settle in. This must match the
            currency used for the payment.
          type: string
          enum:
            - USD
            - EUR
        paymentMethods:
          type: array
          description: Exactly one blockchain payment method.
          minItems: 1
          maxItems: 1
          items:
            $ref: '#/components/schemas/PaymentMethodBlockchainRequest'
        merchantWalletId:
          description: >
            The `accountId` of the end user's custody account that receives the
            payment. Required for Digital Asset Accounts: omitting it, or
            passing the distributor's own master wallet ID, is rejected with
            `403`.
          allOf:
            - $ref: '#/components/schemas/MerchantWalletId'
        purposeOfTransfer:
          $ref: '#/components/schemas/PaymentIntentPurposeOfTransfer'
        type:
          type: string
          description: >-
            Payment intent type. Must be set to `continuous` for continuous
            payment intents.
          enum:
            - continuous
        metadata:
          $ref: '#/components/schemas/PaymentIntentMetadata'
    PaymentIntentCreationRequest:
      type: object
      title: Transient payment intent
      required:
        - idempotencyKey
        - amount
        - settlementCurrency
        - paymentMethods
        - type
        - merchantWalletId
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        amount:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        settlementCurrency:
          description: >-
            Desired currency for the payments to settle in. This must match the
            currency used for the payment method.
          type: string
          enum:
            - USD
            - EUR
        paymentMethods:
          type: array
          description: Exactly one blockchain payment method.
          minItems: 1
          maxItems: 1
          items:
            $ref: '#/components/schemas/PaymentMethodBlockchainRequest'
        merchantWalletId:
          description: >
            The `accountId` of the end user's custody account that receives the
            payment. Required for Digital Asset Accounts: omitting it, or
            passing the distributor's own master wallet ID, is rejected with
            `403`.
          allOf:
            - $ref: '#/components/schemas/MerchantWalletId'
        purposeOfTransfer:
          $ref: '#/components/schemas/PaymentIntentPurposeOfTransfer'
        type:
          type: string
          description: >-
            Payment intent type. Must be explicitly set to `transient` for
            transient payment intents.
          enum:
            - transient
        expiresOn:
          description: >
            The time at which the transient payment intent expires. Once
            expired, the payment intent no longer accepts payments. Must be in
            the future and no more than 24 hours after the time of creation;
            otherwise the request returns error `1128`. A value that is not a
            valid ISO-8601 timestamp returns `422`.
          allOf:
            - $ref: '#/components/schemas/UtcTimestamp'
        metadata:
          $ref: '#/components/schemas/PaymentIntentMetadata'
    CreatePaymentIntentResponse:
      title: CreatePaymentIntentResponse
      properties:
        data:
          anyOf:
            - $ref: '#/components/schemas/PaymentIntent'
            - $ref: '#/components/schemas/ContinuousPaymentIntent'
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: >
            Circle internal status code from the platform `CoreStatusCode` enum
            (and its domain-specific extensions). **This is not the HTTP status
            code** — `-1` is the catch-all unknown error, `1`/`2` indicate API
            parameter problems, `3` is forbidden, `4` is unauthorized, and
            larger values identify domain-specific failures. Consumers should
            rely on the HTTP status line for transport-level error class and on
            this field for the specific Circle error case.
          example: 2
        message:
          type: string
          description: >-
            Internal error message; suitable for logging but not for end-user
            display.
          example: API parameter invalid.
        externalMessage:
          type: string
          description: >
            End-user-displayable error message. Present when the server has
            generated a customer-facing variant for this error; omitted
            otherwise.
          example: The provided amount exceeds the maximum allowed.
        errors:
          type: array
          description: Additional request-field validation errors, when available.
          items:
            $ref: '#/components/schemas/ErrorDetail'
    IdempotencyKey:
      type: string
      description: >-
        Universally unique identifier (UUID v4) idempotency key. This key is
        utilized to ensure exactly-once execution of mutating requests.
      format: uuid
      example: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
    PaymentMethodBlockchainRequest:
      type: object
      required:
        - type
        - chain
      properties:
        type:
          type: string
          enum:
            - blockchain
        chain:
          $ref: '#/components/schemas/Chain'
    MerchantWalletId:
      type: string
      description: >-
        Identifier of the wallet that receives the payment. For Digital Asset
        Accounts, this is the `accountId` of the custody account.
      maxLength: 36
      example: '1000662322'
    PaymentIntentPurposeOfTransfer:
      type: string
      description: >
        Payment reason code describing the purpose of the transfer for the
        payment intent.


        Required for Circle Inc (`CIRCLE_INC`) entities with Managed Payments
        enabled. Optional otherwise.


        `PMT006` (Transfer to own account) is not allowed for payment intents. A
        missing value (when required) or a disallowed or invalid value returns
        error code `INVALID_PURPOSE_OF_TRANSFER`.
      enum:
        - PMT000
        - PMT001
        - PMT002
        - PMT003
        - PMT004
        - PMT005
        - PMT007
        - PMT008
        - PMT009
        - PMT010
        - PMT011
        - PMT012
        - PMT013
        - PMT014
        - PMT015
        - PMT016
        - PMT017
        - PMT018
        - PMT019
        - PMT020
        - PMT021
        - PMT022
        - PMT023
        - PMT024
        - PMT025
        - PMT026
        - PMT027
        - PMT028
        - PMT029
        - PMT030
      example: PMT001
    PaymentIntentMetadata:
      type: object
      description: Optional metadata associated with the payment intent.
      properties:
        customerExternalRef:
          $ref: '#/components/schemas/PaymentCustomerExternalRef'
    CryptoPaymentsMoney:
      type: object
      required:
        - amount
        - currency
      properties:
        amount:
          type: string
          description: Magnitude of the amount, in units of the currency, with a `.`.
          example: '3.14'
        currency:
          description: Currency code.
          type: string
          enum:
            - USD
            - EUR
    UtcTimestamp:
      type: string
      description: ISO-8601 UTC date/time format.
      example: '2020-04-10T02:13:30.000Z'
    XRequestId:
      type: string
      format: uuid
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    PaymentIntent:
      type: object
      description: A transient payment intent.
      required:
        - amount
        - settlementCurrency
        - paymentMethods
      properties:
        id:
          $ref: '#/components/schemas/Id'
        amount:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        amountPaid:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        amountRefunded:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        settlementCurrency:
          description: Desired currency for the payments to settle in.
          type: string
          enum:
            - USD
            - EUR
        paymentMethods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodBlockchain'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/PaymentIntentFees'
        paymentIds:
          description: List of associated payments.
          type: array
          items:
            type: string
            format: uuid
            example: 69808f36-3e5e-4f37-bf82-ca79e4d70fc1
        refundIds:
          description: List of associated refunds.
          type: array
          items:
            type: string
            format: uuid
            example: 425dca6d-ac79-43b6-b0f9-43fdc51de91b
        timeline:
          description: State management timeline.
          type: array
          items:
            $ref: '#/components/schemas/PaymentIntentTimeline'
        expiresOn:
          $ref: '#/components/schemas/UtcTimestamp'
          description: >-
            The time at which the transient payment intent expires. Once
            expired, the payment intent no longer accepts payments.
        updateDate:
          $ref: '#/components/schemas/UtcTimestamp'
        createDate:
          $ref: '#/components/schemas/UtcTimestamp'
        merchantWalletId:
          $ref: '#/components/schemas/MerchantWalletId'
        purposeOfTransfer:
          $ref: '#/components/schemas/PaymentIntentPurposeOfTransfer'
        customerExternalRef:
          $ref: '#/components/schemas/PaymentCustomerExternalRef'
    ContinuousPaymentIntent:
      type: object
      description: A continuous payment intent.
      required:
        - currency
        - settlementCurrency
        - paymentMethods
        - type
      properties:
        id:
          $ref: '#/components/schemas/Id'
        currency:
          description: Desired currency of the payment.
          type: string
          enum:
            - USD
            - EUR
        amountPaid:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        amountRefunded:
          $ref: '#/components/schemas/CryptoPaymentsMoney'
        settlementCurrency:
          description: Desired currency for the payments to settle in.
          type: string
          enum:
            - USD
            - EUR
        paymentMethods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodBlockchain'
        fees:
          type: array
          items:
            $ref: '#/components/schemas/PaymentIntentFees'
        timeline:
          description: State management timeline.
          type: array
          items:
            $ref: '#/components/schemas/PaymentIntentTimeline'
        updateDate:
          $ref: '#/components/schemas/UtcTimestamp'
        createDate:
          $ref: '#/components/schemas/UtcTimestamp'
        type:
          type: string
          enum:
            - continuous
        merchantWalletId:
          $ref: '#/components/schemas/MerchantWalletId'
        purposeOfTransfer:
          $ref: '#/components/schemas/PaymentIntentPurposeOfTransfer'
        customerExternalRef:
          $ref: '#/components/schemas/PaymentCustomerExternalRef'
    ErrorDetail:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Machine-readable error identifier.
          example: invalid_value
        location:
          type: string
          description: Query parameter or request field that caused the error.
          example: assetType
        message:
          type: string
          description: Human-readable description of the specific error.
          example: The operation and assetType combination is invalid.
    Chain:
      type: string
      description: A blockchain that a given currency is available on.
      example: ETH
      enum:
        - ALGO
        - APTOS
        - ARB
        - ARC
        - AVAX
        - BASE
        - BTC
        - CELO
        - CODEX
        - ETH
        - HBAR
        - HYPEREVM
        - INK
        - LINEA
        - NEAR
        - NOBLE
        - OP
        - PLUME
        - PAH
        - POLY
        - SEI
        - SOL
        - SONIC
        - SUI
        - UNI
        - WORLDCHAIN
        - XDC
        - XLM
        - XRP
        - ZKS
    PaymentCustomerExternalRef:
      type: string
      format: uuid
      description: >-
        A customer-supplied reference for reconciliation purposes, used on
        payment intents, payments, and refunds. Must be a UUID. Payouts use a
        separate 36-character limit schema.
      example: 310c458a-18eb-4cbd-8a9a-586d9448ae69
    Id:
      type: string
      description: Unique system-generated identifier for the entity.
      format: uuid
      example: b8627ae8-732b-4d25-b947-1df8f4007a29
    PaymentMethodBlockchain:
      type: object
      required:
        - type
        - chain
      properties:
        type:
          type: string
          enum:
            - blockchain
        chain:
          $ref: '#/components/schemas/Chain'
        address:
          type: string
          example: '0x8381470ED67C3802402dbbFa0058E8871F017A6F'
    PaymentIntentFees:
      type: object
      required:
        - type
        - amount
        - currency
      properties:
        type:
          type: string
          enum:
            - blockchainLeaseFee
            - totalPaymentFees
        amount:
          type: string
          description: Magnitude of the amount, in units of the currency, with a `.`.
          example: '3.14'
        currency:
          description: Currency code.
          type: string
          enum:
            - USD
    PaymentIntentTimeline:
      type: object
      required:
        - status
        - time
      properties:
        status:
          type: string
          enum:
            - created
            - pending
            - active
            - complete
            - expired
            - failed
            - refunded
        context:
          type: string
          enum:
            - underpaid
            - paid
            - overpaid
        reason:
          type: string
          enum:
            - requested_by_merchant
            - fee_collection_failed
        time:
          description: ISO-8601 UTC date/time format.
          type: string
          format: date-time
  headers:
    XRequestId:
      description: >
        Circle-generated universally unique identifier (UUID v4). Useful for
        identifying a specific request when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 2
            message: API parameter invalid.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 4
            message: Unauthorized.
    Forbidden:
      description: The API key does not have permission to access this resource.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 3
            message: Missing permission.
    NotFound:
      description: The specified resource was not found.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 404
            message: Not found.
    InternalServerError:
      description: >-
        The server encountered an unexpected condition that prevented it from
        fulfilling the request.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: -1
            message: 'Something went wrong. errId: 1f0b0c455e40f753f07b4f0ae6abd4b4'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````