User Checks

Download Spec

All user checks related paths.

Get checks for a user

get /users/{user_id}/checks

Lists all checks for a user specified by ID.

OAuth2 oauth-client-credentials

Required Scopes:

checks:readchecks:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • prices:read · Read instrument prices
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:admin · Create reports
  • reports:read · Read reports
  • savings_plans:admin · Create/read savings plans
  • savings_plans:read · Read savings plans
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • virtual_cash_balances:admin · Virtual cash balances
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^Bearer [a-zA-Z0-9\-\._~+/]*=*

required

Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750

Example
"Bearer c2VjcmV0Cg=="

signature

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

signature-input

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

upvest-api-version

string

Upvest API version (Note: Do not include quotation marks)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

Response

Examples Schema

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"
    }
  ]
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

data

array[One Of]

required

User Check

One Of

User Check - Know your customer

object (User Check - Know your customer)

The KYC (Know your customer) check is completed by the client sharing the valid and relevant KYC data for the user.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be “KYC”.

Default
"KYC"

check_confirmed_at

string

date-time

required

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

data_download_link

string

url

required

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

Max Length
1000

document_type

string

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT

document_expiration_date

string

date

required

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

nationality

string

^[A-Z]{2}$

required

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

status

string

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

provider

string

required

Provider that was used to perform the KYC check.

Max Length
100

method

string

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_address

object (confirmed_address)

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

kyc_update

boolean

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

User Check - Proof of Residency

object (User Check - Proof of Residency)

The PoR (Proof of residency) check is completed by the client sharing a valid PoR document, if not fulfilled by the KYC check.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be POR.

Default
"POR"

check_confirmed_at

string

date-time

required

Completion date and time of the PoR check.

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format.

data_download_link

string

url

required

Download URL for the PoR evidence file. The file size must not exceed 200 MB.

Max Length
1000

document_type

string

required

The type of document used in the PoR process. Maximum age of the document is 12 months (stated on the document) applicable for: Utility bills (water, gas, electricity), Telephone bills (only landline), Internet bills, Bank account statements. Documents that need to be still valid - Registration certificate (issued within the past 5 years), Residence permit e.g. Blue Card (as long as valid), ID Card that contains the registration address.

  • UTILITY_BILL -
  • TELEPHONE_BILL -
  • INTERNET_BILL -
  • BANK_STATEMENT -
  • REGISTRATION_CERT -
  • RESIDENCE_PERMIT -
  • ID_CARD -
Enum
  • UTILITY_BILL
  • TELEPHONE_BILL
  • INTERNET_BILL
  • BANK_STATEMENT
  • REGISTRATION_CERT
  • RESIDENCE_PERMIT
  • ID_CARD

status

string

required

Final status of the PoR check.

  • IN_PROGRESS -
  • PASSED -
  • FAILED -
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

confirmed_address

object (confirmed_address)

required

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

User Check - Instrument fit

object (User Check - Instrument fit)

Instrument fit check is completed by the client providing the user's answers to the instrument appropriateness or suitability questionnaire.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be INSTRUMENT_FIT.

Default
"INSTRUMENT_FIT"

check_confirmed_at

string

date-time

required

Completion date and time of the instrument fit check.

status

string

required

Final status of the instrument fit check.

  • IN_PROGRESS - Instrument fit check is in progress
  • PASSED - Instrument fit check passed
  • FAILED - Instrument fit check failed
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

instrument_suitability

object (instrument_suitability)

required

suitability

boolean

required

Did the user go through a suitability assessment and the outcome indicated suitability.

User Check - Compliance

object (User Check - Compliance)

Compliance check

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be COMPLIANCE.

Default
"COMPLIANCE"

status

string

Final status of the COMPLIANCE check.

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

check_confirmed_at

string

date-time

required

Completion date and time of the COMPLIANCE check.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Create a new check for a user

post /users/{user_id}/checks

Creates a new check for a user specified by ID.

OAuth2 oauth-client-credentials

Required Scopes:

checks:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • prices:read · Read instrument prices
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:admin · Create reports
  • reports:read · Read reports
  • savings_plans:admin · Create/read savings plans
  • savings_plans:read · Read savings plans
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • virtual_cash_balances:admin · Virtual cash balances
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^Bearer [a-zA-Z0-9\-\._~+/]*=*

required

Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750

Example
"Bearer c2VjcmV0Cg=="

signature

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

signature-input

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

upvest-api-version

string

Upvest API version (Note: Do not include quotation marks)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

User Check - Create - Request

One Of

User Check - Know your customer - Create - Request

object (User Check - Know your customer - Create - Request)

The KYC (Know your customer) check is completed by the client sharing the valid and relevant KYC data for the user.

type

string

required

The type of check must be “KYC”.

Default
"KYC"

