CasePrimus.aiby Attestr
Documentation menu
POST/watchlist/entities/search

Search 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.

Auth API keyPermission watchlist.readContent-Type application/json
Send your API key in the X-CasePrimus-Api-Key header. See Authentication for how to create a key, and Rate limits & errors for how requests are counted.

Request body

FieldDescription
$filter
object (free-form)
Optional

Exact-match field filters, e.g. {"status": "ACTIVE"}.

$like
object (free-form)
Optional

Case-insensitive substring filters, e.g. {"name": "trip"}.

$skip
integer
Optional

minimum 0

$sort
object (free-form)
Optional

Field to +1/-1 (ascending/descending), e.g. {"created": -1}.

$limit
integer
Optional

0 to 100

Body: Success
{
  "$filter": {},
  "$skip": 0,
  "$limit": 10
}

Example request

Replace CASEPRIMUS_API_KEY with your key.

Request
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
  }'

Responses

200Matching entities.
FieldDescription
recordsFiltered
integer

Total matching records, ignoring $skip/$limit.

records
array of object
_id
string
number
integer
accountId
string
name
string
entityType
enum
PERSONBUSINESS
fatherName
string or null
birthDate
string or null
location
string or null
registrationNumber
string or null
monitoredCourts
array of string
status
enum
ACTIVEPAUSEDARCHIVED
nameVariations
array of string

AI-generated alternate spellings/forms of the company name, used to widen court-record name matching. Empty for PERSON entities.

lastCourtSyncAt
integer (int64) or null

When the daily/on-demand court-record search last ran for this entity.

sharedWith
array of object
created
integer (int64)
createdBy
string
updated
integer (int64) or null
updatedBy
string or null
Response 200
{
  "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
    }
  ]
}
403Caller lacks the watchlist.read permission.

Error responses share one shape, listed on Rate limits & errors.