solarOS Organization API

Organization API

Update editable Work Order metadata

Updates non-terminal Work Order metadata and customFields. Ownership is inherited from the containing Project and ownerId is rejected. Completion, cancellation, and scheduling remain explicit domain actions. notes is rejected: Work Order Notes was retired on 2026-10-27; send job instructions in description.

/api/v1/work-orders/{id}

Updates non-terminal Work Order metadata and customFields. Ownership is inherited from the containing Project and ownerId is rejected. Completion, cancellation, and scheduling remain explicit domain actions. notes is rejected: Work Order Notes was retired on 2026-10-27; send job instructions in description.

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

Required scopes

work_orders:write

Parameters

NameInTypeDescription
idrequiredpathstringWork Order identifier returned by the Organization API.

Request body

objectrequired
FieldTypeDescription
titlestringOptional unless marked required.
descriptionstring | nullOptional unless marked required.
statusNOT_READY_TO_SCHEDULE | READY_TO_SCHEDULE | SCHEDULED | IN_PROGRESSOptional unless marked required.
priorityLOW | MEDIUM | HIGH | URGENTOptional unless marked required.
estimatedHoursstring | number | nullOptional unless marked required.
customFieldsobjectField Values keyed by savedIdentity from GET /api/v1/schema.
updateworkorderRequest
{
  "title": "Install PV array and inverter",
  "priority": "HIGH"
}

Responses

200

Updated Work Order envelope

#/components/schemas/OrgApiResourceEnvelope

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: work_orders: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: work_orders:write404 Not found429 Rate limit exceeded

Static examples

curl -X PATCH "$SOLAROS_BASE_URL/api/v1/work-orders/$SOLAROS_WORK_ORDER" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"title":"Install PV array and inverter","priority":"HIGH"}'