> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.idenfy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Dummy Results

> Test identity verification outcomes with predefined dummy data and auto-results in the iDenfy development environment sandbox testing.

<Note>
  **Requirements:**

  * API key pair
  * **DEV** environment
  * Finances added to your environment
</Note>

<Warning>
  Dummy results only work in the **DEV** environment. Calling either endpoint from any other environment returns an error:

  | Environment | Error message                                                       |
  | ----------- | ------------------------------------------------------------------- |
  | DEMO        | `"This endpoint is not available for DEMO partners."`               |
  | TEST / PROD | `"This endpoint is not available for TESTING/PRODUCTION partners."` |

  **Why is DEMO excluded?** The DEMO environment is intended for showing the real verification flow to prospective clients. Dummy shortcuts would let partners simulate completed verifications without going through the actual process, which could give clients a misleading picture of what the product does. The restriction is intentional.
</Warning>

***

## Dummy Auto Results

```
POST https://ivs.idenfy.com/api/v2/token
Authorization: Basic {API_KEY}:{API_SECRET}
Content-Type: application/json
```

You can create a session with a dummy auto status for verification in the development environment.

The request must contain the same parameters as [session creation](/kyc/generate-token) plus `dummyStatus`, which defines the dummy session's auto result.

| JSON key      | Type     | Description                                                                                                                                                 |
| ------------- | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `dummyStatus` | `String` | Auto status of the verification. Possible values: `APPROVED`, `DENIED`, `SUSPECTED`, `EXPIRED`. See [status vocabulary](/resources/vocabulary) for details. |

### Request Example

```json theme={"system"}
{
  "dummyStatus": "APPROVED",
  "clientId": "100000",
  "firstName": "John Tom",
  "lastName": "Smith",
  "successUrl": "https://www.my-company.com/idenfy/success",
  "errorUrl": "https://www.my-company.com/idenfy/fail",
  "locale": "en",
  "showInstructions": true,
  "expiryTime": 600,
  "sessionLength": 600,
  "country": "lt",
  "documents": ["PASSPORT", "ID_CARD"],
  "dateOfBirth": "1990-12-20",
  "dateOfExpiry": "1990-12-20",
  "dateOfIssue": "1990-12-20",
  "nationality": "lt",
  "personalNumber": "123456789",
  "documentNumber": "123456",
  "sex": "M",
  "address": "Address",
  "tokenType": "IDENTIFICATION",
  "externalRef": "reference"
}
```

### Response Example

A successful API call returns a JSON response with a `scanRef` that can be used to add a dummy manual status.

```json theme={"system"}
{
  "message": "Dummy token and verification created successfully",
  "authToken": "pgYQX0z2T8mtcpNj9I20uWVCLKNuG0vgr12f0wAC",
  "scanRef": "ec6a7108-8c26-11e9-9758-309c231b1bac",
  "clientId": "100000",
  "firstName": "JOHN TOM",
  "lastName": "SMITH",
  "successUrl": "https://www.my-company.com/idenfy/success",
  "errorUrl": "https://www.my-company.com/idenfy/fail",
  "locale": "en",
  "showInstructions": true,
  "country": "lt",
  "expiryTime": 600,
  "sessionLength": 600,
  "documents": ["PASSPORT"],
  "dateOfBirth": "1990-12-20",
  "dateOfExpiry": "1990-12-20",
  "dateOfIssue": "1990-12-20",
  "nationality": "lt",
  "personalNumber": "123456789",
  "documentNumber": "123456",
  "sex": "M",
  "digitString": "4823657",
  "address": "Address",
  "tokenType": "IDENTIFICATION",
  "externalRef": "reference"
}
```

***

## Dummy Manual Result

```
POST https://ivs.idenfy.com/api/v2/add-dummy-status
Authorization: Basic {API_KEY}:{API_SECRET}
Content-Type: application/json
```

You can add a dummy manual status for a verification in the development environment and receive the same webhook as after a real manual review.

<Info>
  * The client's verification must already be created. If not, generate a new token with `dummyStatus` first.
  * For an approved verification, you need to provide both `FACE_MATCH` and `DOC_VALIDATED` statuses.
</Info>

### Request Parameters

| Key                      | Type     | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------------------ | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `scanRef`                | `String` | A unique string identifying a client verification.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `manualFaceMatchResult`  | `String` | Dummy manual face status. Possible values: `FACE_MATCH`, `FACE_MISMATCH`, `NO_FACE_FOUND`, `TOO_MANY_FACES`, `FACE_TOO_BLURRY`, `FACE_UNCERTAIN`, `FACE_NOT_ANALYSED`, `FACE_NOT_CHECKED`, `FACE_ERROR`, `AUTO_UNVERIFIABLE`, `FAKE_FACE`. See [status vocabulary](/resources/vocabulary) for details.                                                                                                                                                                                                                                                                                                                                                                               |
| `manualDocumentValidity` | `String` | Dummy manual document status. Possible values: `DOC_VALIDATED`, `DOC_INFO_MISMATCH`, `DOC_NOT_FOUND`, `DOC_NOT_FULLY_VISIBLE`, `DOC_NOT_SUPPORTED`, `DOC_FACE_NOT_FOUND`, `DOC_TOO_BLURRY`, `DOC_FACE_GLARED`, `MRZ_NOT_FOUND`, `MRZ_OCR_READING_ERROR`, `BARCODE_NOT_FOUND`, `DOC_EXPIRED`, `COUNTRY_MISMATCH`, `DOC_TYPE_MISMATCH`, `DOC_DAMAGED`, `DOC_FAKE`, `DOC_ERROR`, `AUTO_UNVERIFIABLE`, `DOC_NOT_ANALYSED`, `DOC_NAME_ERROR`, `DOC_SURNAME_ERROR`, `DOC_EXPIRY_ERROR`, `DOC_DOB_ERROR`, `DOC_PERSONAL_NUMBER_ERROR`, `DOC_NUMBER_ERROR`, `DOC_DATE_OF_ISSUE_ERROR`, `DOC_SEX_ERROR`, `DOC_NATIONALITY_ERROR`. See [status vocabulary](/resources/vocabulary) for details. |

### Request Example

```json theme={"system"}
{
  "scanRef": "unique_scan_ref",
  "manualDocumentValidity": "DOC_ERROR",
  "manualFaceMatchResult": "FACE_MATCH"
}
```

A successful API call returns a response with a **200** status code.