check_confirmed_at

string

date-time

required

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

data_download_link

string

url

required

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

Max Length
1000

document_type

string

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT

document_expiration_date

string

date

required

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

nationality

string

^[A-Z]{2}$

required

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

provider

string

required

Provider that was used to perform the KYC check.

Max Length
100

method

string

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_address

object (confirmed_address)

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

kyc_update

boolean

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

User Check - Proof of Residency - Create - Request

object (User Check - Proof of Residency - Create - Request)

The PoR (Proof of residency) check is completed by the client sharing a valid PoR document, if not fulfilled by the KYC check.

type

string

required

The type of check must be POR.

Default
"POR"

check_confirmed_at

string

date-time

required

Completion date and time of the PoR check.

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format.

data_download_link

string

url

required

Download URL for the PoR evidence file. The file size must not exceed 200 MB.

Max Length
1000

document_type

string

required

The type of document used in the PoR process. Maximum age of the document is 12 months (stated on the document) applicable for: Utility bills (water, gas, electricity), Telephone bills (only landline), Internet bills, Bank account statements. Documents that need to be still valid - Registration certificate (issued within the past 5 years), Residence permit e.g. Blue Card (as long as valid), ID Card that contains the registration address.

  • UTILITY_BILL -
  • TELEPHONE_BILL -
  • INTERNET_BILL -
  • BANK_STATEMENT -
  • REGISTRATION_CERT -
  • RESIDENCE_PERMIT -
  • ID_CARD -
Enum
  • UTILITY_BILL
  • TELEPHONE_BILL
  • INTERNET_BILL
  • BANK_STATEMENT
  • REGISTRATION_CERT
  • RESIDENCE_PERMIT
  • ID_CARD

confirmed_address

object (confirmed_address)

required

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

User Check - Instrument fit - Create - Request

object (User Check - Instrument fit - Create - Request)

Instrument fit check is completed by the client providing the user's answers to the instrument appropriateness or suitability questionnaire.

type

string

required

The type of check must be INSTRUMENT_FIT.

Default
"INSTRUMENT_FIT"

check_confirmed_at

string

date-time

required

Completion date and time of the instrument fit check.

instrument_suitability

object (instrument_suitability)

required

suitability

boolean

required

Did the user go through a suitability assessment and the outcome indicated suitability.

Request

{
  "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"
  }
}
{
  "type": "INSTRUMENT_FIT",
  "check_confirmed_at": "2020-08-24T14:15:22Z",
  "instrument_suitability": {
    "suitability": true
  }
}
{
  "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",
  "confirmed_address": {
    "address_line1": "Rosenweg 221",
    "address_line2": "apt. 33",
    "postcode": "45678",
    "city": "Berlin",
    "state": "BE",
    "country": "DE"
  }
}

Response

Examples Schema

The request has been successfully accepted.

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

Bad Request. The incoming request had a malformed parameter/object.

{
  "status": 400,
  "type": "bad_request"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

id

string

uuid

required

User Check unique identifier.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

Get a user check by ID

get /users/{user_id}/checks/{check_id}

Retrieves a check for a user specified by its ID.

OAuth2 oauth-client-credentials

Required Scopes:

checks:readchecks:admin

All Scopes

  • account_liquidations:admin · Trigger/read/cancel accounts liquidations
  • account_liquidations:read · Read accounts liquidations
  • account_returns:read · Read accounts returns
  • accounts:admin · Create/update/delete accounts and account groups
  • accounts:read · Read accounts and account groups
  • checks:admin · Create checks
  • checks:read · Read checks
  • credit_fundings:read · Credit Fundings read operations
  • fees:admin · Create and read fee operations
  • fees:read · Read fee operations
  • instruments:read · Read instruments
  • mandates:admin · Create/update/delete mandates
  • mandates:read · Read mandates
  • orders:admin · Create/update/delete orders
  • orders:read · Read orders
  • payments:admin · Payins and withdrawal operations
  • payments:read · Payins and withdrawal read operations
  • portfolios:admin · Modify portfolios
  • portfolios:read · Read portfolios
  • positions:read · Read positions
  • prices:read · Read instrument prices
  • reference_accounts:admin · Create/update/delete reference accounts
  • reference_accounts:read · Read reference accounts
  • reports:admin · Create reports
  • reports:read · Read reports
  • savings_plans:admin · Create/read savings plans
  • savings_plans:read · Read savings plans
  • taxes:admin · Modify tax residencies
  • taxes:read · Read tax residencies
  • topups:admin · Topups operations
  • topups:read · Topups read operations
  • transactions:read · Read cash and securities transactions
  • users:admin · Create/update/delete users
  • users:read · Read users
  • valuations:read · Read valuations
  • virtual_cash_balances:admin · Virtual cash balances
  • webhooks:admin · Create/update/delete webhooks
  • webhooks:read · Read webhooks
Flow Type:
Client Credentials
Token URL:
https://sandbox.upvest.co/auth/token

upvest-client-id

string

uuid

required

Tenant Client ID

Example
"ebabcf4d-61c3-4942-875c-e265a7c2d062"

authorization

string

^Bearer [a-zA-Z0-9\-\._~+/]*=*

required

Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750

Example
"Bearer c2VjcmV0Cg=="

signature

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

signature-input

string

required

https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

upvest-api-version

string

Upvest API version (Note: Do not include quotation marks)

Default
"1"
Enum
  • 1
Example
1

user_id

string

uuid

required

User unique identifier.

check_id

string

uuid

required

User Check unique identifier.

Response

Examples Schema

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"
  }
}
{
  "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"
}

