CasePrimus.aiby Attestr
Documentation menu
POST/watchlist/cases

Add a case to the watchlist

Adds a case to the watchlist, either manually or by confirming a match from a case search (pass its result as snapshot).

Overview

Adds a case to the watchlist, either manually or by confirming a match from a case search (pass its result as snapshot). If the same case is already tracked, identified by its case identifier, the entity is linked to the existing record instead of creating a duplicate, and the response has linkedExisting true. On accounts where the CasePrimus team reviews new cases, a newly created case starts as PENDING_BACKOFFICE_REVIEW instead of ACTIVE until it is reviewed. Requires case.write.

Auth API keyPermission case.writeContent-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
caseIdentifier
object
Required
courtType
enum
Required
DCSCHCCCNCLTNCLATGSTATDRTDRATCESTAT
cnr
string
Optional

DC, SC, HC only.

registrationNumber
string
Optional

Format depends on courtType - see the description above.

filingNumber
string
Optional

NCLT/NCLAT/GSTAT only.

diaryNumber
string
Optional

SC, DRT, DRAT, CESTAT only.

establishmentCode
string
Optional

Bench/tribunal code - required for HC (when not using cnr) and every tribunal court type.

caseType
string
Optional

Required alongside registrationNumber for most court types. Valid values depend on courtType; list them with GET /case-lookup/case-types.

watchlistEntityId
string or null
Optional
snapshot
object (free-form) or null
Optional

One matched record from POST .../discover, or the whole result of POST /case-lookup - carried into the new case for context (court, parties, risk level, ...). Omit for a fully manual add.

sharedWith
array of object
Optional
type
enum
Required
teamuser
id
string
Required

A team ID when type is 'team', a user ID otherwise.

Body: Success
{
  "caseIdentifier": {
    "courtType": "DC",
    "cnr": "DLCT010012342020"
  },
  "watchlistEntityId": "CPWLE0exampledemo0001"
}

Example request

Replace CASEPRIMUS_API_KEY with your key.

Request
BASE="https://api.caseprimus.ai/api/caseprimus/v1"

curl -X POST "$BASE/watchlist/cases" \
  -H "X-CasePrimus-Api-Key: $CASEPRIMUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "caseIdentifier": {
      "courtType": "DC",
      "cnr": "DLCT010012342020"
    },
    "watchlistEntityId": "CPWLE0exampledemo0001"
  }'

Responses

200Case added (or linked to an existing tracked case).
FieldDescription
_id
string
status
enum
ACTIVEPENDING_BACKOFFICE_REVIEW
linkedExisting
boolean

true if this case was already tracked and this call just linked watchlistEntityId to it.

Response 200
{
  "_id": "CPWLC0exampledemo0001",
  "status": "ACTIVE",
  "linkedExisting": false
}
400Malformed input, or the referenced watchlistEntityId does not exist.
Response 400
{
  "httpStatusCode": 400,
  "code": 60400,
  "message": "Watchlist entity does not exist",
  "appError": true
}
403Caller lacks the case.write permission.

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