> ## 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.

# Get a payment

> Returns the PII fields needed to collect to make this payment (i.e. travel rule and beneficiary account data)



## OpenAPI

````yaml openapi/cpn-ofi.yaml get /v1/cpn/payments/{paymentId}
openapi: 3.0.3
info:
  description: CPN OFI REST API
  title: CPN OFI
  version: '1.0'
  license:
    name: Proprietary
    url: https://www.circle.com/legal
servers:
  - url: https://api.circle.com
security:
  - BearerAuth: []
tags:
  - name: Configurations
    description: Manage OFI configurations and settings
  - name: Quotes
    description: Handle quote-related operations
  - name: Payments
    description: Create and manage payment operations
  - name: Transactions
    description: Handle transaction-related operations
  - name: Requests for Information
    description: Manage Requests for Information (RFIs)
  - name: Support Tickets
    description: Manage support ticket operations
paths:
  /v1/cpn/payments/{paymentId}:
    get:
      tags:
        - Payments
      summary: Get a payment
      description: >-
        Returns the PII fields needed to collect to make this payment (i.e.
        travel rule and beneficiary account data)
      operationId: getPayment
      parameters:
        - $ref: '#/components/parameters/PaymentId'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaymentResponse'
          description: Payment found.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
      security:
        - BearerAuth: []
