SalesOS

Users

User profile and preferences

Get current user

GET
/v1/users/me

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/users/me" \
  -H "Authorization: Bearer <token>"

Update current user

PUT
/v1/users/me

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
namestring
firstNamestring
lastNamestring
emailstring
Format: "email"
avatarUrlstring
jobTitlestring
departmentstring
phonestring
mobilePhonestring
locationstring
timezonestring
curl -X PUT "https://api.salesos.org/v1/users/me" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "string",
    "firstName": "string",
    "lastName": "string",
    "email": "[email protected]",
    "avatarUrl": "string",
    "jobTitle": "string",
    "department": "string",
    "phone": "string",
    "mobilePhone": "string",
    "location": "string",
    "timezone": "string"
  }'

Get preferences

GET
/v1/users/me/preferences

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/users/me/preferences" \
  -H "Authorization: Bearer <token>"

{}

Patch preferences

PATCH
/v1/users/me/preferences

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

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 PATCH "https://api.salesos.org/v1/users/me/preferences" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

{}

Update preferences

PUT
/v1/users/me/preferences

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 PUT "https://api.salesos.org/v1/users/me/preferences" \
  -H "Authorization: Bearer <token>"

{}

Upload avatar

POST
/v1/users/me/avatar

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

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/users/me/avatar" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Delete avatar

DELETE
/v1/users/me/avatar

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 DELETE "https://api.salesos.org/v1/users/me/avatar" \
  -H "Authorization: Bearer <token>"

Get quota

GET
/v1/users/me/quota

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

periodstring
curl -X GET "https://api.salesos.org/v1/users/me/quota?period=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Update quota

PUT
/v1/users/me/quota

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
curl -X PUT "https://api.salesos.org/v1/users/me/quota" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Get privacy preferences

GET
/v1/users/me/privacy

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/users/me/privacy" \
  -H "Authorization: Bearer <token>"

{}

Update privacy preferences

PUT
/v1/users/me/privacy

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
analyticsEnabledboolean
personalizationEnabledboolean
crashReportingEnabledboolean
aiTrainingConsentboolean
contextRetentionEnabledboolean
marketingEmailsEnabledboolean
productUpdatesEnabledboolean
retentionPeriodDaysnumber
Minimum: 30Maximum: 365
curl -X PUT "https://api.salesos.org/v1/users/me/privacy" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "analyticsEnabled": true,
    "personalizationEnabled": true,
    "crashReportingEnabled": true,
    "aiTrainingConsent": true,
    "contextRetentionEnabled": true,
    "marketingEmailsEnabled": true,
    "productUpdatesEnabled": true,
    "retentionPeriodDays": 30
  }'

{}

Get data requests

GET
/v1/users/me/data-requests

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/users/me/data-requests" \
  -H "Authorization: Bearer <token>"

[
  {}
]

Create data export request

POST
/v1/users/me/data-requests/export

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
reasonstring

Header Parameters

user-agentRequiredstring
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/users/me/data-requests/export" \
  -H "user-agent: <string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "string"
  }'

{}

Create data deletion request

POST
/v1/users/me/data-requests/deletion

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
reasonstring
confirmationPhraseRequiredstring

Header Parameters

user-agentRequiredstring
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/users/me/data-requests/deletion" \
  -H "user-agent: <string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "string",
    "confirmationPhrase": "string"
  }'

{}

Create account deletion request

POST
/v1/users/me/data-requests/account-deletion

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
reasonstring
confirmationPhraseRequiredstring
passwordRequiredstring

Header Parameters

user-agentRequiredstring
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/users/me/data-requests/account-deletion" \
  -H "user-agent: <string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "string",
    "confirmationPhrase": "string",
    "password": "string"
  }'

{}

Cancel data request

DELETE
/v1/users/me/data-requests/{id}

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
curl -X DELETE "https://api.salesos.org/v1/users/me/data-requests/<string>" \
  -H "Authorization: Bearer <token>"

{}

Get data retention info

GET
/v1/users/me/data-retention

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/users/me/data-retention" \
  -H "Authorization: Bearer <token>"

{}

Get storage usage

GET
/v1/users/me/storage

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/users/me/storage" \
  -H "Authorization: Bearer <token>"

{}

Clear conversation history

DELETE
/v1/users/me/conversations

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 DELETE "https://api.salesos.org/v1/users/me/conversations" \
  -H "Authorization: Bearer <token>"

Clear cache

DELETE
/v1/users/me/cache

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 DELETE "https://api.salesos.org/v1/users/me/cache" \
  -H "Authorization: Bearer <token>"

Get email notification preferences

GET
/v1/users/me/email-preferences

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/users/me/email-preferences" \
  -H "Authorization: Bearer <token>"

Patch email notification preferences

PATCH
/v1/users/me/email-preferences

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 PATCH "https://api.salesos.org/v1/users/me/email-preferences" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Update email notification preferences

PUT
/v1/users/me/email-preferences

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
curl -X PUT "https://api.salesos.org/v1/users/me/email-preferences" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'