---
title: "Update manual review"
url: "https://developer.incode.com/api-reference/updatemanualreview/"
section: "api-reference"
group: "Interview"
version: "v1.1"
status: "live"
endpoint: "PUT /omni/manual-review"
---
# Update manual review

`PUT /omni/manual-review`

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

Can be used to set an interview as 'needs manual review', 'approved by manual review' or 'rejected by manual review'.
In case manualReviewStatus field in request is set to APPROVED or REJECTED, notification to client side is sent
for onboarding status change - see [notify-status-changed] for more details

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `interviewId` | query | string |  | Id of onboarding for which data will be updated. If not present, it will be extracted from token. |
| `api-version` | header | string | yes |  |

## Request body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `manualReviewStatus` | string | yes | Enum: `REQUIRED`, `APPROVED`, `REJECTED` |
| `newReason` | string |  | Intended to be use when setting manualReviewStatus as required, it will be added to the list of reasons why a session was flagged as needs manual review. |
| `comment` | string |  | Required comment in written form. |

## 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` |

### 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 PUT https://demo-api.incodesmile.com/omni/manual-review \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "api-version: 1.0" \
  -H "Content-Type: application/json" \
  -d '{
    "manualReviewStatus": "",
    "newReason": "",
    "comment": ""
  }'
```

### Node

```js
const res = await fetch("https://demo-api.incodesmile.com/omni/manual-review", {
  method: "PUT",
  headers: {
      "x-api-key": "<YOUR_API_KEY>",
      "api-version": "1.0",
      "Content-Type": "application/json",
  },
    body: JSON.stringify({
      "manualReviewStatus": "",
      "newReason": "",
      "comment": ""
    }),
});
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.put("https://demo-api.incodesmile.com/omni/manual-review", headers=headers, json={
  "manualReviewStatus": "",
  "newReason": "",
  "comment": ""
})
data = res.json()
```

### Java

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

### Example response

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