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

# Get a single customer object

> Retrieve a customer object from the passed in customer ID



## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json get /customers/{customerID}
openapi: 3.0.2
info:
  title: Bridge 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: Customers
  - name: Fiat Payout Configuration
  - name: External Accounts
  - name: Transfers
  - name: Prefunded Accounts
  - name: Balances
  - name: Liquidation Addresses
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /customers/{customerID}:
    parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
    get:
      tags:
        - Customers
      summary: Get a single customer object
      description: Retrieve a customer object from the passed in customer ID
      responses:
        '200':
          description: Successful customer object response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              examples:
                SuccessfulCustomerResponse:
                  $ref: '#/components/examples/SuccessfulCustomerResponse'
                RejectedCustomerResponse:
                  $ref: '#/components/examples/RejectedCustomerResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  parameters:
    CustomerIDParameter:
      name: customerID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
  schemas:
    Customer:
      properties:
        id:
          $ref: '#/components/schemas/Id'
          readOnly: true
        first_name:
          type: string
          minLength: 1
          maxLength: 1024
        last_name:
          type: string
          minLength: 1
          maxLength: 1024
        email:
          type: string
          minLength: 1
          maxLength: 1024
        status:
          $ref: '#/components/schemas/CustomerStatus'
          type: string
        capabilities:
          deprecated: true
          type: object
          properties:
            payin_crypto:
              $ref: '#/components/schemas/CustomerCapabilityState'
              type: string
            payout_crypto:
              $ref: '#/components/schemas/CustomerCapabilityState'
              type: string
            payin_fiat:
              $ref: '#/components/schemas/CustomerCapabilityState'
              type: string
            payout_fiat:
              $ref: '#/components/schemas/CustomerCapabilityState'
              type: string
        future_requirements_due:
          deprecated: true
          readOnly: true
          description: >-
            Information about requirements that may be needed in the future for
            the customer (eg. enhanced KYC checks for high volume transactions
            etc.). Please consult our KYC guide on how to resolve each
            requirement.
          type: array
          minItems: 0
          items:
            type: string
            enum:
              - id_verification
        requirements_due:
          deprecated: true
          readOnly: true
          description: >-
            KYC requirements still needed to be completed. Please consult our
            KYC guide on how to resolve each requirement.
          type: array
          minItems: 0
          items:
            type: string
            enum:
              - external_account
              - id_verification
        created_at:
          readOnly: true
          type: string
          description: Time of creation of the customer
          format: date-time
        updated_at:
          readOnly: true
          type: string
          description: Time of last update of the customer
          format: date-time
        rejection_reasons:
          deprecated: true
          readOnly: true
          description: Reasons why a customer KYC was rejected
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/RejectionReason'
        has_accepted_terms_of_service:
          readOnly: true
          description: Whether the customer has accepted the terms of service.
          type: boolean
        client_reference_id:
          $ref: '#/components/schemas/client_reference_id'
          description: >-
            Caller-provided identifier used to correlate this customer with your
            internal records. Returned in API and webhook responses.
        endorsements:
          readOnly: true
          description: >-
            A summary of whether the customer has received approvals to complete
            onboarding or use certain products/services offered by Bridge.
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/Endorsement'
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    CustomerStatus:
      type: string
      description: >
        `offboarded`: represents a customer's account that was internally
        reviewed and closed due to suspicious activity.

        `paused`: represents a customer's account that is currently under review
        because of activity on the platform.
      enum:
        - active
        - awaiting_questionnaire
        - awaiting_ubo
        - incomplete
        - not_started
        - offboarded
        - paused
        - rejected
        - under_review
    CustomerCapabilityState:
      type: string
      description: State of the customer capability
      enum:
        - pending
        - active
        - inactive
        - rejected
    RejectionReason:
      description: Reason why the kyc_status was rejected
      properties:
        developer_reason:
          type: string
          description: >-
            Developer information for why a customer was rejected. Not to be
            shared with the customer.
        reason:
          type: string
          description: >-
            Reason for why a customer was rejected. To be shared with the
            customer.
        created_at:
          deprecated: true
          nullable: true
          type: string
          description: Time of creation of the rejection reason
    client_reference_id:
      description: >-
        A client-provided reference ID that uniquely identifies a resource in
        the client's system
      type: string
      minLength: 1
      maxLength: 256
    Endorsement:
      required:
        - name
        - status
      properties:
        name:
          $ref: '#/components/schemas/EndorsementType'
          description: The endorsement type.
        status:
          type: string
          enum:
            - incomplete
            - approved
            - revoked
        additional_requirements:
          description: >-
            This field is deprecated. See endorsement.missing instead.
            Additional requirements that need to be completed for obtaining the
            approval for the endorsement. 


            1. `kyc_approval` and `tos_acceptance` are required for the `base`
            endorsement. 

            2. `tos_v2_acceptance` is required for `sepa`. If
            `tos_v2_acceptance` is not completed, a ToS acceptance link can be
            retrieved for the current customer from the endpoint
            `/v0/customers/{customerID}/tos_acceptance_link`. To fulfill the
            `kyc_with_proof_of_address` requirement, a KYC link can be
            specifically requested for the current customer via the endpoint
            `/v0/customers/{customerID}/kyc_link`, with `endorsement=sepa`
            included in the query string
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/EndorsementRequirementEnum'
        requirements:
          description: >
            This object aims to replace the `additional_requirements` attribute
            as it gives a more comprehensive view into what items are already
            `complete` or `pending` and which are `missing` or have `issues`.
          type: object
          required:
            - complete
            - pending
            - missing
            - issues
          properties:
            complete:
              type: array
              description: >-
                an array of requirements that have already been completed for
                this endorsement.
              minItems: 0
              items:
                type: string
            pending:
              type: array
              description: >-
                an array of requirements that are pending review for this
                endorsement.
              minItems: 0
              items:
                type: string
            missing:
              type: object
              description: >-
                an object that will specify an indepth breakdown of what items
                are missing for this endorsement.
            issues:
              type: array
              description: >
                An array of issues preventing this endorsement from being
                approved. Values in this array can be either a string such as
                `endorsement_not_available_in_customers_region` or an object
                that correlates the issue to a particular field such as `{
                id_front_photo: "id_expired" }`
              minItems: 0
              items:
                oneOf:
                  - type: string
                  - type: object
        future_requirements:
          description: >
            An array of upcoming requirements that will become active on their
            effective_date.

            Each entry has the same structure as the current requirements
            object, plus an

            effective_date indicating when the requirement takes effect.
          type: array
          minItems: 0
          items:
            type: object
            required:
              - effective_date
              - verification_stage
              - pending
              - missing
              - issues
            properties:
              effective_date:
                type: string
                format: date
              verification_stage:
                type: string
                description: >-
                  The verification stage this future requirement is currently
                  at.
                enum:
                  - automatic_review
                  - manual_review
                  - post_review
                  - complete
                  - not_applicable
              pending:
                type: array
                items:
                  type: string
              missing:
                type: object
                nullable: true
              issues:
                type: array
                items:
                  oneOf:
                    - type: string
                    - type: object
    Error:
      required:
        - code
        - message
      properties:
        code:
          type: string
          minLength: 1
          maxLength: 256
        message:
          type: string
          minLength: 1
          maxLength: 512
        source:
          title: ErrorSource
          required:
            - location
            - key
          properties:
            location:
              type: string
              enum:
                - path
                - query
                - body
                - header
            key:
              type: string
              description: >-
                Comma separated names of the properties or parameters causing
                the error
    EndorsementType:
      description: >
        The type of endorsement. Note: `pix_onramp` (BRL deposits via PIX) and
        `pix_offramp` (BRL withdrawals via PIX) can be requested individually
        for granular access. Requesting `pix` grants both directional
        endorsements. `pix_onramp` is not supported for non-BR individuals; if
        requested (or requested via `pix`) it will remain in an
        `endorsement_not_available_in_customers_region` state and no action is
        required.
      type: string
      enum:
        - base
        - cards
        - cop
        - faster_payments
        - pix
        - pix_onramp
        - pix_offramp
        - sepa
        - spei
    EndorsementRequirementEnum:
      type: string
      enum:
        - kyc_approval
        - tos_acceptance
        - kyc_with_proof_of_address
        - tos_v2_acceptance
  examples:
    SuccessfulCustomerResponse:
      summary: An individual customer object
      value:
        id: 00000000-0000-0000-0000-000000000000
        first_name: John
        last_name: Doe
        email: johndoe@example.com
        client_reference_id: your_internal_id_123
        status: active
        type: individual
        persona_inquiry_type: gov_id_db
        created_at: '2025-11-19T21:14:58.328Z'
        updated_at: '2025-11-19T21:16:02.894Z'
        rejection_reasons: []
        has_accepted_terms_of_service: true
        endorsements:
          - name: base
            status: approved
            requirements:
              complete:
                - terms_of_service_v1
                - first_name
                - last_name
                - tax_identification_number
                - email_address
                - address_of_residence
                - date_of_birth
                - proof_of_address
                - sanctions_screen
                - pep_screen
                - blocklist_lookup
                - min_age_18
                - selfie_verification
                - government_id_rejection_checks_passed
                - government_id_review_checks_passed
                - government_id_reliance
                - post_processing
              pending: []
              missing: null
              issues: []
          - name: sepa
            status: approved
            requirements:
              complete:
                - terms_of_service_v2
                - first_name
                - last_name
                - tax_identification_number
                - email_address
                - address_of_residence
                - date_of_birth
                - proof_of_address
                - sanctions_screen
                - pep_screen
                - blocklist_lookup
                - min_age_18
                - selfie_verification
                - government_id_rejection_checks_passed
                - government_id_review_checks_passed
                - government_id_reliance
              pending: []
              missing: null
              issues: []
        future_requirements_due: []
        requirements_due:
          - external_account
        capabilities:
          payin_crypto: active
          payout_crypto: active
          payin_fiat: pending
          payout_fiat: pending
    RejectedCustomerResponse:
      summary: A rejected customer object
      value:
        id: 00000000-0000-0000-0000-000000000000
        first_name: John
        last_name: Doe
        email: johndoe@example.com
        client_reference_id: your_internal_id_123
        status: rejected
        type: individual
        persona_inquiry_type: gov_id_db
        created_at: '2025-11-19T21:05:11.276Z'
        updated_at: '2025-11-19T21:06:20.970Z'
        rejection_reasons:
          - developer_reason: Incorrect ID type selected.
            reason: Incorrect ID type selected.
            created_at: '2025-11-19T21:05:59.788Z'
          - developer_reason: ID from disallowed country.
            reason: Cannot accept provided ID
            created_at: '2025-11-19T21:05:59.788Z'
        has_accepted_terms_of_service: true
        endorsements:
          - name: base
            status: incomplete
            requirements:
              complete:
                - terms_of_service_v1
                - first_name
                - last_name
                - email_address
                - address_of_residence
                - date_of_birth
                - proof_of_address
                - sanctions_screen
                - pep_screen
                - blocklist_lookup
                - min_age_18
                - selfie_verification
              pending:
                - manual_review
              missing:
                all_of:
                  - tax_identification_number
                  - source_of_funds_questionnaire
              issues:
                - government_id_verification_failed
            additional_requirements:
              - kyc_approval
          - name: sepa
            status: incomplete
            requirements:
              complete:
                - terms_of_service_v2
                - first_name
                - last_name
                - email_address
                - address_of_residence
                - date_of_birth
                - proof_of_address
                - sanctions_screen
                - pep_screen
                - blocklist_lookup
                - min_age_18
                - selfie_verification
              pending:
                - manual_review
              missing:
                all_of:
                  - tax_identification_number
                  - source_of_funds_questionnaire
              issues:
                - government_id_verification_failed
            additional_requirements:
              - kyc_approval
              - kyc_with_proof_of_address
        future_requirements_due: []
        requirements_due:
          - external_account
        capabilities:
          payin_crypto: pending
          payout_crypto: pending
          payin_fiat: pending
          payout_fiat: pending
  responses:
    AuthenticationError:
      description: Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            MissingTokenError:
              summary: No Api-Key header
              description: The header may be missing or misspelled.
              value:
                code: required
                location: header
                name: Api-Key
                message: Missing Api-Key header
            InvalidTokenError:
              summary: Invalid key in Api-Key header
              value:
                code: invalid
                location: header
                name: Api-Key
                message: Invalid Api-Key header
    NotFoundError:
      description: No resource found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            NotFoundErrorExample:
              summary: Invalid customer id
              value:
                code: Invalid
                message: Unknown customer id
    UnexpectedError:
      description: Unexpected error. User may try and send the request again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            UnexpectedError:
              summary: An unexpected error
              value:
                errors:
                  - code: unexpected
                    message: An expected error occurred, you may try again later
  securitySchemes:
    ApiKey:
      type: apiKey
      name: Api-Key
      in: header

````