solarOS Organization API

Organization API

Create a parent-scoped Activity

Creates an Activity for a supported CRM parent, optionally attributed to a same-organization Team Member while preserving API-key audit metadata. Records ActivityLog audit and can create transactional External References such as Salesforce ContentNote ids. Requires Idempotency-Key.

/api/v1/activities

Creates an Activity for a supported CRM parent, optionally attributed to a same-organization Team Member while preserving API-key audit metadata. Records ActivityLog audit and can create transactional External References such as Salesforce ContentNote ids. Requires Idempotency-Key.

Create a parent-scoped Activity. Use an organization API key with activities:write. Check the response envelope and meta.requestId before triggering dependent workflow steps.

Required scopes

activities:writeIdempotency-Key required

Parameters

No path or query parameters.

Request body

objectrequired
FieldTypeDescription
parentTyperequiredcustomer | property | lead | opportunity | caseOptional unless marked required.
parentIdrequiredstringOptional unless marked required.
typeNOTE | CALL | EMAIL | MEETING | SMS | TASKOptional unless marked required.
contentrequiredstringOptional unless marked required.
authorIdstringOptional unless marked required.
createdAtstringOptional unless marked required.
visibilityINTERNAL | TEAM | CUSTOMEROptional unless marked required.
isPinnedbooleanOptional unless marked required.
metadataobjectOptional unless marked required.
externalReferences[]array<object>Optional unless marked required.
externalReferences[].externalSystemrequiredstringOptional unless marked required.
externalReferences[].externalObjectrequiredstringOptional unless marked required.
externalReferences[].externalIdrequiredstringOptional unless marked required.
externalReferences[].metadataobjectOptional unless marked required.
createactivityRequest
{
  "parentType": "customer",
  "parentId": "customer_123",
  "type": "NOTE",
  "content": "Customer is comparing storage options.",
  "visibility": "TEAM"
}

Responses

201

Activity 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: activities:write

#/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: activities:write429 Rate limit exceeded

Static examples

curl -X POST "$SOLAROS_BASE_URL/api/v1/activities" \
  -H "Authorization: Bearer $SOLAROS_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $SOLAROS_IDEMPOTENCY_KEY" \
  --data '{"parentType":"customer","parentId":"customer_123","type":"NOTE","content":"Customer is comparing storage options.","visibility":"TEAM"}'