solarOS Organization API

Organization API

Update editable Case metadata

Updates editable Case metadata, status, Project link, and first-response marker. customerId, propertyId, systemId, ownerId, and the removed assignedToId field are not writable on PATCH.

/api/v1/cases/{id}

Updates editable Case metadata, status, Project link, and first-response marker. customerId, propertyId, systemId, ownerId, and the removed assignedToId field are not writable on PATCH.

Update editable Case metadata. Use an organization API key with cases:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

cases:write

Parameters

NameInTypeDescription
idrequiredpathstringCase identifier returned by the Organization API.

Request body

objectrequired
FieldTypeDescription
subjectstringOptional unless marked required.
descriptionstringOptional unless marked required.
originPHONE | EMAIL | PORTAL | MONITORING_ALERT | IN_PERSONOptional unless marked required.
severityLOW | MEDIUM | HIGH | URGENTOptional unless marked required.
categorystringCase Category key. Platform keys: HARDWARE_DEFECT, WORKMANSHIP, MONITORING, BILLING, OTHER. Organizations may add their own; list them with GET /case-categories.
statusOPEN | TRIAGING | IN_PROGRESS | AWAITING_CUSTOMER | AWAITING_VENDOR | AWAITING_WORK | RESOLVED | CLOSEDCLOSED is the sole terminal status. Legacy RESOLVED input is accepted as CLOSED.
projectIdstring | nullCurrent project compatibility pointer. Changing or clearing it preserves prior Project memberships. Use Project.caseId to link/unlink membership.
firstResponseAtstring | nullOptional unless marked required.
updatecaseRequest
{
  "status": "IN_PROGRESS",
  "firstResponseAt": "2026-08-12T18:00:00Z"
}

Responses

200

Updated Case envelope

#/components/schemas/CaseEnvelope

400

Validation error

#/components/schemas/OrgApiError

401

Missing or invalid organization API key

#/components/schemas/OrgApiError

402

Organization billing access or an endpoint-specific business quota denied the request

#/components/schemas/OrgApiError

403

Missing required scope: cases:write

#/components/schemas/OrgApiError

404

Not found

#/components/schemas/OrgApiError

429

Rate limit exceeded

#/components/schemas/OrgApiError

Errors

400 Validation error401 Missing or invalid organization API key402 Organization billing access or an endpoint-specific business quota denied the request403 Missing required scope: cases:write404 Not found429 Rate limit exceeded

Static examples

curl -X PATCH "$SOLAROS_BASE_URL/api/v1/cases/$SOLAROS_CASE" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"status":"IN_PROGRESS","firstResponseAt":"2026-08-12T18:00:00Z"}'