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