NewCsCaseInput
input type
Create-input for a CsCase. The tenant is derived SERVER-SIDE; ⚠ the caption IS the case's subject line and is REQUIRED at the boundary (the CPG divergence — an unnamed case is meaningless; omission refuses VALIDATION/INVALID). Refs validate in-tenant + non-doomed; linkedFromCaseId validates CLOSED-only (ruling); assignedTo validates in-tenant + ACTIVE. The optional initialMessage appends in the SAME transaction. The consumer lane is openMyCase — NOT this shape.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — NONE — the CPG divergence: the caption IS the subject line, and an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank. |
caseType | String String! | yes | return_request | refund_inquiry | product_issue | complaint | general_inquiry | warranty_claim | shipping_issue | order_change | other — the canned registry validates. |
priority | String | no | Defaults 'normal' when omitted. |
consumerId | ID | no | The registered Consumer this case is FOR (omit = a guest case). ⚠ IMMUTABLE at birth (ruling) — a consumer-ref’d case mints its write-once CASEBOOK index row in the create transaction. |
organizationId | ID | no | No further notes. |
orderId | ID | no | No further notes. |
appointmentId | ID | no | No further notes. |
returnId | ID | no | No further notes. |
fulfillmentId | ID | no | No further notes. |
paymentId | ID | no | No further notes. |
linkedFromCaseId | ID | no | The CLOSED case this one reopens (ruling — a non-closed target refuses CONFLICT/REF_STATE). IMMUTABLE. |
assignedTo | ID | no | In-tenant + ACTIVE User at set. |
slaDueAt | String | no | ISO-8601 instant — manual. |
initialMessage | CsCaseInitialMessageInput | no | Optional opening message — appends in the SAME transaction (the consumer lane REQUIRES its body instead — ruling). |