Save (update) an existing theft case

Updates an existing TheftCase from the supplied TheftDto and returns the TheftEnvelope (detail + fieldSpecs). The query-param id is authoritative; if the body also carries an id, the two MUST match or 400 BAD_REQUEST is returned.

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

Data transfer object for a TheftCase aggregate

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)

number | null

Total calculated value of all stolen items (read-only rollup)

number | null

Total number of items involved in the case (read-only rollup)

number | null

Total value recovered (read-only rollup)

string | null

External UUID for cross-system reference. Immutable after create.

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)

string | null

Auto-generated incident number (read-only)

involvedPersons
array of objects | null

People associated with this case (suspects, witnesses, employees, law enforcement, etc.). Ordered by Salesforce Id ascending as an insertion-order proxy. Round-trips on GET / PUT / POST; insert / update / delete-orphan cascade applies on PUT. Body-shape semantics: field omitted preserves existing children (no-op); empty array deletes all children; explicit null is rejected as BAD_REQUEST; unknown id in payload (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: field omitted preserves existing junctions (no-op); empty array deletes all junctions; explicit null is rejected as BAD_REQUEST. The POST-only plate-attach sub-route /theft-cases/{caseId}/involved-vehicles is the path for dedup; cascade PUT path requires vehicleId on every entry; vehicleId is immutable post-create (rejected with 400 IMMUTABLE_FIELD).

involvedVehicles
caseItems
array of objects | null

Items associated with this case. Body-shape semantics: field omitted preserves existing junctions (no-op); empty array deletes all junctions; explicit null is treated as omitted (no-op). A non-empty array replaces the set; a caseItems entry carrying itemId and no junction id inserts a new link; itemId is immutable post-create (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