solarOS Organization API

Organization API

Update one Customer

Updates organization-specific Customer profile fields and customFields. It does not mutate shared platform firstName, lastName, or email identity fields, and ownerId is rejected because Organization API v1 does not expose the staff reassignment action.

/api/v1/customers/{id}

Updates organization-specific Customer profile fields and customFields. It does not mutate shared platform firstName, lastName, or email identity fields, and ownerId is rejected because Organization API v1 does not expose the staff reassignment action.

Update one Customer. Use an organization API key with customers:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

customers:write

Parameters

NameInTypeDescription
idrequiredpathstringCustomer identifier returned by the Organization API.

Request body

objectrequired
FieldTypeDescription
billingEmailstring | nullInvoice recipient for this organization. Blank or null uses the contact email.
displayNamestring | nullOptional unless marked required.
emailOverridestring | nullOptional unless marked required.
phoneOverridestring | nullOptional unless marked required.
descriptionstring | nullOptional unless marked required.
internalNotesstring | nullOptional unless marked required.
tagsarray | nullOptional unless marked required.
referralSourcestring | nullOptional unless marked required.
customFieldsobjectField Values keyed by savedIdentity from GET /api/v1/schema.
updatecustomerRequest
{
  "internalNotes": "Prefers afternoon calls.",
  "customFields": {
    "preferredLanguage": "en"
  }
}

Responses

200

Updated Customer 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: customers: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: customers:write404 Not found429 Rate limit exceeded

Static examples

curl -X PATCH "$SOLAROS_BASE_URL/api/v1/customers/$SOLAROS_CUSTOMER" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{"internalNotes":"Prefers afternoon calls.","customFields":{"preferredLanguage":"en"}}'