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

# Generate the Links needs to complete KYC for an individual or business



## OpenAPI

````yaml https://withbridge-image1-sv-usw2-monorail-openapi.s3.amazonaws.com/latest.json post /kyc_links
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:
  /kyc_links:
    post:
      tags:
        - KYC Links
      summary: Generate the Links needs to complete KYC for an individual or business
      parameters:
        - $ref: '#/components/parameters/IdempotencyKeyParameter'
      requestBody:
        description: Information about the customer to create KYC Links for
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateKycLinks'
      responses:
        '200':
          description: KYC Links generated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IndividualKycLinkResponse'
              examples:
                SuccessfulLiquidationAddressCreateResponse:
                  $ref: '#/components/examples/SuccessfulKycLinkCreateResponse'
                  summary: KYC Links generated
        '400':
          $ref: '#/components/responses/BadRequestError'
        '401':
          $ref: '#/components/responses/AuthenticationError'
        '500':
          $ref: '#/components/responses/UnexpectedError'
components:
  parameters:
    IdempotencyKeyParameter:
      in: header
      name: Idempotency-Key
      required: true
      schema:
        type: string
  schemas:
    CreateKycLinks:
      required:
        - email
        - type
      properties:
        full_name:
          description: >-
            Full name of the customer, for a business, this would be the
            business entity's legal name
          type: string
          minLength: 1
        email:
          description: Email of the customer
          type: string
          minLength: 1
        type:
          description: Type of the customer (individual vs. business)
          type: string
          minLength: 1
          enum:
            - individual
            - business
        endorsements:
          description: >-
            List of endorsements to request for the generated KYC link.

            For example, `sepa` endorsement could be requested to allow an
            `individual` customer to submit `proof-of-address` documents in the
            KYC flow.
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/EndorsementType'
        redirect_uri:
          description: >-
            The location where the customer should be redirected after
            completing the KYC flow. Must be in the form of http:// or https://.
          type: string
        transliterated_first_name:
          type: string
          description: >-
            Required when the `full_name` of an individual 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 `full_name` of an individual includes any non
            Latin-1 characters and the individual has a middle name. Acceptable
            characters - Latin-1 Unicode Character Range: À-ÖØ-ßà-öø-ÿ; Standard
            Unicode Character Range:  -~
          minLength: 1
          maxLength: 256
        transliterated_last_name:
          type: string
          description: >-
            Required when the `full_name` of an individual includes any non
            Latin-1 characters. Acceptable characters - Latin-1 Unicode
            Character Range: À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~
          minLength: 1
          maxLength: 256
        transliterated_business_legal_name:
          type: string
          description: >-
            Required if the `full_name` of a business includes any non Latin-1
            characters. Acceptable characters - Latin-1 Unicode Character Range:
            À-ÖØ-ßà-öø-ÿ; Standard Unicode Character Range:  -~
          minLength: 1
          maxLength: 1024
    IndividualKycLinkResponse:
      properties:
        id:
          type: string
          description: ID of the KYC link
        type:
          type: string
          description: Type of the KYC link
          enum:
            - individual
            - business
        customer_id:
          type: string
          description: ID of the customer.
        full_name:
          type: string
          description: >-
            Full name of the customer, for a business, this would be the
            business entity's legal name
        email:
          type: string
          description: Email of the customer
        kyc_link:
          type: string
          description: Link to the KYC flow
        kyc_status:
          $ref: '#/components/schemas/KycStatus'
          type: string
        rejection_reasons:
          deprecated: true
          readOnly: true
          description: Reasons why a customer KYC was rejected
          type: array
          minItems: 0
          items:
            $ref: '#/components/schemas/RejectionReason'
        tos_link:
          type: string
          description: Link to the TOS flow
        tos_status:
          $ref: '#/components/schemas/TosStatus'
          type: string
        created_at:
          type: string
          description: Time of creation of the KYC link
          format: date-time
    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
    KycStatus:
      type: string
      description: Status of the KYC flow.
      enum:
        - not_started
        - incomplete
        - awaiting_questionnaire
        - awaiting_ubo
        - under_review
        - approved
        - rejected
        - paused
        - offboarded
        - deposits_restricted
    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
    TosStatus:
      type: string
      description: Status of the TOS flow
      enum:
        - pending
        - approved
    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
  examples:
    SuccessfulKycLinkCreateResponse:
      summary: Successful KYC link creation
      value:
        id: kyc_link_123
        full_name: John Doe
        email: johndoe@johndoe.com
        type: individual
        kyc_link: www.kyclink.com/blah
        tos_link: www.toslink.com/blah
        kyc_status: not_started
        tos_status: pending
        customer_id: cust_123
  responses:
    BadRequestError:
      description: Request containing missing or invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            BadCustomerRequestErrorExample:
              summary: Bad customer request
              value:
                code: bad_customer_request
                message: fields missing from customer body.
                name: first_name,ssn
    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
    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

````