Bridge Customers API

The Customers API from Bridge — 9 operation(s) for customers.

Operations 15

GET /customers Get all customers
POST /customers Create a customer
GET /customers/{customerID} Get a single customer object
PUT /customers/{customerID} Update a single customer object
DELETE /customers/{customerID} Delete a single customer object
GET /customers/{customerID}/associated_persons Get associated persons for a business customer
POST /customers/{customerID}/associated_persons Create a new associated person for a business customer
GET /customers/{customerID}/associated_persons/{associatedPersonID} Get a single associated person
PUT /customers/{customerID}/associated_persons/{associatedPersonID} Update a single associated person
DELETE /customers/{customerID}/associated_persons/{associatedPersonID} Delete a single associated person
GET /customers/{customerID}/tos_acceptance_link Retrieve a hosted URL for ToS acceptance for an existing customer
GET /customers/{customerID}/kyc_link Retrieve a hosted KYC Link for an existing customer
GET /customers/{customerID}/transfers Get all transfers
GET /customers/{customerID}/transfers/static_templates Get all static templates for a customer
POST /customers/tos_links Request a hosted URL for ToS acceptance for new customer creation

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-customers-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-customers-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bridge API Keys Customers 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
paths:
  /customers:
    get:
      summary: Get all customers
      description: Get the full list of all customers created on Bridge
      tags:
      - Customers
      parameters:
      - $ref: '#/components/parameters/CustomerStartingAfterParameter'
      - $ref: '#/components/parameters/CustomerEndingBeforeParameter'
      - $ref: '#/components/parameters/LimitParameter'
      - $ref: '#/components/parameters/CustomerEmailParameter'
      responses:
        '200':
          description: List of customers (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Customers
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    description: total number of items in data
                    type: integer
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/Customer'
              examples:
                CustomersFound:
                  summary: A non-empty list of customers
                  value:
                    data:
                    - $ref: '#/components/examples/SuccessfulCustomerResponse/value'
                    - $ref: '#/components/examples/SuccessfulCustomerResponse2/value'
                NoCustomersFound:
                  summary: An empty list of customers
                  value:
                    data: []
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    post:
      summary: Create a customer
      tags:
      - Customers
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      requestBody:
        description: 'Customer object to be created.


          No fields are strictly required by the API. For example, it is valid to create a customer without a first name, last name, or residential address, but this customer will not be granted endorsements required to transact on Bridge until the necessary information is provided, possibly via a PUT request.

          '
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/CreateIndividualCustomerPayload'
              - $ref: '#/components/schemas/CreateBusinessCustomerPayload'
              discriminator:
                propertyName: type
                mapping:
                  individual: '#/components/schemas/CreateIndividualCustomerPayload'
                  business: '#/components/schemas/CreateBusinessCustomerPayload'
      responses:
        '201':
          description: Customer object created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              examples:
                IndividualCustomerCreated:
                  summary: Customer successfully created
                  $ref: '#/components/examples/SuccessfulCustomerResponse'
                BusinessCustomerCreated:
                  summary: Customer successfully created
                  $ref: '#/components/examples/SuccessfulCustomerResponse2'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    get:
      summary: Get a single customer object
      tags:
      - Customers
      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'
    put:
      summary: Update a single customer object
      tags:
      - Customers
      requestBody:
        description: Customer object to update with
        required: true
        content:
          application/json:
            schema:
              oneOf:
              - $ref: '#/components/schemas/UpdateIndividualCustomerPayload'
              - $ref: '#/components/schemas/UpdateBusinessCustomerPayload'
              discriminator:
                propertyName: type
                mapping:
                  individual: '#/components/schemas/UpdateIndividualCustomerPayload'
                  business: '#/components/schemas/UpdateBusinessCustomerPayload'
      description: 'Updates to be made to the specified customer.


        No fields are strictly required by the API. It is generally valid to provide any subset of data in a PUT request. For business customers, associated persons cannot be updated via PUT, and should instead be managed using v0/associated_persons.

        '
      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'
    delete:
      summary: Delete a single customer object
      tags:
      - Customers
      description: Delete a customer object from the passed in customer ID
      responses:
        '200':
          description: Successfully deleted customer object response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
              examples:
                DeletedCustomerResponse:
                  $ref: '#/components/examples/SuccessfulCustomerResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/associated_persons:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    get:
      summary: Get associated persons for a business customer
      tags:
      - Customers
      description: Get all associated persons for a business customer.
      responses:
        '200':
          description: List of associated persons (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: AssociatedPersonsList
                type: object
                required:
                - data
                properties:
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/AssociatedPersonResponse'
              examples:
                AssociatedPersonsFound:
                  summary: A non-empty list of associated persons
                  value:
                    data:
                    - $ref: '#/components/examples/SuccessfulAssociatedPersonResponse/value'
                NoAssociatedPersonsFound:
                  summary: An empty list of associated persons
                  value:
                    data: []
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    post:
      summary: Create a new associated person for a business customer
      tags:
      - Customers
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      requestBody:
        description: New associated person to be created
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociatedPerson'
      responses:
        '201':
          description: Associated person created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociatedPersonResponse'
              examples:
                SuccessfulAssociatedPersonResponse:
                  $ref: '#/components/examples/SuccessfulAssociatedPersonResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/associated_persons/{associatedPersonID}:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/AssociatedPersonIDParameter'
    get:
      summary: Get a single associated person
      tags:
      - Customers
      description: Retrieve an associated person by ID
      responses:
        '200':
          description: Successful associated person response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociatedPersonResponse'
              examples:
                SuccessfulAssociatedPersonResponse:
                  $ref: '#/components/examples/SuccessfulAssociatedPersonResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    put:
      summary: Update a single associated person
      tags:
      - Customers
      requestBody:
        description: Associated person data to update
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AssociatedPerson'
      responses:
        '200':
          description: Updated associated person
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociatedPersonResponse'
              examples:
                SuccessfulAssociatedPersonResponse:
                  $ref: '#/components/examples/SuccessfulAssociatedPersonResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '400':
          $ref: '#/components/responses/BadRequestError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
    delete:
      summary: Delete a single associated person
      tags:
      - Customers
      description: Delete an associated person by ID
      responses:
        '200':
          description: Successfully deleted associated person
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssociatedPersonResponse'
              examples:
                SuccessfulAssociatedPersonResponse:
                  $ref: '#/components/examples/SuccessfulAssociatedPersonResponse'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/tos_acceptance_link:
    get:
      summary: Retrieve a hosted URL for ToS acceptance for an existing customer
      tags:
      - Customers
      description: The page at the returned URL will guide the user through the Bridge Terms of Service (ToS) acceptance flow. This can be used by existing customers to accept a new version of the ToS.
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      responses:
        '200':
          description: A Hosted URL for ToS acceptance
          content:
            application/json:
              schema:
                type: object
                required:
                - url
                properties:
                  url:
                    type: string
                    description: A hosted URL for ToS acceptance
              examples:
                TosAcceptanceLink:
                  summary: A sample ToS acceptance link
                  value:
                    url: https://compliance.bridge.xyz/accept-terms-of-service?email=sage%40blick-mayer.example&t=74ea7c13-2b52-5073-bd12-6879f92b88dd
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/kyc_link:
    get:
      summary: Retrieve a hosted KYC Link for an existing customer
      tags:
      - Customers
      description: 'The page at the returned URL will guide the user through a Bridge KYC flow. This can be used by existing customers to provide additional KYC information required for certain features or services that Bridge offers.


        For example, to enable an existing customer to use the `SEPA`/`Euro` services, they are required to provide `proof of address`. An additional parameter, `endorsement=sepa`, can be included to request a KYC link specifically for this purpose'
      parameters:
      - $ref: '#/components/parameters/CustomerIDParameter'
      - $ref: '#/components/parameters/EndorsementParameter'
      - $ref: '#/components/parameters/RedirectUriParameter'
      responses:
        '200':
          description: A Hosted URL for KYC
          content:
            application/json:
              schema:
                type: object
                required:
                - url
                properties:
                  url:
                    type: string
                    description: A hosted KYC link
              examples:
                KycLink:
                  summary: A sample KYC link
                  value:
                    url: https://bridge.withpersona.com/verify?inquiry-template-id=itmpl_NtIXpb9AbEYCPxGo5iRbc9d2&reference-id=75d2f259-6810-4cde-a9b9-83eca42b0ebf
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/transfers:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/TransferStartingAfterParameter'
    - $ref: '#/components/parameters/TransferEndingBeforeParameter'
    - $ref: '#/components/parameters/TxHashParameter'
    - $ref: '#/components/parameters/UpdatedAfterMsParameter'
    - $ref: '#/components/parameters/UpdatedBeforeMsParameter'
    - $ref: '#/components/parameters/TransferStateParameter'
    get:
      summary: Get all transfers
      tags:
      - Customers
      description: Get all active and completed transfers for a customer.
      responses:
        '200':
          description: List of transfers (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Transfers
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of transfers returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/TransferResponse'
              examples:
                TransfersFound:
                  summary: A non-empty list of transfers
                  value:
                    count: 2
                    data:
                    - $ref: '#/components/examples/AchOnrampFundsReceivedTransferResponse/value'
                    - $ref: '#/components/examples/AchOfframpTransferResponse/value'
                NoTransfersFound:
                  summary: An empty list of transfers
                  value:
                    count: 0
                    data: []
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/{customerID}/transfers/static_templates:
    parameters:
    - $ref: '#/components/parameters/CustomerIDParameter'
    - $ref: '#/components/parameters/LimitParameter'
    - $ref: '#/components/parameters/TransferStartingAfterParameter'
    - $ref: '#/components/parameters/TransferEndingBeforeParameter'
    get:
      summary: Get all static templates for a customer
      tags:
      - Customers
      description: Get all static templates for a customer. Static templates are transfers that are used as templates for other transfers and can be created using the static_templates feature flag.
      responses:
        '200':
          description: List of static templates (the returned list is empty if none found)
          content:
            application/json:
              schema:
                title: Static Templates
                type: object
                required:
                - count
                - data
                properties:
                  count:
                    type: integer
                    description: The number of static templates returned
                  data:
                    type: array
                    minItems: 0
                    items:
                      $ref: '#/components/schemas/TransferResponse'
              examples:
                StaticTemplatesFound:
                  summary: A non-empty list of static templates
                  value:
                    count: 2
                    data:
                    - $ref: '#/components/examples/AchOnrampFundsReceivedTransferResponse/value'
                    - $ref: '#/components/examples/AchOfframpTransferResponse/value'
                NoStaticTemplatesFound:
                  summary: An empty list of static templates
                  value:
                    count: 0
                    data: []
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
  /customers/tos_links:
    post:
      summary: Request a hosted URL for ToS acceptance for new customer creation
      tags:
      - Customers
      parameters:
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
      description: The URL endpoint returned will guide the user through a Bridge TOS flow. Signing this acceptance flow is a requirement for creating customers.
      responses:
        '201':
          description: A Bridge hosted URL for users to complete terms of service signing.
          content:
            application/json:
              schema:
                type: object
                required:
                - url
                properties:
                  url:
                    type: string
                    description: A Bridge hosted URL for users to complete terms of service signing.
              examples:
                TosUrl:
                  summary: A sample Bridge hosted URL
                  value:
                    data:
                      url: https://compliance.bridge.xyz/accept-terms-of-service?session_token=4d5d8c45-9feb-422a-bb5e-0fd32e3b3c53&redirect_uri=https%3A%2F%2Fgoogle.com
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  schemas:
    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
    Currency:
      type: string
      enum:
      - usdb
      - usdc
      - usdt
      - usd
      - pyusd
    IndividualDocuments:
      writeOnly: true
      type: array
      title: Documents
      description: Please click "ADD OBJECT" for more information.
      items:
        type: object
        required:
        - purposes
        - file
        properties:
          purposes:
            type: array
            items:
              type: string
              enum:
              - proof_of_account_purpose
              - proof_of_address
              - proof_of_individual_name_change
              - proof_of_relationship
              - proof_of_source_of_funds
              - proof_of_source_of_wealth
              - proof_of_tax_identification
              - other
            description: A list of purposes that the given document serves. Click "ADD STRING" to see common document purposes for individuals, or view the full list of possible values [here](https://apidocs.bridge.xyz/docs/supported-documents).
          file:
            type: string
            description: "Base64 encoded image* of the provided document, following the data-uri scheme i.e. data:image/[type];base64,[base_64_encoded_file_contents], with a minimum size of 200px x 200px \n\n*Maximum File Size: 24MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif"
          description:
            type: string
            description: A description describing the provided document. This field is required when `other` is provided as one of the purposes.
    UpdateIndividualCustomerPayload:
      title: Individual Customer
      properties:
        type:
          description: Type of the customer (individual vs. business).
          type: string
          minLength: 1
          enum:
          - individual
        first_name:
          type: string
          minLength: 2
          maxLength: 1024
          description: The first name of the individual.
        middle_name:
          type: string
          minLength: 1
          maxLength: 1024
          description: The middle name of the individual.
        last_name:
          type: string
          minLength: 2
          maxLength: 1024
          description: The last name of the individual.
        transliterated_first_name:
          type: string
          description: 'Required when the `first_name` includes any non Latin-1 characters. Acceptable characters - Latin-1 Unicode Character Range: À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~'
          minLength: 1
          maxLength: 256
        transliterated_middle_name:
          type: string
          description: 'Required when the `middle_name` includes any non Latin-1 characters. Acceptable characters - Latin-1 Unicode Character Range: À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~'
          minLength: 1
          maxLength: 256
        transliterated_last_name:
          type: string
          description: 'Required when the `last_name` includes any non Latin-1 characters. Acceptable characters - Latin-1 Unicode Character Range: À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~'
          minLength: 1
          maxLength: 256
        email:
          type: string
          minLength: 1
          maxLength: 1024
          description: The individuals primary email address
        phone:
          type: string
          minLength: 1
          maxLength: 1024
          description: The individuals primary phone number in format "+12223334444"
        residential_address:
          writeOnly: true
          $ref: '#/components/schemas/Address2025WinterRefresh'
          description: The residential address of the individual. This must be a physical address, not a PO Box.
        transliterated_residential_address:
          writeOnly: true
          $ref: '#/components/schemas/Address2025WinterRefresh'
          description: 'Required when any part of the `residential_address` includes any non Latin-1 characters. Acceptable characters - Latin-1 Unicode Character Range: À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~'
        birth_date:
          type: string
          description: Date of birth in format yyyy-mm-dd. Must be at least 18 years old.
          minLength: 10
          maxLength: 10
        signed_agreement_id:
          writeOnly: true
          type: string
          description: 'The ID of the signed agreement that the customer completed. You can get a signed agreement id for a _new_ customer by following this guide [here](https://apidocs.bridge.xyz/docs/terms-of-service#tos-acceptance-for-a-new-customer).

            '
          minLength: 1
          maxLength: 1024
        endorsements:
          writeOnly: true
          type: array
          description: 'List of endorsements to request for this customer. If omitted, we''ll attempt to grant `base` and `sepa`.

            '
          items:
            $ref: '#/components/schemas/EndorsementType'
        account_purpose:
          type: string
          description: 'What is the primary purpose of the customer''s account?


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)._


            **EEA / BBSA in-scope individuals:** also required under program rules (not for associated persons). See [EEA updated requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#account-purpose-and-employment-status).

            '
          enum:
          - charitable_donations
          - ecommerce_retail_payments
          - investment_purposes
          - operating_a_company
          - other
          - payments_to_friends_or_family_abroad
          - personal_or_living_expenses
          - protect_wealth
          - purchase_goods_and_services
          - receive_payment_for_freelancing
          - receive_salary
        account_purpose_other:
          type: string
          description: 'A supplemental description of the `account_purpose`.


            _Required if the `account_purpose` is `other`._

            '
        employment_status:
          type: string
          description: 'What is the customer''s current employment status?


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)._


            **EEA / BBSA in-scope individuals:** also required under program rules (not for associated persons). See [EEA updated requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#account-purpose-and-employment-status).

            '
          enum:
          - employed
          - homemaker
          - retired
          - self_employed
          - student
          - unemployed
        expected_monthly_payments_usd:
          type: string
          description: 'What is the expected monthly volume of payments the customer will be sending or receiving?


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)_

            '
          enum:
          - 0_4999
          - '5000_9999'
          - '10000_49999'
          - 50000_plus
        acting_as_intermediary:
          type: boolean
          description: 'Is the customer acting as an intermediary for a third party?


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)_

            '
        most_recent_occupation:
          type: string
          description: 'What is the customer''s most recent occupation? Specify the relevant alphanumeric occupation code. See the [list of occupations](https://apidocs.bridge.xyz/page/sof-eu-most-recent-occupation-list) for the complete list of valid occupations and codes. _Required for Restricted countries._


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)_

            '
        source_of_funds:
          type: string
          description: 'The individuals source of funds, e.g. government_benefits, investments_loans, salary, etc.


            _Required for high risk customers. More information found [here](https://apidocs.bridge.xyz/docs/individuals)_

            '
          enum:
          - company_funds
          - ecommerce_reseller
          - gambling_proceeds
          - gifts
          - government_benefits
          - inheritance
          - investments_loans
          - pension_retirement
          - salary
          - sale_of_assets_real_estate
          - savings
          - someone_elses_funds
        nationality:
          type: string
          description: 'Legacy single nationality as ISO 3166-1 alpha-3. Prefer `nationalities` to send **all** nationalities. During migration Bridge honors either field; `nationality` will be deprecated after migration. **EEA / BBSA program:** see [Nationalities](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#nationalities).

            '
          writeOnly: true
        nationalities:
          type: array
          writeOnly: true
          description: 'All nationalities held by the customer (ISO 3166-1 alpha-3 codes). **EEA / BBSA in-scope individuals:** required. See [EEA updated requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#nationalities).

            '
          items:
            type: string
            minLength: 3
            maxLength: 3
        place_of_birth:
          writeOnly: true
          $ref: '#/components/schemas/PlaceOfBirthInput'
        verified_database_at:
          type: string
          format: date-time
          description: 'Write-only ISO 8601 timestamp. For **EEA in-scope** customers on **reliance** (`TWO_FORMS_OF_ID_RELIANCE` in `eea_requirements.rb`), may stand in for a database identity check together with `verified_govid_at`. See [EEA updated requirements — identity](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements).

            '
          writeOnly: true
        verified_govid_at:
          type: string
          format: date-time
          description: 'Write-only ISO 8601 timestamp. For **EEA in-scope** customers on **reliance**, use with a second factor (`verified_selfie_at` or `verified_database_at`) per `TWO_FORMS_OF_ID_RELIANCE`. See [EEA updated requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements).

            '
          writeOnly: true
        verified_selfie_at:
          type: string
          format: date-time
          description: 'Write-only ISO 8601 timestamp. For **EEA in-scope** customers on **reliance**, pairs with `verified_govid_at` or `verified_database_at` under `TWO_FORMS_OF_ID_RELIANCE`.

            '
          writeOnly: true
        liveness_check_selfies:
          type: array
          writeOnly: true
          description: 'Selfie images to submit for Bridge''s liveness verification. Use this when you are collecting the customer''s selfie on behalf of Bridge.


            **EEA in-scope** customers: selfies submitted via this field are not sufficient. Th

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