# Get document

Get records of a created document object

Endpoint: GET /documents/{document_id}
Version: 1.0
Security: API-Key

## Security:

  - `API-Key` (unknown)
    apiKey in header API-Key

## Path parameters:

  - `document_id` (string, required)

## Response 200:

  - `200` (unknown)
    **OK**
The request was successful, and our system returned an expected response.

## Response 200 fields (application/json):

  - `document_id` (string)
    A unique identifier of a document, that is assigned by our system after a document object was created with a “Create a document” request
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `applicant_id` (string)
    A unique identifier of an applicant, that is assigned by our system after an applicant object was created with a “Create an applicant” request
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `type` (string)
    Example: CREDIT_CARD

  - `provider` (string)
    A person or a service, that created initiated document creation:
- `ADMIN`: A manager
- `IN_AADHAAR`: Indian Aahaar service
- `KZ_ADATA`: Kazakhstan Adata service
- `MANUAL`: API request or a form initialisation
- `RECOGNITION`: Recognition service
- `UA_BANK_ID`: Ukrainian BankID service
- `UA_DIIA`: Ukrainian Diia service
    Enum: "ADMIN", "IN_AADHAAR", "KZ_ADATA", "MANUAL", "RECOGNITION", "UA_BANK_ID", "UA_DIIA"

  - `status` (string | null)
    A status of document verification. This value is set automatically by our system, or manually in the Admin panel or the Dashboard after a review
- `new`: a newly created document, that was not reviewed
- `valid`: a reviewed and approved document
- `invalid`: a reviewed and declined document
    Enum: "new", "valid", "invalid"

  - `comment` (string | null)
    An additional comment added manually in the Admin panel or in the Dashboard regarding reasons of document verification decline (`invalid` status)
    Example: Low-quality photo of the document

  - `document_number` (string | null)
    A number of a document
    Example: TH703318A

  - `additional_number` (string | null)
    An additional number located on a document (e.g. tax ID number located on an ID card)
    Example: E2100007T-5

  - `issue_date` (string | null)
    An issue date of a document in `YYYY-MM-DD` format
    Example: 2020-11-04

  - `expiry_date` (string | null)
    The date of document expiration, formatted according to ISO 8601
    Example: 2028-11-04

  - `issuing_authority` (string | null)
    A name of a govenment entity that issues official documents
    Example: Social Security Administration

  - `income_sources` (array)
    Category of a person or an entity earnings
    Example: []

  - `annual_income` (string | null)
    An annual income group that categorizes persons or entities based on their total yearly income. There are four groups available:
- `ANNUAL_INCOME_GROUP_1`: less than 50,000 EUR
- `ANNUAL_INCOME_GROUP_2`: between 50,000 and 100,000 EUR
- `ANNUAL_INCOME_GROUP_3`: between 100,000 and 300,000 EUR
- `ANNUAL_INCOME_GROUP_4`: more than 300,000 EUR
    Enum: "ANNUAL_INCOME_GROUP_1", "ANNUAL_INCOME_GROUP_2", "ANNUAL_INCOME_GROUP_3", "ANNUAL_INCOME_GROUP_4", null

  - `transaction_amount` (number | null)
    The amount of a financial transaction
    Example: 1468.55

  - `transaction_currency` (string | null)
    An amount of a financial transaction. A three-letter currency code according to ISO 4217. Ticker symbols are also accepted (e.g. BTC, ETH, SOL)
    Example: EUR

  - `transaction_datetime` (string | null)
    A date and time of a financial transaction in `YYYY-MM-DD HH:mm:ss` format
    Example: 2024-11-16 14:22:54

  - `transaction_purpose` (string | null)
    A definition of an intended reason or objective for a financial transaction
    Example: Payment for additional services

  - `origin_funds` (string | null)
    A source of financial resources
    Example: Business revenues

  - `card_number` (string | null)
    A number of a credit card for payments
    Example: 5375411422962063

  - `account_number` (string | null)
    A bank account number (e.g. IBAN)
    Example: UA383220010000026200000000000

  - `portrait` (string | null)
    A URL of a person portrait photo, extracted from a document file by our system
    Example: https://storage.googleapis.com/kycaid/files/90ced843498a0340356bbcf51b9ac3f7fee0.jpg

  - `front_side_id` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `front_side` (string | null)
    A URL of an uploaded front side (first page) of a document file
    Example: https://storage.googleapis.com/kycaid/files/90ced843498a0340352bbcf51b9ac3f7fee0.jpg

  - `back_side_id` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `back_side` (string | null)
    A URL of an uploaded back side (second page) of a document
    Example: https://storage.googleapis.com/kycaid/files/90ced843498a0340352bbcf51b9ac3f7fee0.jpg

  - `other_side_1_id` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `other_side_1` (string | null)
    A URL of an uploaded third page of a document
    Example: https://storage.googleapis.com/kycaid/files/90ced843498a0340352bbcf51b9ac3f7fee0.jpg

  - `other_side_2_id` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `other_side_2` (string | null)
    A URL of an uploaded fourth page of a document
    Example: https://storage.googleapis.com/kycaid/files/90ced843498a0340352bbcf51b9ac3f7fee0.jpg

  - `other_side_3_id` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `other_side_3` (string | null)
    A unique identifier of a document file, that is assigned by our system after a file object was created with a “Create a file” request for a specific side (page) of a document
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

  - `created_at` (string)
    A date and time of creation of an object, set by our system
    Example: 2024-07-01 15:27:15

  - `decline_reasons_ids` (array | null)
    A list of IDs of reasons why a document was declined.