Unauthorized. The caller has not been authenticated.

{
  "status": 401,
  "type": "unauthorized"
}

Forbidden. The caller has been authenticated but is not allowed to take the requested action.

{
  "status": 403,
  "type": "forbidden"
}

Not Found. The requested resource could not be found.

{
  "status": 404,
  "type": "not_found"
}

Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.

{
  "status": 406,
  "type": "not_acceptable"
}

Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

{
  "status": 429,
  "type": "too_many_requests"
}

Internal Server Error. The service encountered an unexpected error.

{
  "status": 500,
  "type": "internal_server_error"
}

Service Unavailable. The service handling for this request cannot be reached at this time.

{
  "status": 503,
  "type": "method_not_allowed"
}

Gateway Timeout. The service gateway has reached its internal timeout.

{
  "status": 504,
  "type": "gateway_timeout"
}

User Check

One Of

User Check - Know your customer

object (User Check - Know your customer)

The KYC (Know your customer) check is completed by the client sharing the valid and relevant KYC data for the user.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be “KYC”.

Default
"KYC"

check_confirmed_at

string

date-time

required

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

data_download_link

string

url

required

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

Max Length
1000

document_type

string

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT

document_expiration_date

string

date

required

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

nationality

string

^[A-Z]{2}$

required

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

status

string

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

provider

string

required

Provider that was used to perform the KYC check.

Max Length
100

method

string

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_address

object (confirmed_address)

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

kyc_update

boolean

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

User Check - Proof of Residency

object (User Check - Proof of Residency)

The PoR (Proof of residency) check is completed by the client sharing a valid PoR document, if not fulfilled by the KYC check.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be POR.

Default
"POR"

check_confirmed_at

string

date-time

required

Completion date and time of the PoR check.

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format.

data_download_link

string

url

required

Download URL for the PoR evidence file. The file size must not exceed 200 MB.

Max Length
1000

document_type

string

required

The type of document used in the PoR process. Maximum age of the document is 12 months (stated on the document) applicable for: Utility bills (water, gas, electricity), Telephone bills (only landline), Internet bills, Bank account statements. Documents that need to be still valid - Registration certificate (issued within the past 5 years), Residence permit e.g. Blue Card (as long as valid), ID Card that contains the registration address.

  • UTILITY_BILL -
  • TELEPHONE_BILL -
  • INTERNET_BILL -
  • BANK_STATEMENT -
  • REGISTRATION_CERT -
  • RESIDENCE_PERMIT -
  • ID_CARD -
Enum
  • UTILITY_BILL
  • TELEPHONE_BILL
  • INTERNET_BILL
  • BANK_STATEMENT
  • REGISTRATION_CERT
  • RESIDENCE_PERMIT
  • ID_CARD

status

string

required

Final status of the PoR check.

  • IN_PROGRESS -
  • PASSED -
  • FAILED -
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

confirmed_address

object (confirmed_address)

required

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

User Check - Instrument fit

object (User Check - Instrument fit)

Instrument fit check is completed by the client providing the user's answers to the instrument appropriateness or suitability questionnaire.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be INSTRUMENT_FIT.

Default
"INSTRUMENT_FIT"

check_confirmed_at

string

date-time

required

Completion date and time of the instrument fit check.

status

string

required

Final status of the instrument fit check.

  • IN_PROGRESS - Instrument fit check is in progress
  • PASSED - Instrument fit check passed
  • FAILED - Instrument fit check failed
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

instrument_suitability

object (instrument_suitability)

required

suitability

boolean

required

Did the user go through a suitability assessment and the outcome indicated suitability.

User Check - Compliance

object (User Check - Compliance)

Compliance check

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be COMPLIANCE.

Default
"COMPLIANCE"

status

string

Final status of the COMPLIANCE check.

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

check_confirmed_at

string

date-time

required

Completion date and time of the COMPLIANCE check.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

type

string

required

URL to a document describing the error condition.

status

