solarOS Organization API

Organization API

Update an unresolved Service Appointment issue

Updates issueType or notes. Resolved issues return a lifecycle conflict.

/api/v1/service-appointments/{id}/issues/{issueId}

Updates issueType or notes. Resolved issues return a lifecycle conflict.

Update an unresolved Service Appointment issue. Use an organization API key with service_appointments:issues:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

service_appointments:issues:write

Parameters

NameInTypeDescription
idrequiredpathstringService Appointment identifier returned by the Organization API.
issueIdrequiredpathstringISSUE ID path identifier.

Request body

objectrequired
FieldTypeDescription
issueTypeHOMEOWNER_NOT_HOME | ACCESS_ISSUE | UNSAFE_CONDITIONS | MISSING_EQUIPMENT | CUSTOMER_REFUSED | OTHEROptional unless marked required.
notesstring | nullOptional unless marked required.
updateserviceappointmentissueRequest
{
  "notes": "Property manager approval is pending."
}

Responses

200

Updated issue envelope

#/components/schemas/OrgApiResourceEnvelope

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: service_appointments:issues:write

#/components/schemas/OrgApiError

409

Issue already resolved

#/components/schemas/OrgApiError

429

Rate limit exceeded

#/components/schemas/OrgApiError

Errors

401 Missing or invalid organization API key402 Organization billing access or an endpoint-specific business quota denied the request403 Missing required scope: service_appointments:issues:write409 Issue already resolved429 Rate limit exceeded

Static examples

curl -X PATCH "$SOLAROS_BASE_URL/api/v1/service-appointments/$SOLAROS_SERVICE_APPOINTMENT/issues/$SOLAROS_ISSUE_ID" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"notes":"Property manager approval is pending."}'