---
title: "Process Second Id"
url: "https://developer.incode.com/api-reference/process-second-id/"
section: "api-reference"
group: "Id capture"
version: "v1.1"
status: "live"
endpoint: "POST /omni/process/second-id"
---
# Process Second Id

`POST /omni/process/second-id`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

**Note**: This endpoint should be called only after the upload of [front-side-secondId](#/Onboarding/addFrontSecondIdV2) and
[back-side-secondId](#/Onboarding/addBackSecondIdV2) is over. And in case of passports or only front sided documents, only
[front-side-secondId](#/Onboarding/addFrontSecondIdV2) should be over.

Incode validations and ocr parsing are processed during this endpoint. To fetch ocr data call
[Fetch-SecondId_OCR](#/Onboarding/getOcrDataSecondId). Parameter queueName is needed so it can be determined in which queue
interview should go. Once this is called, user is no longer able to upload ID (front or back side).

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `queueName` | query | string |  | Enum: `aristotle`, `buddha`, `confucius`, `diogenes` |
| `api-version` | header | string | yes |  |

## Responses

### 200

OK

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `success` | boolean |  | Flag indicating request passed successfully. |
| `sessionStatus` | string |  | Session status Enum: `Alive`, `Closed`, `Deleted` |
| `isDocumentExpired` | boolean |  | Flag indicating if the document is expired. |

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |

## Code samples

Generated from this endpoint's method, path, and the conventional Incode headers. The base URL is the Incode demo environment; replace `<YOUR_API_KEY>` with a key for your region.

### cURL

```bash
curl -X POST https://demo-api.incodesmile.com/omni/process/second-id \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "api-version: 1.0" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### Node

```js
const res = await fetch("https://demo-api.incodesmile.com/omni/process/second-id", {
  method: "POST",
  headers: {
      "x-api-key": "<YOUR_API_KEY>",
      "api-version": "1.0",
      "Content-Type": "application/json",
  },
    body: JSON.stringify({}),
});
const data = await res.json();
```

### Python

```python
import requests

headers = {
    "x-api-key": "<YOUR_API_KEY>",
    "api-version": "1.0",
    "Content-Type": "application/json",
}
res = requests.post("https://demo-api.incodesmile.com/omni/process/second-id", headers=headers, json={})
data = res.json()
```

### Java

```java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://demo-api.incodesmile.com/omni/process/second-id"))
    .header("x-api-key", "<YOUR_API_KEY>")
    .header("api-version", "1.0")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{}"))
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
```

### Example response

```json
{
  "success": true,
  "status": "OK"
}
```
