---
title: "Add custom watchlist entry"
url: "https://developer.incode.com/api-reference/add-watchlist-single-record/"
section: "api-reference"
group: "Custom watchlist"
version: "v1.1"
status: "live"
endpoint: "POST /omni/add/watchlist/single-record"
---
# Add custom watchlist entry

`POST /omni/add/watchlist/single-record`

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

Works with <Glossary>Admin Token</Glossary>.

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `api-version` | header | string | yes |  |

## Request body

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `name` | string |  | Name of person that is being uploaded to Watchlist |
| `birthDate` | string |  | Birthdate (timestamp) of person that is being uploaded to Watchlist |
| `idNumber` | string |  | Id number of person that is being uploaded to Watchlist |
| `email` | string |  | Email of person that is being uploaded to Watchlist |
| `phone` | string |  | Phone of person that is being uploaded to Watchlist |
| `personalIdNumber` | string |  | Personal Id Number of person that is being uploaded to Watchlist |
| `externalId` | string |  | External id of person that is being uploaded to Watchlist |
| `imageBase64` | string |  | Base64 representation of face image of person that is being uploaded to Watchlist |
| `frontIdBase64` | string |  | Base64 representation of front side of document image that is being processed to gather OCR data and uploaded to Watchlist |
| `backIdBase64` | string |  | Base64 representation of back side of document image that is being processed to gather OCR data and uploaded to Watchlist |
| `watchlistType` | string |  | Defines type of Watchlist to use Enum: `WHITELIST`, `BLACKLIST` |
| `recordExpiresAt` | string |  | Date (timestamp) until the watchlist entry is active. When searched after this date, score of watchlist match will be 0. |

## 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` |
| `customerId` | string |  |  |
| `watchlistId` | string |  |  |

### 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/add/watchlist/single-record \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "api-version: 1.0" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "",
    "birthDate": "",
    "idNumber": "",
    "email": "",
    "phone": "",
    "personalIdNumber": "",
    "externalId": "",
    "imageBase64": "",
    "frontIdBase64": "",
    "backIdBase64": "",
    "watchlistType": "",
    "recordExpiresAt": ""
  }'
```

### Node

```js
const res = await fetch("https://demo-api.incodesmile.com/omni/add/watchlist/single-record", {
  method: "POST",
  headers: {
      "x-api-key": "<YOUR_API_KEY>",
      "api-version": "1.0",
      "Content-Type": "application/json",
  },
    body: JSON.stringify({
      "name": "",
      "birthDate": "",
      "idNumber": "",
      "email": "",
      "phone": "",
      "personalIdNumber": "",
      "externalId": "",
      "imageBase64": "",
      "frontIdBase64": "",
      "backIdBase64": "",
      "watchlistType": "",
      "recordExpiresAt": ""
    }),
});
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/add/watchlist/single-record", headers=headers, json={
  "name": "",
  "birthDate": "",
  "idNumber": "",
  "email": "",
  "phone": "",
  "personalIdNumber": "",
  "externalId": "",
  "imageBase64": "",
  "frontIdBase64": "",
  "backIdBase64": "",
  "watchlistType": "",
  "recordExpiresAt": ""
})
data = res.json()
```

### Java

```java
HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://demo-api.incodesmile.com/omni/add/watchlist/single-record"))
    .header("x-api-key", "<YOUR_API_KEY>")
    .header("api-version", "1.0")
    .header("Content-Type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"name\": \"\",\n  \"birthDate\": \"\",\n  \"idNumber\": \"\",\n  \"email\": \"\",\n  \"phone\": \"\",\n  \"personalIdNumber\": \"\",\n  \"externalId\": \"\",\n  \"imageBase64\": \"\",\n  \"frontIdBase64\": \"\",\n  \"backIdBase64\": \"\",\n  \"watchlistType\": \"\",\n  \"recordExpiresAt\": \"\"\n}"))
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
```

### Example response

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