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

# Submit responses to an RFI

> Submits one or more responses to outstanding requested items on an RFI.
All responses are applied atomically — any failure rolls back the entire batch.

**Required scope:** `customer:write`

Field names encode whether the value is a scalar or a list. Fields ending
in `_list` accept one or more values; all other fields accept a single value.

| Field | Type | Notes |
|---|---|---|
| `text` | string | Single text value (e.g. name, description) |
| `text_list` | array of strings | Multiple text values (e.g. nationalities, industries) |
| `date` | string | ISO 8601 date (`YYYY-MM-DD`) |
| `address` | object | Postal address |
| `boolean` | boolean | `true` or `false`; `false` is a valid answer |
| `free_text_explanation` | string | Supplemental explanation; accepted alongside most other fields |
| `identifying_information_list` | array of objects | ID documents or tax IDs |
| `document_list` | array of objects | File attachments (base64 data-URI); maximum 24MB total per item |

Most items accept more than one field. You may submit any or all of the
accepted fields in a single response object; Bridge processes each one you provide.

Use `GET /rfis/{id}` to retrieve the RFI and inspect each item's `response_types`
array to see which fields are accepted for that item.




## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json post /rfis/{rfiID}/responses
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: Developer Fees
  - name: Developers
  - name: API Keys
  - name: Plaid
  - name: Virtual Accounts
  - name: Static Memos
  - name: Cards
  - name: Funds Requests
  - name: RFIs
  - name: Webhooks
  - name: Lists
  - name: Crypto Return Policies
  - name: Rewards
  - name: Associated Persons
  - name: Sandbox