int

required

Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

title

string

A short, human-readable title for the general error type; the title should not change for given types.

detail

string

A human-readable description of the specific error.

instance

string

This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

request_id

string

Correlation ID for the original request.

upvest-request-id

string

uuid

Example
"169ae4c7-ebd7-4041-94da-25369653eba7"

User checks events

webhook

User checks events

id

string

uuid

required

Event unique identifier

created_at

string

date-time

required

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

type

string

required

Event type

Enum
  • USER_CHECK.CREATED
  • USER_CHECK.PASSED
  • USER_CHECK.FAILED

object

One Of

required

User Check - Know your customer

object (User Check - Know your customer)

The KYC (Know your customer) check is completed by the client sharing the valid and relevant KYC data for the user.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be “KYC”.

Default
"KYC"

check_confirmed_at

string

date-time

required

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

data_download_link

string

url

required

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

Max Length
1000

document_type

string

required

The type of document used in the KYC process.

  • PASSPORT - Passport
  • ID_CARD - National Identification document
  • RESIDENCE_PERMIT - Residence Permit
Enum
  • PASSPORT
  • ID_CARD
  • RESIDENCE_PERMIT

document_expiration_date

string

date

required

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

nationality

string

^[A-Z]{2}$

required

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

status

string

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

provider

string

required

Provider that was used to perform the KYC check.

Max Length
100

method

string

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_address

object (confirmed_address)

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

kyc_update

boolean

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

User Check - Proof of Residency

object (User Check - Proof of Residency)

The PoR (Proof of residency) check is completed by the client sharing a valid PoR document, if not fulfilled by the KYC check.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be POR.

Default
"POR"

check_confirmed_at

string

date-time

required

Completion date and time of the PoR check.

issuance_date

string

date

required

Issuance date in YYYY-MM-DD format.

data_download_link

string

url

required

Download URL for the PoR evidence file. The file size must not exceed 200 MB.

Max Length
1000

document_type

string

required

The type of document used in the PoR process. Maximum age of the document is 12 months (stated on the document) applicable for: Utility bills (water, gas, electricity), Telephone bills (only landline), Internet bills, Bank account statements. Documents that need to be still valid - Registration certificate (issued within the past 5 years), Residence permit e.g. Blue Card (as long as valid), ID Card that contains the registration address.

  • UTILITY_BILL -
  • TELEPHONE_BILL -
  • INTERNET_BILL -
  • BANK_STATEMENT -
  • REGISTRATION_CERT -
  • RESIDENCE_PERMIT -
  • ID_CARD -
Enum
  • UTILITY_BILL
  • TELEPHONE_BILL
  • INTERNET_BILL
  • BANK_STATEMENT
  • REGISTRATION_CERT
  • RESIDENCE_PERMIT
  • ID_CARD

status

string

required

Final status of the PoR check.

  • IN_PROGRESS -
  • PASSED -
  • FAILED -
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

confirmed_address

object (confirmed_address)

required

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

address_line1

string

required

First address line of the address.

Max Length
100

address_line2

string

Second address line of the address.

Max Length
100

postcode

string

^[a-zA-Z0-9\s\-]{1,10}$

required

Postal code (postcode, PIN or ZIP code)

country

string

^[A-Z]{2}$

required

Country code. ISO 3166 alpha-2 Codes.

state

string

State, province, county. ISO 3166 alpha-2 Codes.

Max Length
50

city

string

required

Min Length
1
Max Length
85

User Check - Instrument fit

object (User Check - Instrument fit)

Instrument fit check is completed by the client providing the user's answers to the instrument appropriateness or suitability questionnaire.

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be INSTRUMENT_FIT.

Default
"INSTRUMENT_FIT"

check_confirmed_at

string

date-time

required

Completion date and time of the instrument fit check.

status

string

required

Final status of the instrument fit check.

  • IN_PROGRESS - Instrument fit check is in progress
  • PASSED - Instrument fit check passed
  • FAILED - Instrument fit check failed
Enum
  • IN_PROGRESS
  • PASSED
  • FAILED

instrument_suitability

object (instrument_suitability)

required

suitability

boolean

required

Did the user go through a suitability assessment and the outcome indicated suitability.

User Check - Compliance

object (User Check - Compliance)

Compliance check

id

string

uuid

required

User Check unique identifier.

user_id

string

uuid

required

User unique identifier.

type

string

required

The type of check must be COMPLIANCE.

Default
"COMPLIANCE"

status

string

Final status of the COMPLIANCE check.

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

check_confirmed_at

string

date-time

required

Completion date and time of the COMPLIANCE check.

webhook_id

string

uuid

required

Webhook unique identifier.

Request

{
  "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 Schema

Request has been processed successfully.

Empty response

No schema

Was this page helpful?