API status

User Checks

All user checks related paths.

get

Get checks for a user

Lists all checks for a user specified by ID.

user_idstring

required

User unique identifier.

Format
uuid

Responses

Response examples

OK

{
  "data": [
    {
      "id": "008a82d0-c5a4-4410-9318-d34786429c5a",
      "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
      "type": "KYC",
      "check_confirmed_at": "2019-08-24T14:15:22Z",
      "data_download_link": "https://bucket.customer.com/ident/user3.zip",
      "document_type": "ID_CARD",
      "document_expiration_date": "2030-01-01",
      "nationality": "DE",
      "status": "PASSED",
      "provider": "KYC provider",
      "method": "VIDEO_ID",
      "confirmed_address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "postcode": "45678",
        "city": "Berlin",
        "state": "BE",
        "country": "DE"
      }
    },
    {
      "id": "a680ff52-3a96-4e82-a2ab-12563bbd1a2e",
      "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
      "type": "INSTRUMENT_FIT",
      "check_confirmed_at": "2020-08-24T14:15:22Z",
      "status": "PASSED",
      "instrument_suitability": {
        "suitability": true
      }
    },
    {
      "id": "b633a915-ed3c-43d7-afb5-a550f26ccb0d",
      "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
      "type": "POR",
      "check_confirmed_at": "2020-08-24T14:15:22Z",
      "issuance_date": "2020-01-01",
      "data_download_link": "https: //bucket.customer.com/por/user3.zip",
      "document_type": "UTILITY_BILL",
      "status": "PASSED",
      "confirmed_address": {
        "address_line1": "Rosenweg 221",
        "address_line2": "apt. 33",
        "postcode": "45678",
        "city": "Berlin",
        "state": "BE",
        "country": "DE"
      }
    },
    {
      "id": "76aa72aa-3738-4640-bad5-68c1196dc758",
      "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
      "type": "COMPLIANCE",
      "check_confirmed_at": "2020-08-24T14:15:22Z",
      "status": "PASSED"
    }
  ]
}
post

Create a new check for a user

Creates a new check for a user specified by ID.

Must match one of

typestring

required

The type of check must be “KYC”.

Default
"KYC"
check_confirmed_atstring

required

Completion date and time of the KYC check. Must not be older than 24 months.

Format
date-time
data_download_linkstring

required

Download URL for the KYC evidence file. The file size must not exceed 250 MB.

Format
url
Max Length
1000
document_typestring

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
  • DRIVING_LICENSE - Driving License
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT
  • DRIVING_LICENSE
document_expiration_datestring

required

Expiration date of the document used in KYC process in YYYY-MM-DD format.

Format
date
nationalitystring

required

Issuing country of the document used in the KYC process. ISO 3166 alpha-2 codes.

Pattern
^[A-Z]{2}$
providerstring

required

Provider that was used to perform the KYC check.

Max Length
100
methodstring

required

Method used for AML-compliant KYC process

  • VIDEO_ID - Video identification
  • IN_PERSON_ID - In-person identification at the post office or the client's outlet
  • ELECTRONIC_ID - Advanced electronic identification methods (namely German eID)
  • LIVENESS_PHOTO_ID - Photos and security features of the identification document in combination with a video-based liveness check (residence country must not be Germany in this case)
Enum
  • VIDEO_ID
  • IN_PERSON_ID
  • ELECTRONIC_ID
  • LIVENESS_PHOTO_ID
confirmed_addressobject (Address)

Address. Must not be a P.O. box or c/o address.

kyc_updateboolean

Marks this check as a KYC refresh/update as opposed to an initial record.

Responses

Request examples

{
  "type": "KYC",
  "check_confirmed_at": "2019-08-24T14:15:22Z",
  "data_download_link": "https://bucket.customer.com/ident/user3.zip",
  "document_type": "ID_CARD",
  "document_expiration_date": "2030-01-01",
  "nationality": "DE",
  "provider": "KYC provider",
  "method": "VIDEO_ID",
  "confirmed_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "postcode": "45678",
    "city": "Berlin",
    "state": "BE",
    "country": "DE"
  }
}

Response examples

The request has been successfully accepted.

