Skip to content

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-key

Subject Object ​

FieldTypeDescription
idIntegerUnique subject identifier
firstNameStringFirst name
middleNameString | nullMiddle name
lastNameStringLast name
birthYearInteger | nullYear of birth
birthMonthInteger | nullMonth of birth (1–12)
birthDayInteger | nullDay of birth (1–31)
aliasArrayAlternate names. Each alias has firstName, lastName, middleName, suffix
createDateDateTimeWhen the subject was added to the monitor

List Subjects ​

GET /batch/:id/subject

Returns a paginated list of all subjects in a monitor.

Path Parameters ​

ParameterTypeDescription
idIntegerMonitor ID

Query Parameters ​

ParameterTypeDefaultDescription
pageInteger1Page number
pageSizeInteger25Records per page
searchString—Filter by name
orderByStringfirstNameSort field: firstName, lastName, birthDay, birthMonth, birthYear, createDate
orderDirectionStringascSort 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 ​

CodeDescription
200Subjects returned successfully
400Missing batch ID
500Server error

Add a Subject ​

POST /batch/:id/subject

Adds a new subject to the monitor.

Path Parameters ​

ParameterTypeDescription
idIntegerMonitor ID

Request Body ​

FieldTypeRequiredDescription
name.firstNameStringYesFirst name
name.lastNameStringYesLast name
name.middleNameStringNoMiddle name
name.suffixStringNoName suffix (e.g., Jr, III)
birthDate.yearIntegerNoBirth year
birthDate.monthIntegerNoBirth month (1–12)
birthDate.dayIntegerNoBirth day (1–31)
aliasArrayNoAlternate 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 ​

CodeDescription
200Subject added successfully
400Missing batch ID
404Monitor not found

Get a Subject ​

GET /batch/:id/:subjectId

Returns details for a specific subject within a monitor.

Path Parameters ​

ParameterTypeDescription
idIntegerMonitor ID
subjectIdIntegerSubject ID

Response ​

json
{
  "success": true,
  "data": {
    "id": 501,
    "firstName": "Jane",
    "middleName": null,
    "lastName": "Doe",
    "birthYear": 1990,
    "birthMonth": 8,
    "birthDay": 22,
    "alias": []
  }
}

Response Codes ​

CodeDescription
200Subject returned
400Missing batch ID or subject ID
403Permission denied
404Subject not found

Update a Subject ​

POST /batch/:id/:subjectId
PUT  /batch/:id/:subjectId

Both 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 ​

CodeDescription
200Subject updated
400Missing batch ID
404Monitor or subject not found

Disable a Subject ​

DELETE /batch/:id/:subjectId

Disables a subject within the monitor. Disabled subjects will no longer be searched on future runs.

Path Parameters ​

ParameterTypeDescription
idIntegerMonitor ID
subjectIdIntegerSubject ID

Response ​

json
{
  "success": true,
  "message": "Subject was disabled successfully."
}

Response Codes ​

CodeDescription
200Subject disabled
400Missing batch ID or subject ID
404Subject not found for this batch