Update an existing Theft Case

Updates an existing theft case from the supplied body. Returns the { detail, fieldSpecs } envelope. The id query parameter is authoritative. If the body also carries an id, the two values must match, or the API returns 400 BAD_REQUEST.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Query Params
string
required

Salesforce Investigation record Id of the case to update

Body Params

The theft case body.

string | null

Salesforce Investigation record Id

string | null

Investigation type picklist value (e.g. External Theft, Internal Theft). Immutable after create.

date | null

Date of the incident (YYYY-MM-DD)

string | null

Time of the incident as string (HH:MM)

string | null

Salesforce Id of the primary location record

string | null

Case status picklist value (Open, Closed, Pending Assignment, Pending Approval)

string | null

Incident type picklist value

string | null

Primary theft method picklist value

string | null

Secondary theft method picklist value

string | null

Free-text narrative description of the incident. Required when status is Closed.

number | null

Initial estimated value of the case. Immutable after create.

string | null

ISO 4217 currency code that all monetary fields are denominated in (multi-currency orgs)

string | null

External UUID for cross-system reference. Immutable after create: an update that repoints it at a different value is rejected with 400 IMMUTABLE_FIELD. A value already held by another case is rejected with 409 DUPLICATE_UUID.

string | null

Salesforce User Id of the assigned investigator

number | null

Promissory note amount

string | null

Damages picklist value

string | null

Free-text description of damages

string | null

Actions taken during the incident

string | null

Preventative actions recommended

string | null

Yes/No picklist indicating if police were notified

date-time | null

Datetime when police were notified (ISO 8601)

date-time | null

Datetime when police arrived (ISO 8601)

string | null

Name of the police department

string | null

Name of the responding police officer

string | null

Badge number of the responding police officer

string | null

Police report number

string | null

Police disposition picklist value

string | null

Location where items were concealed

string | null

Method used to conceal items

date | null

Date the incident was reported

string | null

Time the incident was reported (HH:mm:ss)

date-time | null

Date/time the case was closed (read-only)

involvedPersons
array of objects | null

People associated with this case (suspects, witnesses, employees, law enforcement, and so on). Ordered by Salesforce Id ascending as an insertion-order proxy. Round-trips on GET, PUT, and POST. The insert, update, and delete-orphan cascade applies on PUT.

Body-shape semantics:

  • An omitted field preserves the existing children (no-op).
  • An empty array deletes all children.
  • An explicit null is treated as omitted (no-op).
  • An unknown id in the payload (a stale client cache) is rejected as BAD_REQUEST.

POST entries must omit id. Concurrency is last-write-wins. PATCH for surgical updates is deferred.

involvedPersons
involvedVehicles
array of objects | null

Vehicles associated with this case.

Body-shape semantics:

  • An omitted field preserves the existing junctions (no-op).
  • An empty array deletes all junctions.
  • An explicit null is treated as omitted (no-op).

The POST-only plate-attach sub-route /theft-cases/{caseId}/involved-vehicles is the path for dedup. The cascade PUT path requires vehicleId on every entry. vehicleId is immutable after create, and a change is rejected with 400 IMMUTABLE_FIELD.

involvedVehicles
caseItems
array of objects | null

Items associated with this case.

Body-shape semantics:

  • An omitted field preserves the existing junctions (no-op).
  • An empty array deletes all junctions.
  • An explicit null is treated as omitted (no-op).

A non-empty array replaces the set. A caseItems entry that carries itemId and no junction id inserts a new link. itemId is immutable after create, and a change is rejected with 400 IMMUTABLE_FIELD. The POST-only SKU-attach sub-route /theft-cases/{caseId}/case-items is the path for dedup.

caseItems
Responses

Language
Credentials
OAuth2
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json