components:
  parameters:
    PaymentId:
      name: paymentId
      description: The payment id created previously.
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  schemas:
    PaymentResponse:
      title: PaymentResponse
      type: object
      required:
        - data
      properties:
        data:
          $ref: '#/components/schemas/Payment'
    Id:
      type: string
      format: uuid
      description: System-generated unique identifier of the resource.
      example: c4d1da72-111e-4d52-bdbf-2e74a2d803d5
    Payment:
      type: object
      description: >-
        Response schema for a payment containing all payment details including
        source and destination amounts, fees, status, and related transactions
      required:
        - id
        - quoteId
        - paymentMethodType
        - blockchain
        - senderAddress
        - refCode
        - customerRefId
        - expireDate
        - createDate
        - status
        - useCase
        - reasonForPayment
        - sourceAmount
        - destinationAmount
        - fees
        - type
      properties:
        type:
          type: string
          description: Resource type identifier
          readOnly: true
          enum:
            - payment
          example: payment
        id:
          $ref: '#/components/schemas/Id'
        quoteId:
          $ref: '#/components/schemas/ReferenceId'
        paymentMethodType:
          $ref: '#/components/schemas/PaymentMethodType'
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        senderAddress:
          $ref: '#/components/schemas/BlockchainAddress'
        refundAddress:
          type: string
          description: >-
            The wallet address where funds will be returned if a payment fails.
            This address must be on the same blockchain as the original sender's
            address. The `refundAddress` can be different from `senderAddress`.
          example: '0x7d9f3f9c2b7e4c0a5a9f3e8b4d2c1a0f5e6d7c8b'
        refCode:
          $ref: '#/components/schemas/ReferenceId'
        customerRefId:
          $ref: '#/components/schemas/ReferenceId'
        beneficiaryRefId:
          $ref: '#/components/schemas/ReferenceId'
        fiatNetworkPaymentRef:
          $ref: '#/components/schemas/ReferenceId'
        expireDate:
          $ref: '#/components/schemas/ExpireDate'
        createDate:
          $ref: '#/components/schemas/CreateDate'
        status:
          $ref: '#/components/schemas/PaymentStatus'
        failureReason:
          $ref: '#/components/schemas/PaymentFailureReason'
        failureCode:
          $ref: '#/components/schemas/PaymentFailureCode'
        useCase:
          $ref: '#/components/schemas/UseCase'
        reasonForPayment:
          $ref: '#/components/schemas/ReasonForPayment'
        activeRfi:
          $ref: '#/components/schemas/Rfi'
        rfis:
          type: array
          items:
            type: object
            required:
              - id
              - status
            properties:
              id:
                $ref: '#/components/schemas/Id'
              status:
                $ref: '#/components/schemas/RfiStatus'
          description: Array of all rfi ids related to payment.
        onChainTransactions:
          type: array
          items:
            type: object
            required:
              - id
              - status
            properties:
              id:
                $ref: '#/components/schemas/Id'
              status:
                $ref: '#/components/schemas/TransactionStatus'
          description: Array of on chain transactions related to the payments.
        sourceAmount:
          $ref: '#/components/schemas/CryptoMoney'
        destinationAmount:
          $ref: '#/components/schemas/FiatMoney'
        fees:
          $ref: '#/components/schemas/PaymentFees'
        fiatSettlementTime:
          $ref: '#/components/schemas/ArrivalTime'
        refunds:
          type: array
          description: Array of all refunds related to payment.
          items:
            type: object
            required:
              - id
              - status
            properties:
              id:
                $ref: '#/components/schemas/Id'
              status:
                type: string
                enum:
                  - CREATED
                  - COMPLETED
                  - FAILED
                description: Refund status.
              amount:
                $ref: '#/components/schemas/CryptoMoney'
              transactionHash:
                type: string
                nullable: true
                description: Transaction hash if refund has been sent onchain.
        metadata:
          $ref: '#/components/schemas/Metadata'
        statusAddendum:
          type: string
          description: Additional context about the payment status.
          enum:
            - IN_MANUAL_REVIEW
            - PAYMENT_SETTLEMENT_DELAYED
    XRequestId:
      type: string
      description: >-
        A unique identifier, which can be helpful for identifying a request when
        communicating with Circle support.
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    ErrorCode:
      title: ErrorCode
      type: integer
      description: Code that corresponds to the error.
      enum:
        - -1
        - 0
        - 1
        - 2
        - 3
        - 290000
        - 290001
        - 290100
        - 290101
        - 290102
        - 290103
        - 290200
        - 290201
        - 290202
        - 290203
        - 290204
        - 290205
        - 290206
        - 290211
        - 290300
        - 290301
        - 290302
        - 290303
        - 290304
        - 290305
        - 290306
        - 290307
        - 290308
        - 290309
        - 290310
        - 290311
        - 290312
        - 290313
        - 290314
        - 290315
        - 290316
        - 290317
        - 290318
        - 290319
        - 290320
        - 290321
        - 290322
        - 290323
        - 290324
        - 290325
        - 290327
        - 290328
        - 290329
        - 290330
        - 290331
        - 290332
        - 290333
        - 290338
        - 290339
        - 290340
        - 290341
        - 290349
        - 290352
        - 290400
        - 290401
        - 290500
        - 290502
        - 290503
        - 290600
        - 290601
        - 290602
        - 290603
        - 290604
        - 290605
        - 290606
      x-enum-descriptions:
        - Unknown error
        - Success
        - API parameter missing
        - API parameter invalid
        - Forbidden
        - >-
          Parameters of request do not match the tenancy environment associated
          with request
        - A request with this idempotency key has already been processed.
        - Amount provided is outside our supported limits
        - No bfis available to create requested quote
        - Parameters of request do not match any supported payment routes
        - Route does not support the requested use case
        - Quote not found with provided id
        - Quote already used by another payment
        - Quote past timestamp at which it expires
        - Blockchain for sender address does not blockchain requested in quote
        - Provided wallet address is on sanctioned lists
        - Pending RFI verification
        - RFI rejected
        - Payment use case does not match the quote.
        - Payment already has an associated active or completed transaction
        - Blockchain is not supported by CPN
        - Blockchain is not supported for V2 transactions
        - Submitting a transaction not in submittable status
        - Payment not in correct status for processing a onchain transfer
        - The payment is not found
        - The transaction is not found
        - A signed transaction for the transaction has already been submitted
        - The payment is expired
        - >-
          The signed transaction is expired. Solana has a concept of recent
          blockhash in a transaction that expires after 150 blocks (~1 min)
        - >-
          The nonce in the signed transaction is lower than the current wallet
          nonce
        - The signed transaction payload does not match the payment
        - The sender's wallet balance is insufficient
        - The fee payer wallet lacks enough gas
        - >-
          The CPN Payment ID provided in the signed data (e.g., in the Solana
          memo or EIP-712 structure) does not match the expected value
        - >-
          The gas price in the signed transaction is below network thresholds.
          The fee must exceed the estimated high fee to ensure prompt
          confirmation
        - >-
          When resubmitting (e.g., for acceleration), the wallet address to sign
          the raw transaction or nonce does not match the original submission
        - >-
          The full node used by CPN is currently unavailable or returns an
          unexpected error during transaction validation
        - The Payment Ref ID has already been used on-chain
        - >-
          For EVM chains, the gas limit in the signed transaction is
          insufficient to cover the execution costs. For Solana, the allocated
          compute budget falls short of the transaction's requirements,
          preventing successful execution
        - >-
          The nonce has already been used with the same sender in another signed
          transaction submission for a CPN payment. The OFI must use a unique
          nonce
        - The signature in the transaction is invalid
        - Provided wallet address is on sanctioned lists
        - The blockchain is not supported by CPN
        - The cross-chain is not supported by CPN yet
        - Completed transaction exist. No need to accelerate
        - The signed transaction cannot be decoded or is invalid
        - The Solana account specified for transaction is not found
        - The targetted transaction for action is expired
        - >-
          Please sign existing transaction or wait for signed transaction to be
          broadcast
        - No broadcasted transaction to be accelerated
        - The Solana account specified for transaction is invalid
        - >-
          Another transaction for the same CPN payment has already been
          submitted and is being broadcasted
        - >-
          A signature for the transaction has already been submitted and
          accepted.
        - >-
          The submitted signature cannot be verified against the typed data to
          be signed. This typically indicates that the signature signed with the
          wrong private key, or the typed data gets manipulated before signing.
        - >-
          The ERC-20 allowance granted to the Permit2 contract is insufficient
          to cover the total required token amount for the payment, including
          both the payment amount and associated fees.
        - >-
          The Permit2 nonce included in the typed data for the sender has
          already been used.
        - >-
          Blockchain is not supported for V1 transactions; use
          transactionVersion=VERSION_2.
        - >-
          The signed transaction was submitted after the onchain settlement
          cutoff.
        - RFI is past timestamp at which it expires
        - RFI cannot be submitted in current status
        - >-
          The decryption process failed, possibly due to an invalid key or
          corrupted data
        - >-
          The JWE compact payload is not formatted correctly or is missing
          required components
        - >-
          The JWE compact payload was not encrypted with a supported encryption
          algorithm
        - Ticket reference ID is required for escalation tickets
        - Original ticket not found with provided reference ID
        - Issue type is not allowed for this origin
        - Payment not found with provided ID
        - Failed to create Circle Salesforce support ticket
        - Failed to create a BFI support ticket
        - Support ticket not found with provided ID
    DescriptiveError:
      title: DescriptiveError
      type: object
      required:
        - error
        - message
      properties:
        error:
          $ref: '#/components/schemas/DescriptiveErrorType'
        location:
          type: string
          nullable: true
          description: The key or path where the error occurred
        message:
          type: string
          description: Detailed description of the error
    ReferenceId:
      type: string
      description: Reference or description used to identify the object.
      example: custom_ref_id
    PaymentMethodType:
      type: string
      description: The method used for the payment (e.g., PIX, WIRE, CHATS)
      enum:
        - AANI
        - ACH-BANK-TRANSFER
        - BANK-TRANSFER
        - CHATS
        - CIPS
        - FAST
        - FEDWIRE
        - FPS
        - FTS
        - IMPS
        - INSTAPAY
        - NEFT
        - NEQUI
        - PESONET
        - PIX
        - RTGS
        - SD-ACH
        - SEPA
        - SPEI
        - SPID
        - WIRE
      example: SPEI
    Blockchain:
      type: string
      description: Supported blockchain networks
      enum:
        - SOL
        - MATIC
        - ETH
        - ARC
        - SOL-DEVNET
        - MATIC-AMOY
        - ETH-SEPOLIA
        - ARC-TESTNET
      example: ETH-SEPOLIA
    BlockchainAddress:
      type: string
      description: >-
        A blockchain address that can be used to send or receive transactions on
        a blockchain network.
      example: '0xe01be9cdd9e744ae6a709794bfe531ec3ec0671c'
    ExpireDate:
      type: string
      format: date-time
      description: Date and time when the resource expires
      example: '2023-01-01T12:04:05Z'
    CreateDate:
      type: string
      format: date-time
      description: Date and time when the resource was created
      example: '2023-01-01T12:04:05Z'
    PaymentStatus:
      type: string
      description: The current status of a payment
      enum:
        - CREATED
        - CRYPTO_FUNDS_PENDING
        - FIAT_PAYMENT_INITIATED
        - COMPLETED
        - FAILED
      example: COMPLETED
    PaymentFailureReason:
      type: string
      enum:
        - TRAVEL_RULE_FAILED
        - BANK_VERIFICATION_FAILED
        - RFI_VERIFICATION_FAILED
        - EXISTING_RFI_PENDING
        - ONCHAIN_SETTLEMENT_FAILED
        - ONCHAIN_SETTLEMENT_CUTOFF_TIME_EXCEEDED
        - COMPLIANCE_CHECK_FAILED
        - CANCELLED
        - PAYMENT_EXPIRED
        - OTHER
      example: CANCELLED
    PaymentFailureCode:
      type: string
      description: >-
        The code for the detailed description of the payment failure reason. For
        more details see [Payment Failure
        Codes](https://developers.circle.com/cpn/references/payment-failure-codes).
      pattern: ^PM\d{5}$
      example: PM01001
    UseCase:
      type: string
      enum:
        - B2B
        - B2C
        - C2C
        - C2B
      example: B2B
      description: The type of payment use case
    ReasonForPayment:
      type: string
      description: >-
        The reason code for the payment. For more details see [Payment Reason
        Codes](https://developers.circle.com/cpn/references/payment-reason-codes).
      pattern: ^PMT\d{3}$
      enum:
        - PMT001
        - PMT002
        - PMT003
        - PMT004
        - PMT005
        - PMT006
        - 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
    Rfi:
      type: object
      description: Response schema for Request for Information (RFI) details
      required:
        - id
        - paymentId
        - status
        - level
        - requiredFields
        - expireDate
        - type
      properties:
        type:
          type: string
          description: Resource type identifier
          readOnly: true
          enum:
            - rfi
          example: rfi
        id:
          $ref: '#/components/schemas/Id'
        paymentId:
          $ref: '#/components/schemas/Id'
        status:
          $ref: '#/components/schemas/RfiStatus'
        level:
          $ref: '#/components/schemas/RfiLevel'
        expireDate:
          $ref: '#/components/schemas/ExpireDate'
        certificate:
          $ref: '#/components/schemas/Certificate'
        fieldRequirements:
          $ref: '#/components/schemas/RfiSchema'
        fileRequirements:
          type: array
          items:
            $ref: '#/components/schemas/RfiFile'
    RfiStatus:
      type: string
      description: Status of the RFI (Request for Information)
      enum:
        - INFORMATION_REQUIRED
        - IN_REVIEW
        - APPROVED
        - REJECTED
      example: APPROVED
    TransactionStatus:
      type: string
      description: Lifecycle status of a transaction
      enum:
        - CREATED
        - PENDING
        - BROADCASTED
        - COMPLETED
        - FAILED
      example: PENDING
    CryptoMoney:
      type: object
      description: >-
        Represents an amount of cryptocurrency, including both the numerical
        amount and the specific cryptocurrency type.
      properties:
        amount:
          type: string
          example: '110.270000'
        currency:
          $ref: '#/components/schemas/CryptoCurrency'
      example:
        amount: '110.270000'
        currency: USDC
    FiatMoney:
      type: object
      description: >-
        Represents an amount of money in a specific fiat currency, including
        both the numerical amount and the currency type.
      properties:
        amount:
          type: string
          example: '183.24'
        currency:
          $ref: '#/components/schemas/FiatCurrency'
    PaymentFees:
      type: object
      description: >-
        A collection of fees associated with a payment transaction, including
        both individual fee breakdowns and the total amount.
      properties:
        breakdown:
          type: array
          description: >-
            Detailed breakdown of individual fees that make up the total payment
            fees.
          items:
            $ref: '#/components/schemas/PaymentFee'
        totalAmount:
          $ref: '#/components/schemas/CryptoMoney'
    ArrivalTime:
      type: object
      description: >-
        Estimated time range for when funds will arrive at their destination
        after a transfer is initiated. The time varies depending on the fiat
        payment method used (e.g., ACH, SEPA, Wire). The time is represented as
        a range with minimum and maximum values in the specified unit.
      properties:
        max:
          type: string
          example: '3'
        min:
          type: string
          example: '1'
        unit:
          type: string
          enum:
            - MINUTES
            - HOURS
            - DAYS
            - WEEKS
          example: DAYS
    Metadata:
      type: object
      description: >-
        Key-value pairs for storing reference data. Up to 50 keys allowed, with
        key names up to 50 characters and values up to 400 characters.
      additionalProperties:
        type: string
        description: Metadata value
        maxLength: 400
    DescriptiveErrorType:
      title: DescriptiveErrorType
      type: string
      enum:
        - MISSING_OR_INVALID_FIELD
      description: Type of descriptive error
    RfiLevel:
      type: string
      description: Level of the RFI (Request for Information)
      enum:
        - LEVEL_1
        - LEVEL_2
        - LEVEL_3
      example: LEVEL_1
    Certificate:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/Id'
        certPem:
          type: string
          format: base64
          description: Base64 encoded certificate in PEM format
          example: LS0tLS1CRUdJT...
        domain:
          type: string
          description: >-
            BFI domain which is available in the CommonName attribute of the
            cert
          example: api.circle.com
        jwk:
          $ref: '#/components/schemas/JWK'
    RfiSchema:
      type: object
      properties:
        version:
          type: integer
          description: Version of the RFI requirement schema provided by CPN.
          example: 1
        schema:
          type: object
          description: >-
            JSON schema for the RFI requirements. Note that references use 'ref'
            instead of '$ref' to avoid YAML parsing issues.
          example:
            type: object
            $defs:
              address:
                type: object
                required:
                  - street
                  - city
                  - country
                properties:
                  city:
                    type: string
                    description: City name
                  street:
                    type: string
                    description: Street address
                  country:
                    type: string
                    pattern: ^[A-Z]{2}$
                    description: Country code (e.g., US, GB)
                  postalCode:
                    type: string
                    description: Postal or ZIP code
                  stateProvince:
                    type: string
                    description: State or province
                description: Full address
              individual:
                type: object
                required:
                  - name
                  - address
                  - dateOfBirth
                properties:
                  name:
                    type: string
                    description: Individual's full name
                  address:
                    ref: '#/$defs/address'
                  dateOfBirth:
                    type: string
                    format: date
                    description: Individual's date of birth (YYYY-MM-DD)
                description: Individual's RFI data
              beneficiaryOwner:
                type: object
                required:
                  - name
                  - address
                  - dateOfBirth
                  - percentage
                properties:
                  name:
                    type: string
                    description: Individual's full name
                  address:
                    ref: '#/$defs/address'
                  percentage:
                    type: number
                    description: Company ownership percentage
                  dateOfBirth:
                    type: string
                    format: date
                    description: Individual's date of birth (YYYY-MM-DD)
                description: Beneficiary owner's RFI data
              intermediaryBeneficiaryOwner:
                type: object
                required:
                  - name
                  - address
                  - dateOfFormation
                  - countryOfFormation
                  - percentage
                properties:
                  name:
                    type: string
                    description: Business legal name
                  address:
                    ref: '#/$defs/address'
                  percentage:
                    type: number
                    description: Company ownership percentage
                  dateOfFormation:
                    type: string
                    format: date
                    description: Company formation date (YYYY-MM-DD)
                  countryOfFormation:
                    type: string
                    pattern: ^[A-Z]{2}$
                    description: Entity formation country
                description: Intermediary beneficiary owner's RFI data
            title: RFI Requirements
            $schema: https://json-schema.org/draft/2020-12/schema
            required:
              - SOURCE_OF_FUNDS
              - METHOD_OF_VERIFICATION
              - NAME
              - TRADE_NAME
              - NATIONAL_IDENTIFICATION_NUMBER
              - DATE_OF_FORMATION
              - COUNTRY_OF_FORMATION
              - ENTITY_TYPE
              - INDUSTRY_TYPE
              - ADDRESS
              - AUTHORIZED_SIGNATORIES
              - BENEFICIARY_OWNERSHIP
            properties:
              NAME:
                type: string
                description: Business legal registered name
              EMAIL:
                type: string
                description: Business contact email address
              PHONE:
                type: string
                description: Business contact phone number
              ADDRESS:
                ref: '#/$defs/address'
              WEBSITE:
                type: string
                description: Business website URL
              TRADE_NAME:
                type: string
                description: Business trade name or DBA (Doing Business As)
              ENTITY_TYPE:
                type: string
                description: Business structure type (Corporation, LLC, Partnership, etc.)
              INDUSTRY_TYPE:
                type: string
                description: Business activity classification
              SOURCE_OF_FUNDS:
                type: string
                description: Transaction source of funds
              DATE_OF_FORMATION:
                type: string
                format: date
                description: Company formation date (YYYY-MM-DD)
              BENEFICIARY_OWNERS:
                ref: '#/$defs/beneficiaryOwner'
              COUNTRY_OF_FORMATION:
                type: string
                pattern: ^[A-Z]{2}$
                description: Entity formation country
              BENEFICIARY_OWNERSHIP:
                type: boolean
                description: >-
                  Whether any individuals or intermediaries own 25% or more of
                  the company
              AUTHORIZED_SIGNATORIES:
                ref: '#/$defs/individual'
              METHOD_OF_VERIFICATION:
                type: string
                description: Verification method used
              NATIONAL_IDENTIFICATION_NUMBER:
                type: string
                description: Business identification number (e.g., Tax ID)
              INTERMEDIARY_BENEFICIARY_OWNERS:
                ref: '#/$defs/intermediaryBeneficiaryOwner'
            description: RFI Data Requirements
    RfiFile:
      type: object
      description: >-
        A document requirement for a Request for Information (RFI), including
        whether the document is mandatory.
      required:
        - fileName
        - required
      properties:
        fileName:
          $ref: '#/components/schemas/RfiFileKey'
        required:
          type: boolean
          description: Whether this document must be supplied to satisfy the RFI.
          example: false
    CryptoCurrency:
      type: string
      description: Supported cryptocurrencies
      enum:
        - USDC
      example: USDC
    FiatCurrency:
      type: string
      description: Supported fiat currencies
      enum:
        - BRL
        - CNY
        - COP
        - EUR
        - GBP
        - HKD
        - INR
        - MXN
        - NGN
        - USD
      example: MXN
    PaymentFee:
      type: object
      description: >-
        Represents a fee associated with a payment transaction, including the
        fee amount and type.
      properties:
        amount:
          $ref: '#/components/schemas/CryptoMoney'
        type:
          description: The type of fee being charged for the transaction.
          type: string
          enum:
            - TAX_FEE
            - BFI_TRANSACTION_FEE
          example: BFI_TRANSACTION_FEE
      example:
        amount:
          amount: '0.240000'
          currency: USDC
        type: BFI_TRANSACTION_FEE
    JWK:
      type: object
      description: The public key for the BFI defined in RFC 7517
      properties:
        crv:
          type: string
          description: The curve used for the EC key
          example: P-256
        kid:
          type: string
          description: Key ID
          example: '263521881931753643998528753619816524468853605762'
        kty:
          type: string
          description: Key type
          example: EC
        x:
          type: string
          description: X coordinate for the EC public key
          example: KnxBe8fb2mL_Ve9-tqjGSkGgE9f0yohMkAvH_InaFtE
        'y':
          type: string
          description: Y coordinate for the EC public key
          example: D41cVUpiKcey4LJKNFtUtmVHDWRmhjZapPLfryX5b1o
    RfiFileKey:
      type: string
      description: File Key for RFI (Request for Information)
      enum:
        - FORMATION_DOCUMENT
        - ORG_STRUCTURE
        - INVOICE
        - BENEFICIARY_OWNERS_IDENTITY_DOCUMENT
        - ID_DOCUMENT
        - PROOF_OF_ADDRESS_DOCUMENT
        - PROOF_OF_ADDRESS
        - ADDITIONAL_DOCUMENTS
      example: FORMATION_DOCUMENT
  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:
      content:
        application/json:
          schema:
            type: object
            title: BadRequestResponse
            required:
              - code
              - message
            properties:
              code:
                $ref: '#/components/schemas/ErrorCode'
              message:
                type: string
                description: Human-readable message that describes the error.
                example: Unknown error occurred
              errors:
                type: array
                description: Array of detailed error descriptions
                items:
                  $ref: '#/components/schemas/DescriptiveError'
            example:
              code: 400
              message: Bad request.
      description: Request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
    NotAuthorized:
      content:
        application/json:
          schema:
            type: object
            title: NotAuthorizedResponse
            required:
              - code
              - message
            properties:
              code:
                $ref: '#/components/schemas/ErrorCode'
              message:
                type: string
                description: Human-readable message that describes the error.
                example: Unknown error occurred
              errors:
                type: array
                description: Array of detailed error descriptions
                items:
                  $ref: '#/components/schemas/DescriptiveError'
            example:
              code: 401
              message: Malformed authorization.
      description: >-
        Request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
    Forbidden:
      content:
        application/json:
          schema:
            type: object
            title: ForbiddenResponse
            required:
              - code
              - message
            properties:
              code:
                $ref: '#/components/schemas/ErrorCode'
              message:
                type: string
                description: Human-readable message that describes the error.
                example: Unknown error occurred
              errors:
                type: array
                description: Array of detailed error descriptions
                items:
                  $ref: '#/components/schemas/DescriptiveError'
            example:
              code: 3
              message: Forbidden
      description: >-
        Request provides authentication, but the authenticated user does not
        have permission to access this resource.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
    NotFound:
      content:
        application/json:
          schema:
            type: object
            title: NotFoundResponse
            required:
              - code
              - message
            properties:
              code:
                $ref: '#/components/schemas/ErrorCode'
              message:
                type: string
                description: Human-readable message that describes the error.
                example: Unknown error occurred
              errors:
                type: array
                description: Array of detailed error descriptions
                items:
                  $ref: '#/components/schemas/DescriptiveError'
            example:
              code: 404
              message: Not found.
      description: Specified resource was not found.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: PREFIX:ID:SECRET
      description: >-
        Circle's API Keys are formatted in the following structure
        "PREFIX:ID:SECRET". All three parts are requred to make a successful
        request.

````