# Create a KYC document

Creates a KYC document.

Endpoint: POST /kyc-documents
Version: latest
Security: SecretApiKey, JWT

## Request fields (application/json):

  - `body` (object, required) — one of (discriminator: documentType):
    - identity-proof:
      - `fileIds` (array, required)
        IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes:
['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

Permitted file types for identity-proof files: .jpg, .png, and .pdf.
        Example: ["file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"]
      - `documentType` (string, required)
        Document type submitted for validation.
Only the identity-proof and address-proof types are analyzed automatically.
        Enum: "identity-proof", "address-proof", "funds-proof", "purchase-proof", "credit-file-proof"
      - `documentSubtype` (string,null)
        Document subtype submitted for validation.
        Enum: "passport", "id-card", "driver-license", "birth-certificate", "utility-bill", "rental-receipt", "lease-agreement", "copy-credit-card", "credit-card-statement", "bank-statement", "inheritance-documentation", "tax-return", "salary-slip", "sale-of-assets", "public-health-card", "proof-of-age-card", "reverse-of-id", "public-service", "ewallet-holder-details", "ewallet-transaction-statement", "marriage-certificate", "firearms-license", "insurance-letter", "income-statement", "debtors-letter", "other", null
      - `customerId` (string, required)
        ID of the customer resource.
      - `notes` (string,null)
        Reviewer notes.
      - `reason` (string,null)
        Reason for uploading.
      - `matchLevel` (integer)
        Document verification level.
        Enum: 1, 2, 3
    - address-proof:
      - `fileIds` (array, required)
        IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes:
['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

Permitted file types for identity-proof files: .jpg, .png, and .pdf.
        Example: ["file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"]
      - `documentType` (string, required)
        Document type submitted for validation.
Only the identity-proof and address-proof types are analyzed automatically.
        Enum: same as `documentType` in "identity-proof" (5 values)
      - `documentSubtype` (string,null)
        Document subtype submitted for validation.
        Enum: same as `documentSubtype` in "identity-proof" (27 values)
      - `customerId` (string, required)
        ID of the customer resource.
      - `notes` (string,null)
        Reviewer notes.
      - `reason` (string,null)
        Reason for uploading.
      - `matchLevel` (integer)
        Document verification level.
        Enum: same as `matchLevel` in "identity-proof" (3 values)
    - funds-proof:
      - `fileIds` (array, required)
        IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes:
['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

Permitted file types for identity-proof files: .jpg, .png, and .pdf.
        Example: ["file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"]
      - `documentType` (string, required)
        Document type submitted for validation.
Only the identity-proof and address-proof types are analyzed automatically.
        Enum: same as `documentType` in "identity-proof" (5 values)
      - `documentSubtype` (string,null)
        Document subtype submitted for validation.
        Enum: same as `documentSubtype` in "identity-proof" (27 values)
      - `customerId` (string, required)
        ID of the customer resource.
      - `notes` (string,null)
        Reviewer notes.
      - `reason` (string,null)
        Reason for uploading.
      - `matchLevel` (integer)
        Document verification level.
        Enum: same as `matchLevel` in "identity-proof" (3 values)
      - `settings` (object,null)
        Settings used to score the document.
    - purchase-proof:
      - `fileIds` (array, required)
        IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes:
['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

Permitted file types for identity-proof files: .jpg, .png, and .pdf.
        Example: ["file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"]
      - `documentType` (string, required)
        Document type submitted for validation.
Only the identity-proof and address-proof types are analyzed automatically.
        Enum: same as `documentType` in "identity-proof" (5 values)
      - `documentSubtype` (string,null)
        Document subtype submitted for validation.
        Enum: same as `documentSubtype` in "identity-proof" (27 values)
      - `customerId` (string, required)
        ID of the customer resource.
      - `notes` (string,null)
        Reviewer notes.
      - `reason` (string,null)
        Reason for uploading.
      - `matchLevel` (integer)
        Document verification level.
        Enum: same as `matchLevel` in "identity-proof" (3 values)
      - `settings` (object,null)
        Settings used to score the document.
    - credit-file-proof:
      - `fileIds` (array, required)
        IDs of linked file objects.

Uploaded identity-proof files must have the following tags attached to be used for KYC purposes:
['kyc', 'id-front'], ['kyc', 'id-back'], ['kyc', 'face-proof'].

Permitted file types for identity-proof files: .jpg, .png, and .pdf.
        Example: ["file_0YV7HZ7KDCC5WBV9Q7WRKG1H6N"]
      - `documentType` (string, required)
        Document type submitted for validation.
Only the identity-proof and address-proof types are analyzed automatically.
        Enum: same as `documentType` in "identity-proof" (5 values)
      - `documentSubtype` (string,null)
        Document subtype submitted for validation.
        Enum: same as `documentSubtype` in "identity-proof" (27 values)
      - `customerId` (string, required)
        ID of the customer resource.
      - `notes` (string,null)
        Reviewer notes.
      - `reason` (string,null)
        Reason for uploading.
      - `matchLevel` (integer)
        Document verification level.
        Enum: same as `matchLevel` in "identity-proof" (3 values)
      - `settings` (object,null)
        Settings used to score the document.

## Response 401 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 403 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

## Response 422 fields (application/json):

  - `status` (integer)
    HTTP status code.

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.

  - `invalidFields` (array)
    Invalid field details.

  - `invalidFields.field` (string)
    Name of the field.
Dot notation is used for nested object field names.

  - `invalidFields.message` (string)
    Message field.

## Response 429 fields (application/json):

  - `type` (string)
    Problem type in the form of a [URI](https://tools.ietf.org/html/rfc3986) reference.
It should provide human-readable documentation for the problem type.
When this member is not present, its value is assumed to be "about:blank".
    Example: "about:blank"

  - `title` (string)
    Short, human-readable summary of the problem type.
Other than for the purposes of localization, this should not change from occurrence to occurrence of the problem.
    Example: "Rate Limit Exceeded"

  - `status` (integer)
    HTTP status code.

  - `detail` (string)
    Human-readable explanation that is specific to this occurrence of the problem.
    Example: "A request cannot be executed because the user has sent too many requests within a certain period of time"

  - `instance` (string)
    URI reference that identifies the specific occurrence of the problem.
It may or may not yield further information if dereferenced.