paths:
  /rfis/{rfiID}/responses:
    parameters:
      - $ref: '#/components/parameters/RfiIDParameter'
      - $ref: '#/components/parameters/IdempotencyKeyParameter'
    post:
      tags:
        - RFIs
      summary: Submit responses to an RFI
      description: >
        Submits one or more responses to outstanding requested items on an RFI.

        All responses are applied atomically — any failure rolls back the entire
        batch.


        **Required scope:** `customer:write`


        Field names encode whether the value is a scalar or a list. Fields
        ending

        in `_list` accept one or more values; all other fields accept a single
        value.


        | Field | Type | Notes |

        |---|---|---|

        | `text` | string | Single text value (e.g. name, description) |

        | `text_list` | array of strings | Multiple text values (e.g.
        nationalities, industries) |

        | `date` | string | ISO 8601 date (`YYYY-MM-DD`) |

        | `address` | object | Postal address |

        | `boolean` | boolean | `true` or `false`; `false` is a valid answer |

        | `free_text_explanation` | string | Supplemental explanation; accepted
        alongside most other fields |

        | `identifying_information_list` | array of objects | ID documents or
        tax IDs |

        | `document_list` | array of objects | File attachments (base64
        data-URI); maximum 24MB total per item |


        Most items accept more than one field. You may submit any or all of the

        accepted fields in a single response object; Bridge processes each one
        you provide.


        Use `GET /rfis/{id}` to retrieve the RFI and inspect each item's
        `response_types`

        array to see which fields are accepted for that item.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PostRfiResponsesInput'
            examples:
              freeText:
                summary: Free-text prompt response
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      free_text_explanation: Personal savings accumulated over several years.
              freeTextWithDocument:
                summary: Free-text prompt response with supporting document
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      free_text_explanation: Personal savings accumulated over several years.
                      document_list:
                        - file: data:application/pdf;base64,JVBERi0xLjQK...
                          description: bank statement
              singleTextField:
                summary: Single-value text field (e.g. first name)
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      text: Jane
              multiValueTextField:
                summary: Multi-value text field (e.g. nationalities)
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      text_list:
                        - USA
                        - GBR
              address:
                summary: Address response
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      address:
                        street_line_1: 123 Main St
                        street_line_2: Apt 4B
                        city: San Francisco
                        subdivision: CA
                        postal_code: '94105'
                        country: USA
              date:
                summary: Date response (e.g. date of birth)
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      date: '1990-06-15'
              boolean:
                summary: Boolean response (e.g. has AML policies)
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      boolean: true
              taxId:
                summary: Tax identification number response
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      identifying_information_list:
                        - type: ssn
                          issuing_country: USA
                          number: 123-45-6789
              governmentId:
                summary: Government-issued ID response
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      identifying_information_list:
                        - type: passport
                          issuing_country: USA
                          number: A12345678
                          expiration: '2030-01-01'
                          image_front: data:image/jpeg;base64,/9j/4AAQSkZJRgAB...
                          image_back: data:image/jpeg;base64,/9j/4AAQSkZJRgAB...
              document:
                summary: Document upload response
                value:
                  responses:
                    - requested_item_id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      document_list:
                        - file: data:application/pdf;base64,JVBERi0xLjQK...
                          description: Certificate of incorporation
      responses:
        '201':
          description: All responses accepted and applied.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
              example: {}
        '400':
          description: >
            One of the following:

            - An `identifying_information_list` entry contains a `type` value
            from the wrong enum
              (e.g. a government-ID type supplied for a TIN item, or a TIN type supplied for a government-ID item).
            - A response field was supplied that is not accepted for the given
            item's type.
          content:
            application/json:
              schema:
                $ref: 88f6ed5a-93bf-405e-a34c-fbfc8b8ee734
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '422':
          description: >
            One of the following:

            - A `requested_item_id` does not belong to this RFI.

            - The required response field for the item's kind is absent or
            empty.

            - The RFI is in `closed` or `draft` state.
          content:
            application/json:
              schema:
                $ref: 88f6ed5a-93bf-405e-a34c-fbfc8b8ee734
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  parameters:
    RfiIDParameter:
      name: rfiID
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Id'
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
  schemas:
    PostRfiResponsesInput:
      type: object
      required:
        - responses
      additionalProperties: false
      properties:
        responses:
          type: array
          minItems: 1
          description: >-
            One or more response items. Applied atomically — a failure on any
            item rolls back the entire batch.
          items:
            $ref: '#/components/schemas/RfiResponseItem'
    Id:
      description: A UUID that uniquely identifies a resource
      type: string
      pattern: '[a-z0-9]*'
      minLength: 1
      maxLength: 42
    RfiResponseItem:
      type: object
      required:
        - requested_item_id
      additionalProperties: false
      description: >
        A response to one outstanding requested item. Which fields to populate
        depends on the item's `response_types`.

        You may submit any or all of the accepted fields in a single object;
        Bridge processes each one provided.


        Fields ending in `_list` accept one or more values. All other fields
        accept a single scalar value.
      properties:
        requested_item_id:
          type: string
          description: >
            ID of the `RfiRequestedItem` this response answers. Must belong to
            the RFI identified by

            the path parameter. Returns 422 if not found or if it belongs to a
            different RFI.
        text:
          type: string
          minLength: 1
          description: Single-value plain-text answer (e.g. a name or short description).
        text_list:
          type: array
          minItems: 1
          description: >-
            Multi-value plain-text answer (e.g. nationalities, industries, or
            operating countries).
          items:
            type: string
            minLength: 1
        date:
          type: string
          description: ISO 8601 date string (`YYYY-MM-DD`), e.g. a date of birth.
          example: '1990-06-15'
        address:
          $ref: '#/components/schemas/RfiAddressInput'
        identifying_information_list:
          type: array
          minItems: 1
          description: >
            One or more identity documents or tax identification numbers.


            The valid values for `type` depend on the specific item:

            - **TaxIdentificationNumber** items: `type` must be a TIN enum value
            (e.g. `ssn`, `ein`, `itin`, `cpf`, `vat`). Supplying a
            government-ID-only type returns 400.

            - **Government-ID document** items: `type` must be a government-ID
            enum value (e.g. `passport`, `drivers_license`, `national_id`).
            Supplying a TIN-only type returns 400.


            See the `IdentifyingInformation` schema for the full list of
            accepted `type` values.
          items:
            $ref: '#/components/schemas/IdentifyingInformation'
        document_list:
          type: array
          minItems: 1
          description: >
            One or more file attachments as base64 data-URIs. The document
            purpose is derived automatically

            from the item's entity detail type; you do not need to specify it.


            *Maximum combined file size per item: 24MB.*
          items:
            $ref: '#/components/schemas/RfiDocumentInput'
        boolean:
          type: boolean
          description: >-
            `true` or `false`. `false` is a valid answer; only a missing or null
            field is rejected.
        free_text_explanation:
          type: string
          minLength: 1
          description: >
            A plain-text explanation supplementing the primary response.
            Accepted alongside most other

            fields — for example, you may submit both an `address` and a
            `free_text_explanation`.
    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
    RfiAddressInput:
      type: object
      description: Postal address.
      properties:
        street_line_1:
          type: string
          description: Primary street line (house number and street name).
        street_line_2:
          type: string
          description: Secondary street line (apartment, suite, unit, floor, etc.).
        city:
          type: string
          description: City or locality.
        subdivision:
          type: string
          description: >-
            State, province, or other first-level subdivision code (e.g. `CA`).
            Must be supplied for US addresses.
          minLength: 1
          maxLength: 3
        state:
          type: string
          description: Deprecated alias for `subdivision`. Use `subdivision` instead.
          deprecated: true
        postal_code:
          type: string
          description: >-
            Postal or ZIP code. Must be supplied for countries that use postal
            codes.
        country:
          type: string
          description: Three-letter alpha-3 country code as defined in the ISO 3166-1 spec.
          minLength: 3
          maxLength: 3
          example: USA
    IdentifyingInformation:
      writeOnly: true
      type: array
      title: Identification Information
      items:
        type: object
        required:
          - issuing_country
          - type
        properties:
          type:
            type: string
            description: >
              Tax identification number type or government-issued ID document
              type (see enum). Country-specific tax and national ID lists:
              [Individuals](https://apidocs.bridge.xyz/docs/individual-tax-identification-numbers-by-country),
              [Businesses](https://apidocs.bridge.xyz/docs/business-tax-identification-numbers-by-country).


              **EEA / BBSA (policy in `eea_requirements.rb`):** In-scope
              individuals and UBOs need **both** a valid national-ID-type entry
              and a valid TIN per [EEA updated
              requirements](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements).
              In-scope businesses need business registration **and** business
              tax ID types per country tables there. **TIN issuing country**
              must match residence (individuals) or incorporation (businesses).
              **Foreign tax** outside the incorporation country: set
              `has_foreign_tax_registration` on the business customer and add
              TIN objects per jurisdiction ([foreign tax / tax
              residency](https://apidocs.bridge.xyz/platform/customers/customers/eea-updated-requirements#tax-residency-status-foreign-tax-registry)).
            enum:
              - drivers_license
              - matriculate_id
              - military_id
              - national_id
              - passport
              - permanent_residency_id
              - state_or_provincial_id
              - visa
              - abn
              - acn
              - ahv
              - ak
              - aom
              - arbn
              - avs
              - bc
              - bce
              - bin
              - bir
              - bp
              - brn
              - bsn
              - bvn
              - cc
              - cdi
              - cedula_juridica
              - cf
              - cif
              - cin
              - cipc
              - cn
              - cnp
              - cnpj
              - cpf
              - cpr
              - crc
              - crib
              - crn
              - cro
              - cui
              - cuil
              - curp
              - cuit
              - cvr
              - edrpou
              - ein
              - embg
              - emirates_id
              - en
              - fin
              - fn
              - gstin
              - gui
              - hetu
              - hkid
              - hn
              - ic
              - ico
              - id
              - id_broj
              - idno
              - idnp
              - idnr
              - if
              - iin
              - ik
              - inn
              - ird
              - itin
              - itr
              - iva
              - jmbg
              - kbo
              - kvk
              - matricule
              - mf
              - mn
              - ms
              - mst
              - nic
              - nicn
              - nie
              - nif
              - nin
              - nino
              - nip
              - nipc
              - nipt
              - nit
              - npwp
              - nric
              - nrn
              - nrt
              - ntn
              - nuit
              - nzbn
              - oib
              - orgnr
              - other
              - pan
              - partita_iva
              - pesel
              - pib
              - pin
              - pk
              - ppsn
              - qid
              - rc
              - regon
              - rfc
              - ricn
              - rif
              - rn
              - rnc
              - rnokpp
              - rp
              - rrn
              - rtn
              - ruc
              - rut
              - si
              - sin
              - siren
              - siret
              - spi
              - ssm
              - ssn
              - steuer_id
              - strn
              - tckn
              - tfn
              - tin
              - tpin
              - trn
              - ucn
              - uen
              - uic
              - uid
              - usc
              - ust_idnr
              - utr
              - vat
              - vkn
              - voen
              - y_tunnus
          issuing_country:
            type: string
            description: >-
              The ISO 3166-1 (three-character) country code that issued the
              provided document.
          number:
            type: string
            description: >-
              The unique identifier of the document. Required if this document
              is being used as a tax identification number (e.g., you are
              providing a passport or national_id with no other identification).
          description:
            type: string
            description: >-
              A description describing the provided document. This field is
              required when `other` is selected.
          expiration:
            type: string
            description: The expiration date of the given document in yyyy-mm-dd format.
          image_front:
            type: string
            description: >
              This field is optionally accepted for tax_id types, but required
              for government_id types. Base64 encoded image* of the front side
              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:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_back`, the combined size of
              both images must not exceed 24MB._
          image_back:
            type: string
            description: >
              Base64 encoded image* of the back side 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:
              15MB\n\n*Valid file types: .pdf, .jpeg, .jpg, .png, .heic, .tif


              _Note: When combined with an `image_front`, the combined size of
              both images must not exceed 24MB._
    RfiDocumentInput:
      type: object
      required:
        - file
      additionalProperties: false
      description: >
        A file attachment. The document purpose is derived from the entity
        detail type of

        the parent item and does not need to be specified.
      properties:
        file:
          type: string
          description: >
            File content as a base64 data-URI:
            `data:<mime-type>;base64,<base64-encoded-content>`.

            Common MIME types: `application/pdf`, `image/jpeg`, `image/png`,
            `image/heic`, `image/tif`.


            *Maximum File Size: 24MB*
          example: data:application/pdf;base64,JVBERi0xLjQK...
        description:
          type: string
          description: >-
            Human-readable label for the document (e.g. "utility bill", "bank
            statement").
  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

````