SalesOS

Unified Communications

Aggregated communication timeline

Get unified communication threads across all channels

GET
/v1/unified-comms/threads

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

limitstring
offsetstring
typestring
curl -X GET "https://api.salesos.org/v1/unified-comms/threads?limit=%3Cstring%3E&offset=%3Cstring%3E&type=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Unified thread list

Get unified threads for a specific entity

GET
/v1/unified-comms/threads/{entityType}/{entityId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

entityTypeRequiredstring
entityIdRequiredstring
curl -X GET "https://api.salesos.org/v1/unified-comms/threads/<string>/<string>" \
  -H "Authorization: Bearer <token>"

Entity communication timeline

Get communication summary across all channels

GET
/v1/unified-comms/summary

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

curl -X GET "https://api.salesos.org/v1/unified-comms/summary" \
  -H "Authorization: Bearer <token>"

Communication summary statistics

Mark a thread as read

POST
/v1/unified-comms/threads/{id}/read

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/unified-comms/threads/<string>/read" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Thread marked as read

Search across all communication channels (GET)

GET
/v1/unified-comms/search

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Query Parameters

qRequiredstring
curl -X GET "https://api.salesos.org/v1/unified-comms/search?q=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Search results

Search across all communication channels

POST
/v1/unified-comms/search

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Request Body

application/jsonRequired

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/unified-comms/search" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Search results

Get entity communication timeline

GET
/v1/unified-comms/timeline/{entityType}/{entityId}

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

entityTypeRequiredstring
entityIdRequiredstring
curl -X GET "https://api.salesos.org/v1/unified-comms/timeline/<string>/<string>" \
  -H "Authorization: Bearer <token>"

Entity timeline

Generate AI summary for a thread

POST
/v1/unified-comms/threads/{id}/summarize

Authorization

AuthorizationRequiredBearer <token>

Session token from the SalesOS web app.

In: header

X-API-Key<token>

API key from Settings → API Keys. Authorization: ApiKey <key> is also accepted. Each operation lists the scope it needs under x-api-key-scopes.

In: header

Path Parameters

idRequiredstring

Header Parameters

Idempotency-Keystring

Unique key (a UUID is ideal) that makes this write safe to retry for 24 hours: a retry with the same body replays the original response (Idempotent-Replayed: true); the same key with a different body is a 409.

Maximum length: 255
curl -X POST "https://api.salesos.org/v1/unified-comms/threads/<string>/summarize" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Thread summary