/watchlist/entities/searchSearch watchlist entities
Searches the watchlist entities you can see: those in your account and those shared with you.
Overview
Searches the watchlist entities you can see: those in your account and those shared with you. Archived entities are not returned. Use $filter for exact matches (for example status), $like for case-insensitive substring matches on a field such as name, $sort to order the results, and $skip with $limit (up to 100) to page through them. Requires watchlist.read.
X-CasePrimus-Api-Key header. See Authentication for how to create a key, and Rate limits & errors for how requests are counted.Request body
| Field | Description |
|---|---|
$filterobject (free-form) Optional | Exact-match field filters, e.g. {"status": "ACTIVE"}. |
$likeobject (free-form) Optional | Case-insensitive substring filters, e.g. {"name": "trip"}. |
$skipinteger Optional | minimum 0 |
$sortobject (free-form) Optional | Field to +1/-1 (ascending/descending), e.g. {"created": -1}. |
$limitinteger Optional | 0 to 100 |
{
"$filter": {},
"$skip": 0,
"$limit": 10
}Example request
Replace CASEPRIMUS_API_KEY with your key.
BASE="https://api.caseprimus.ai/api/caseprimus/v1" curl -X POST "$BASE/watchlist/entities/search" \ -H "X-CasePrimus-Api-Key: $CASEPRIMUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "$filter": {}, "$skip": 0, "$limit": 10 }'
const BASE = "https://api.caseprimus.ai/api/caseprimus/v1"; const res = await fetch(BASE + "/watchlist/entities/search", { method: "POST", headers: { "Content-Type": "application/json", "X-CasePrimus-Api-Key": process.env.CASEPRIMUS_API_KEY, }, body: JSON.stringify({ "$filter": {}, "$skip": 0, "$limit": 10 }), }); const data = await res.json();
import os import requests BASE = "https://api.caseprimus.ai/api/caseprimus/v1" res = requests.request( "POST", BASE + "/watchlist/entities/search", headers={"X-CasePrimus-Api-Key": os.environ["CASEPRIMUS_API_KEY"]}, json={ "$filter": {}, "$skip": 0, "$limit": 10, }, ) data = res.json()
Responses
| Field | Description |
|---|---|
recordsFilteredinteger | Total matching records, ignoring $skip/$limit. |
recordsarray of object | |
_idstring | |
numberinteger | |
accountIdstring | |
namestring | |
entityTypeenum | PERSONBUSINESS |
fatherNamestring or null | |
birthDatestring or null | |
locationstring or null | |
registrationNumberstring or null | |
monitoredCourtsarray of string | |
statusenum | ACTIVEPAUSEDARCHIVED |
nameVariationsarray of string | AI-generated alternate spellings/forms of the company name, used to widen court-record name matching. Empty for PERSON entities. |
lastCourtSyncAtinteger (int64) or null | When the daily/on-demand court-record search last ran for this entity. |
sharedWitharray of object | |
createdinteger (int64) | |
createdBystring | |
updatedinteger (int64) or null | |
updatedBystring or null |
{
"recordsFiltered": 1,
"records": [
{
"_id": "CPWLE0exampledemo0001",
"number": 100001,
"accountId": "CPA0exampledemo0001",
"name": "Acme Traders Pvt Ltd",
"entityType": "BUSINESS",
"fatherName": null,
"birthDate": null,
"location": "Mumbai, Maharashtra",
"registrationNumber": "U12345MH2015PTC100001",
"monitoredCourts": [
"ALL"
],
"status": "ACTIVE",
"nameVariations": [],
"lastCourtSyncAt": 1757500000000,
"sharedWith": [],
"created": 1757000000000,
"createdBy": "CPU0exampledemo0001",
"updated": null,
"updatedBy": null
}
]
}{
"recordsFiltered": 0,
"records": []
}Error responses share one shape, listed on Rate limits & errors.