Create a new theft case

Creates a new TheftCase from the supplied TheftDto. POST is create-only — the body MUST NOT include an id field; including one returns 400 BAD_REQUEST. Scaffold defaults (status=Open, incidentDate=today) apply when DTO fields are null; callers must supply investigationType. POST is NOT idempotent in v1 — a retry that sends the same uuid as a previously-persisted case returns 409 DUPLICATE_UUID.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
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