{
  "id": "e13e9d81-7f43-492d-a02a-440edced389a"
}
get

Get a user check by ID

Retrieves a check for a user specified by its ID.

user_idstring

required

User unique identifier.

Format
uuid
check_idstring

required

User Check unique identifier.

Format
uuid

Responses

Response examples

OK

{
  "id": "008a82d0-c5a4-4410-9318-d34786429c5a",
  "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
  "type": "KYC",
  "check_confirmed_at": "2019-08-24T14:15:22Z",
  "data_download_link": "https://bucket.customer.com/ident/user3.zip",
  "document_type": "ID_CARD",
  "document_expiration_date": "2030-01-01",
  "nationality": "DE",
  "status": "PASSED",
  "provider": "KYC provider",
  "method": "VIDEO_ID",
  "confirmed_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "postcode": "45678",
    "city": "Berlin",
    "state": "BE",
    "country": "DE"
  }
}
webhook

User checks events

idstring

required

Event unique identifier

Format
uuid
created_atstring

required

Date and time when the event was created. RFC 3339-5, ISO8601 UTC

Format
date-time
typestring

required

Event type

Enum
  • USER_CHECK.CREATED
  • USER_CHECK.PASSED
  • USER_CHECK.FAILED
objectOne Of

required

Must match one of

idstring

required

User Check unique identifier.

Format
uuid
user_idstring

required

User unique identifier.

Format
uuid
typestring

required

The type of check must be “KYC”.

Default
"KYC"
check_confirmed_atstring

required

Completion date and time of the KYC check. Must not be older than 24 months.

Format
date-time
data_download_linkstring

required

Download URL for the KYC evidence file. The file size must not exceed 250 MB.

Format
url
Max Length
1000
document_typestring

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
  • DRIVING_LICENSE - Driving License
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT
  • DRIVING_LICENSE
document_expiration_datestring

required

Expiration date of the document used in KYC process in YYYY-MM-DD format.

Format
date
nationalitystring

required

Issuing country of the document used in the KYC process. ISO 3166 alpha-2 codes.

Pattern
^[A-Z]{2}$
statusstring

required

Final status of the KYC check.

  • IN_PROGRESS - KYC check is in progress
  • PASSED - KYC check passed
  • FAILED - KYC check failed
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED
providerstring

required

Provider that was used to perform the KYC check.

Max Length
100
methodstring

required

Method used for AML-compliant KYC process

  • VIDEO_ID - Video identification
  • IN_PERSON_ID - In-person identification at the post office or the client's outlet
  • ELECTRONIC_ID - Advanced electronic identification methods (namely German eID)
  • LIVENESS_PHOTO_ID - Photos and security features of the identification document in combination with a video-based liveness check (residence country must not be Germany in this case)
Enum
  • VIDEO_ID
  • IN_PERSON_ID
  • ELECTRONIC_ID
  • LIVENESS_PHOTO_ID
confirmed_addressobject (Address)

Address. Must not be a P.O. box or c/o address.

kyc_updateboolean

Marks this check as a KYC refresh/update as opposed to an initial record.

webhook_idstring

required

Webhook unique identifier.

Format
uuid

Responses

Request examples

{
  "id": "38fc59d0-fc42-46ef-9512-824773219b2e",
  "created_at": "2021-11-19T13:06:57.820371265Z",
  "type": "USER_CHECK.PASSED",
  "object": {
    "check_confirmed_at": "2021-08-02T15:04:05Z",
    "data_download_link": "https://storage.cloud.google.com/upvest-mock-documents/Test_KYC_documents.zip",
    "document_expiration_date": "2028-01-02",
    "document_type": "PASSPORT",
    "id": "32cbb9a2-dd3b-4e60-a5af-9b41460049dc",
    "user_id": "7b39529a-e68c-4688-8242-7549d10d6084",
    "method": "VIDEO_ID",
    "nationality": "RU",
    "provider": "IDNOW",
    "status": "PASSED",
    "type": "KYC"
  },
  "webhook_id": "1b097e06-8a14-4181-b72a-de0972a3c57b"
}

Response examples

Request has been processed successfully.

Empty response