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

# Submit for onboarding

> Submit a customer for onboarding verification



## OpenAPI

````yaml https://api.conduit.financial/api-docs/2024-12-01/openapi-external.yaml?mode=dynamic post /customers/{id}/submit
openapi: 3.0.2
info:
  version: '2024-12-01'
  title: Conduit API
  description: The Conduit Financial API
  contact:
    name: Conduit Support
    email: conduit@conduit.fi
servers:
  - url: https://api.conduit.financial
    description: The Conduit API live environment
  - url: https://api.sandbox.conduit.financial
    description: The Conduit API Sandbox environment
security: []
tags:
  - name: Accounts
    description: |
      Endpoints dealing with accounts.
  - name: Counterparties
    description: |
      Endpoints dealing with counterparties information. 
  - name: Quotes
    description: |
      Endpoints dealing with quotes.
  - name: Transactions
    description: |
      Endpoints dealing with transactions.
  - name: Documents
    description: |
      Endpoints dealing with documents.
  - name: Customers
    description: |
      Endpoints dealing with customer information. 
paths:
  /customers/{id}/submit:
    post:
      tags:
        - Customers
      summary: Submit for onboarding
      description: Submit a customer for onboarding verification
      operationId: submitForOnboarding
      parameters:
        - schema:
            $ref: '#/components/schemas/CustomerId'
          required: true
          description: A valid Customer ID
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubmitForOnboardingRequest'
      responses:
        '200':
          description: Onboarding submission result
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/SubmitForOnboardingSuccessResponse'
                  - $ref: '#/components/schemas/SubmitForOnboardingErrorResponse'
              examples:
                'With Liveness ':
                  summary: Requires Liveness
                  value:
                    success: true
                    status: manual_review
                    livenessLinks:
                      - controlPersonId: ctl_34yPkFSqTUpwOwe0zoovDKU9Yad
                        verificationUrl: >-
                          https://verify.example.com/?verification_session_id=abc
                No Liveness Required:
                  summary: No Liveness Required
                  value:
                    success: true
                    status: in_compliance_review
                    livenessLinks: []
        '400':
          description: Input validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadRequestErrorResponse'
        '403':
          description: Authorization error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorResponse'
        '415':
          description: Unsupported media type error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnsupportedMediaTypeErrorResponse'
        '429':
          description: Throttling error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsErrorResponse'
        '500':
          description: Internal Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerErrorResponse'
      security:
        - apiKey: []
          apiSecret: []
components:
  schemas:
    CustomerId:
      type: string
      pattern: ^cus_[a-zA-Z0-9]{27}$
      description: A valid Customer ID
      example: cus_2ofTA13AD0xBtbEvBl20aEb1hEu
    SubmitForOnboardingRequest:
      type: object
      properties:
        forceApproval:
          type: boolean
          default: false
    SubmitForOnboardingSuccessResponse:
      type: object
      properties:
        success:
          type: boolean
        status:
          type: string
        livenessLinks:
          type: array
          items:
            $ref: '#/components/schemas/SubmitForOnboardingLivenessLink'
      required:
        - success
        - status
      description: >-
        Response returned when submission succeeds but requires liveness
        verification
      example:
        success: true
        status: manual_review
        livenessLinks:
          - controlPersonId: ctl_34yPkFSqTUpwOwe0zoovDKU9Yad
            verificationUrl: https://verify.example.com/?verification_session_id=abc
    SubmitForOnboardingErrorResponse:
      type: object
      properties:
        error:
          type: string
        missingFields:
          type: array
          items:
            type: string
      required:
        - error
        - missingFields
    BadRequestErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    ForbiddenErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    UnsupportedMediaTypeErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    TooManyRequestsErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    InternalServerErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              code:
                type: string
            required:
              - detail
              - code
      required:
        - errors
    SubmitForOnboardingLivenessLink:
      type: object
      properties:
        controlPersonId:
          $ref: '#/components/schemas/ControlPersonId'
        verificationUrl:
          type: string
          format: uri
      required:
        - controlPersonId
        - verificationUrl
    ControlPersonId:
      type: string
      pattern: ^ctl_[a-zA-Z0-9]{27}$
      description: A valid Control Person ID
      example: ctl_2ofTA13AD0xBtbEvBl20aEb1hEu
  securitySchemes:
    apiKey:
      type: apiKey
      description: Includes an API key in the HTTP headers to authenticate the client.
      name: X-API-Key
      in: header
    apiSecret:
      type: apiKey
      description: Includes an API secret in the HTTP headers to authenticate the client.
      name: X-API-Secret
      in: header

````