---
title: "Create Veriff ingestion"
method: POST
path: "/kyc-connector/veriff/ingestions"
tags: ["Veriff"]
---

# Create Veriff ingestion

`POST /kyc-connector/veriff/ingestions`

## Request

- Base URL: `https://api.enterprise.sandbox.uphold.com`
- URL: `https://api.enterprise.sandbox.uphold.com/kyc-connector/veriff/ingestions`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/core/oauth2/token` scopes: `kyc-connector.veriff.ingestions:create`
- TypeScript: <https://skmtc.dev/uphold/apis/kyc-connectors-api/docs/kyc-connector/veriff/ingestions/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new Veriff ingestion.

## Headers

- `X-On-Behalf-Of` string
- `X-Uphold-User-Ip` union
  - string, ipv4
  - string, ipv6
- `X-Uphold-User-Agent` string
- `X-Uphold-User-Origin` string
- `X-Uphold-User-Country` string
- `X-Uphold-User-Subdivision` string
- `X-Uphold-User-City` string

## Request body

- object
  - `processes` VeriffIngestionProcess[]: List of KYC processes to ingest.
  - `sessions` VeriffSessionForRequest[], required: The Veriff sessions to process.
    - `processes` VeriffIngestionProcess[]: The processes this session provides data for. If omitted, the processes will be determined from the integration configuration.
    - `sessionId` string, uuid, required: The Veriff session identifier.
    - `integrationName` string, required: The integration name within the provider config.

## Response `201`

Veriff ingestion created.

- object
  - `ingestion` VeriffIngestion, required
    - `id` string, required: The id of the ingestion.
    - `userId` string, required: The identifier of the user associated with the ingestion.
    - `status` 'queued' | 'running' | 'finished', required: The status of the ingestion.
    - `processes` string[], required: The list of processes requested to ingest.
    - `provider` string, required: The provider of the ingestion.
    - `parameters` object, required: The parameters associated with the ingestion.
      - `sessions` VeriffSession[], required: The Veriff sessions used for data ingestion.
        - `processes` VeriffIngestionProcess[], required: The processes this session provides data for.
        - `sessionId` string, uuid, required: The Veriff session identifier.
        - `integrationName` string, required: The integration name within the provider config.
    - `result` object: The result of each process associated with the ingestion.
      - `profile` object: The profile process result.
        - `status` 'processing' | 'completed' | 'failed', required: The status associated with the process.
        - `data` IngestionResultProfileData: The extracted profile data.
          - `fullName` string: The full legal name.
          - `birthdate` string, date: The date of birth.
          - `birthplace` object: The place of birth.
            - `town` string: The birth town.
            - `country` string: The birth country.
          - `primaryCitizenship` string: The primary citizenship country.
        - `error` VeriffIngestionResultProcessError: The error information associated with the process.
          - `code` 'unknown_error' | 'workflow_error' | 'provider_data_readiness_timeout_exceeded' | 'provider_data_not_available' | 'provider_data_invalid' | 'provider_data_recheck_failed' | 'provider_file_download_failed' | 'dependent_process_failed' | 'operation_not_allowed' | 'veriff_client_error' | 'veriff_session_not_approved': The error code.
          - `message` string: A human-readable message providing more details about the error.
          - `hint` string: A human-readable message providing hints to resolve the error.
          - `step` 'fetch-provider-data' | 'download-provider-files' | 'update-kyc-process': The step where the error occurred.
          - `details` object: Additional information about the error reported.
      - `address` object: The address process result.
        - `status` 'processing' | 'completed' | 'failed', required: The status associated with the process.
        - `data` IngestionResultAddressData: The extracted address data.
          - `country` string: The country of the address.
          - `subdivision` string: The subdivision of the address.
          - `city` string: The city of the address.
          - `line1` string: The first line of the address.
          - `line2` string: The second line of the address.
          - `postalCode` string: The postal code of the address.
        - `error` VeriffIngestionResultProcessError: The error information associated with the process.
          - `code` 'unknown_error' | 'workflow_error' | 'provider_data_readiness_timeout_exceeded' | 'provider_data_not_available' | 'provider_data_invalid' | 'provider_data_recheck_failed' | 'provider_file_download_failed' | 'dependent_process_failed' | 'operation_not_allowed' | 'veriff_client_error' | 'veriff_session_not_approved': The error code.
          - `message` string: A human-readable message providing more details about the error.
          - `hint` string: A human-readable message providing hints to resolve the error.
          - `step` 'fetch-provider-data' | 'download-provider-files' | 'update-kyc-process': The step where the error occurred.
          - `details` object: Additional information about the error reported.
      - `identity` object: The identity process result.
        - `status` 'processing' | 'completed' | 'failed', required: The status associated with the process.
        - `data` IngestionResultIdentityData: The extracted identity data.
          - `document` object: The identity document information.
            - `type` 'driving-license' | 'id-card' | 'passport' | 'residence-permit' | 'unsupported': The type of the document.
            - `number` string: The number of the document.
            - `country` string: The country of the document.
            - `expiresAt` string, date: The expiration date of the document.
          - `person` object: The person information.
            - `givenName` string: The person's given name.
            - `familyName` string: The person's family name or surname.
            - `address` Address: The address information.
              - …
            - `birthdate` string, date: The person's date of birth.
            - `gender` 'female' | 'male': The person's gender
          - `verifiedAt` string, date-time: The date and time when the identity was verified.
        - `files` object[]: The list of files downloaded during ingestion related to the process.
          - `id` string: The identifier of the file.
          - `category` 'document' | 'image' | 'video': The category of the file.
          - `context` string: The context of the file in relation to the process.
          - `contentType` string: The content-type of the file.
          - `size` integer: The size of the file in bytes.
          - `providerDetails` object: Provider-specific details about the file.
        - `error` VeriffIngestionResultProcessError: The error information associated with the process.
          - `code` 'unknown_error' | 'workflow_error' | 'provider_data_readiness_timeout_exceeded' | 'provider_data_not_available' | 'provider_data_invalid' | 'provider_data_recheck_failed' | 'provider_file_download_failed' | 'dependent_process_failed' | 'operation_not_allowed' | 'veriff_client_error' | 'veriff_session_not_approved': The error code.
          - `message` string: A human-readable message providing more details about the error.
          - `hint` string: A human-readable message providing hints to resolve the error.
          - `step` 'fetch-provider-data' | 'download-provider-files' | 'update-kyc-process': The step where the error occurred.
          - `details` object: Additional information about the error reported.
      - `proofOfAddress` object: The proof-of-address process result.
        - `status` 'processing' | 'completed' | 'failed', required: The status associated with the process.
        - `data` IngestionResultProofOfAddressData: The extracted proof-of-address data.
          - `person` object: The person information.
            - `givenName` string: The person's given name.
            - `familyName` string: The person's family name or surname.
            - `address` Address: The address information.
              - …
          - `verifiedAt` string, date-time: The date and time when the proof-of-address was verified.
        - `files` object[]: The list of files downloaded during ingestion related to the process.
          - `id` string: The identifier of the file.
          - `category` 'document' | 'image' | 'video': The category of the file.
          - `context` string: The context of the file in relation to the process.
          - `contentType` string: The content-type of the file.
          - `size` integer: The size of the file in bytes.
          - `providerDetails` object: Provider-specific details about the file.
        - `error` VeriffIngestionResultProcessError: The error information associated with the process.
          - `code` 'unknown_error' | 'workflow_error' | 'provider_data_readiness_timeout_exceeded' | 'provider_data_not_available' | 'provider_data_invalid' | 'provider_data_recheck_failed' | 'provider_file_download_failed' | 'dependent_process_failed' | 'operation_not_allowed' | 'veriff_client_error' | 'veriff_session_not_approved': The error code.
          - `message` string: A human-readable message providing more details about the error.
          - `hint` string: A human-readable message providing hints to resolve the error.
          - `step` 'fetch-provider-data' | 'download-provider-files' | 'update-kyc-process': The step where the error occurred.
          - `details` object: Additional information about the error reported.
    - `createdAt` string, date-time, required: The time at which the ingestion was created.
    - `updatedAt` string, date-time, required: The time at which the ingestion was last updated.
    - `startedAt` string, date-time: The time at which the ingestion was started.
    - `finishedAt` string, date-time: The time at which the ingestion was finished.

## Other responses

- `401`: Unauthorized.
- `403`: Forbidden.
- `409`: Conflict.
- `429`: Too Many Requests.

---

[API](https://skmtc.dev/uphold/apis/kyc-connectors-api.md) - [All operations](https://skmtc.dev/uphold/apis/kyc-connectors-api/llms.txt) - [OpenAPI document](https://skmtc.dev/uphold/apis/kyc-connectors-api/revisions/1a51aeae24f7?raw)