* `1`: `OTHER`
* `2`: `WRONG_NAME`
* `3`: `WRONG_DOB`
* `4`: `AGE_RESTRICTION`
* `5`: `EXPIRED_DOCUMENT`
* `7`: `BAD_QUALITY`
* `8`: `FAKE_DOCUMENT`
* `9`: `WRONG_INFO`
* `10`: `PROHIBITED_JURISDICTION`
* `11`: `NO_SELFIE`
* `12`: `DIFFERENT_FACES`
* `13`: `WRONG_DOCUMENT`
* `24`: `DUPLICATE`
* `25`: `DOCUMENT_DAMAGED`
* `26`: `DOCUMENT_INCOMPLETE`
* `27`: `FRAUDULENT`
* `28`: `TAX_ID_REQUIRED`
* `29`: `COMPROMISED_PERSON`
* `30`: `EDITED_DOCUMENT`
* `31`: `MULTIPLE_PERSON`
* `32`: `COMPULSION`
* `33`: `LIMIT_REACHED_OTP`
* `34`: `IP_MISMATCH`
* `35`: `ANONYMIZING_NETWORK`
* `36`: `QES_MISMATCH`
    Example: [29]

  - `decline_reasons` (array | null)
    The explanation of why a document was declined by our system or by a manager.
* `AGE_RESTRICTION`: A document of a person doesnt meet minimum requirements
* `ANONYMIZING_NETWORK`: Our system detected that a person uses an anonymous network
* `BAD_QUALITY`: A document image provided is of poor quality, making it unreadable
* `COMPROMISED_PERSON`: A person has been flagged as compromised in a blacklist database
* `COMPULSION`: A document capture may have been forced, indicating potential coercion or lack of consent
* `DIFFERENT_FACES`: Faces in a document and selfie do not match, indicating a discrepancy
* `DOCUMENT_DAMAGED`: A document is physically damaged and cannot be recognised
* `DOCUMENT_INCOMPLETE`: A document is missing required sections or pages for verification
* `DUPLICATE`: An applicant with a document already exists in our system, creating unallowed duplication
* `EDITED_DOCUMENT`: A document has been tampered with or edited, leading to concerns about authenticity
* `EXPIRED_DOCUMENT`: A document has passed its expiration date and is no longer valid
* `FAKE_DOCUMENT`: A document provided is fraudulent, contains signs of forgery, or does not correspond to an official format
* `FRAUDULENT`: A document shows clear signs of fraudulent activity or intent
* `IP_MISMATCH`: An issuing country of a document does not match person IP address
* `LIMIT_REACHED_OTP`: Wrong one-time passwords (OTP) were entered several times during document confirmation, reaching a limit of the number of attempts
* `MULTIPLE_PERSON`: A document includes more than one person, which is not permitted
* `NO_SELFIE`: A required selfie was not provided
* `OTHER`: Any issue or reason not covered by the predefined categories
* `PROHIBITED_JURISDICTION`: A document originates from a jurisdiction restricted or prohibited by a policy
* `QES_MISMATCH`: An information from Qualified Electronic Signature (QES) does not match a person profile
* `TAX_ID_REQUIRED`: A valid tax identification number is mandatory but was not provided
* `WRONG_DOB`: A date of birth provided does not match the one on a document
* `WRONG_DOCUMENT`: A submitted document type is not supported for a document owner type
* `WRONG_INFO`: An information provided does not match details in a document
* `WRONG_NAME`: Names provided do not align with the ones on a document
    Example: []

  - `affiliated_person_id` (string)
    A unique identifier of an affiliated person object, that is assigned by our system after an affiliated person object was created with a “Create an affiliated person” request
    Example: 27c5caea93ee4656881ef9a30fadd21a3768

## Response 400:

  - `400` (unknown)
    **Bad Request**
Our system could not process the request due to invalid syntax, missing parameters, or incorrect data format. Check the request structure and try again.

## Response 400 fields (application/json):

  - `type` (string)
    Example: bad_request

  - `errors` (array)

## Response 402:

  - `402` (unknown)
    **Payment Required**
Access to the requested resource is restricted until a payment is successfully processed. Ensure your account has a valid payment method or sufficient funds to complete this action.

## Response 402 fields (application/json):

  - `type` (string)
    Example: insufficient_funds

  - `errors` (array)

## Response 404:

  - `404` (unknown)
    **Not Found**
The requested resource does not exist or can’t be found in our system.

## Response 404 fields (application/json):

  - `type` (string)
    Example: not_found

  - `errors` (array)

  - `errors.parameter` (string)
    Example: document_id

  - `errors.message` (string)
    Example: Document was not found

## Response 422:

  - `422` (unknown)
    **Unprocessable Content**
Our system understands the request but can’t process it due to invalid fields in the request body.

## Response 422 fields (application/json):

  - `type` (string)
    Example: validation

  - `errors` (array)

  - `errors.parameter` (string)
    Example: document_id

  - `errors.message` (string)
    Example: Document ID is not valid.

## Response 429:

  - `429` (unknown)
    **Too Many Requests**
This response indicates that a user has sent too many requests in a given amount of time.

## Response 429 fields (application/json):

  - `type` (string)
    Example: flow

  - `errors` (array)

  - `errors.parameter` (string)
    Example: limit_exceeded

  - `errors.message` (string)
    Example: Rate limit exceeded

## Response 500:

  - `500` (unknown)
    **Internal Server Error**
This response indicates that our system encountered an unexpected condition that prevented it from fulfilling the request.

## Response 500 fields (application/json):

  - `type` (string)
    Example: internal_server

  - `errors` (array)

## Response 502:

  - `502` (unknown)
    **Bad Gateway**
This response indicates that our system is unable to reach or communicate properly with an upstream server it relies on, the URL provided is incorrect, or a required token is missing from the request.

