Appearance
Batches API — Subjects
Subjects are the individuals being monitored within a monitor (batch). Each subject is searched against criminal databases each time the monitor runs.
Authentication
All requests require an API key passed as a header:
X-API-Key: your-api-keySubject Object
| Field | Type | Description |
|---|---|---|
id | Integer | Unique subject identifier |
firstName | String | First name |
middleName | String | null | Middle name |
lastName | String | Last name |
birthYear | Integer | null | Year of birth |
birthMonth | Integer | null | Month of birth (1–12) |
birthDay | Integer | null | Day of birth (1–31) |
alias | Array | Alternate names. Each alias has firstName, lastName, middleName, suffix |
createDate | DateTime | When the subject was added to the monitor |
List Subjects
GET /batch/:id/subjectReturns a paginated list of all subjects in a monitor.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | Integer | Monitor ID |
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
page | Integer | 1 | Page number |
pageSize | Integer | 25 | Records per page |
search | String | — | Filter by name |
orderBy | String | firstName | Sort field: firstName, lastName, birthDay, birthMonth, birthYear, createDate |
orderDirection | String | asc | Sort direction: asc or desc |
Response
json
{
"success": true,
"paging": {
"size": 1,
"num": 1,
"hasMore": false
},
"data": [
{
"id": 501,
"firstName": "Jane",
"middleName": null,
"lastName": "Doe",
"birthYear": 1990,
"birthMonth": 8,
"birthDay": 22,
"createDate": "2026-03-01T09:00:00Z"
}
]
}Response Codes
| Code | Description |
|---|---|
200 | Subjects returned successfully |
400 | Missing batch ID |
500 | Server error |
Add a Subject
POST /batch/:id/subjectAdds a new subject to the monitor.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | Integer | Monitor ID |
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
name.firstName | String | Yes | First name |
name.lastName | String | Yes | Last name |
name.middleName | String | No | Middle name |
name.suffix | String | No | Name suffix (e.g., Jr, III) |
birthDate.year | Integer | No | Birth year |
birthDate.month | Integer | No | Birth month (1–12) |
birthDate.day | Integer | No | Birth day (1–31) |
alias | Array | No | Alternate names. Each entry has the same structure as name |
bash
curl -X POST "https://api.infocusinfo.com/batch/101/subject" \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"name": {
"firstName": "Jane",
"lastName": "Doe"
},
"birthDate": {
"year": 1990,
"month": 8,
"day": 22
}
}'http
POST https://api.infocusinfo.com/batch/101/subject
Content-Type: application/json
X-API-Key: your-api-key
{
"name": {
"firstName": "Jane",
"lastName": "Doe"
},
"birthDate": {
"year": 1990,
"month": 8,
"day": 22
}
}Response
json
{
"success": true,
"data": {
"id": 501,
"firstName": "Jane",
"middleName": null,
"lastName": "Doe",
"birthYear": 1990,
"birthMonth": 8,
"birthDay": 22,
"alias": []
}
}Response Codes
| Code | Description |
|---|---|
200 | Subject added successfully |
400 | Missing batch ID |
404 | Monitor not found |
Get a Subject
GET /batch/:id/:subjectIdReturns details for a specific subject within a monitor.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | Integer | Monitor ID |
subjectId | Integer | Subject ID |
Response
json
{
"success": true,
"data": {
"id": 501,
"firstName": "Jane",
"middleName": null,
"lastName": "Doe",
"birthYear": 1990,
"birthMonth": 8,
"birthDay": 22,
"alias": []
}
}Response Codes
| Code | Description |
|---|---|
200 | Subject returned |
400 | Missing batch ID or subject ID |
403 | Permission denied |
404 | Subject not found |
Update a Subject
POST /batch/:id/:subjectId
PUT /batch/:id/:subjectIdBoth POST and PUT update an existing subject. The request body is the same as Add a Subject.
bash
curl -X PUT "https://api.infocusinfo.com/batch/101/501" \
-H "Content-Type: application/json" \
-H "X-API-Key: your-api-key" \
-d '{
"name": {
"firstName": "Jane",
"middleName": "M",
"lastName": "Doe"
},
"birthDate": {
"year": 1990,
"month": 8,
"day": 22
},
"alias": [
{
"firstName": "Jenny",
"lastName": "Doe"
}
]
}'http
PUT https://api.infocusinfo.com/batch/101/501
Content-Type: application/json
X-API-Key: your-api-key
{
"name": {
"firstName": "Jane",
"middleName": "M",
"lastName": "Doe"
},
"birthDate": {
"year": 1990,
"month": 8,
"day": 22
},
"alias": [
{
"firstName": "Jenny",
"lastName": "Doe"
}
]
}Response Codes
| Code | Description |
|---|---|
200 | Subject updated |
400 | Missing batch ID |
404 | Monitor or subject not found |
Disable a Subject
DELETE /batch/:id/:subjectIdDisables a subject within the monitor. Disabled subjects will no longer be searched on future runs.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
id | Integer | Monitor ID |
subjectId | Integer | Subject ID |
Response
json
{
"success": true,
"message": "Subject was disabled successfully."
}Response Codes
| Code | Description |
|---|---|
200 | Subject disabled |
400 | Missing batch ID or subject ID |
404 | Subject not found for this batch |