solarOS Organization API

Organization API

List Customers

Lists Customers available to the calling organization with safe identity fields, organization-specific details (including billingEmail), customFields, and External References. Supply externalSystem, externalObject, and externalId together to filter by a canonical External Reference. Required scope: customers:read.

/api/v1/customers

Lists Customers available to the calling organization with safe identity fields, organization-specific details (including billingEmail), customFields, and External References. Supply externalSystem, externalObject, and externalId together to filter by a canonical External Reference. Required scope: customers:read.

List Customers. Use an organization API key with customers:read. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

customers:read

Parameters

NameInTypeDescription
limitqueryintegerMaximum records to return. Defaults to 50 and is capped at 100.
cursorquerystringOpaque record cursor from the previous response meta.nextCursor value.
sortByquerycreatedAt | updatedAt | displayNameCustomer sort field. Defaults to createdAt.
sortDirqueryasc | descSort direction. Defaults to desc.
ownerIdquerystringFilter by the Customer Relationship owner id.
phonequerystringFind Customers by phone. Formatting is ignored, and the last ten digits must match the Customer's phone or this organization's phone for them, so (707) 555-1234 and +17075551234 are the same number. An empty value, or one with no digits, matches no Customer. With email, a Customer must match both.
emailquerystringFind Customers by email, ignoring case and surrounding spaces. Matches the Customer's email or this organization's email for them, and the email of a Customer merged into them. An empty value matches no Customer; before 2026-10-15 it matched Customers saved with an empty email. With phone, a Customer must match both.
externalSystemquerystringExternal Reference system filter. Supply with externalObject and externalId for exact reconciliation lookup.
externalObjectquerystringExternal Reference object filter. Supply with externalSystem and externalId.
externalIdquerystringExternal Reference id filter. Supply with externalSystem and externalObject.

Request body

This endpoint does not accept a JSON request body.

Responses

200

Customer list envelope

#/components/schemas/OrgApiListEnvelope

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:read

#/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: customers:read429 Rate limit exceeded

Static examples

curl -X GET "$SOLAROS_BASE_URL/api/v1/customers" \
  -H "Authorization: Bearer $SOLAROS_API_KEY"