SalesOS

Auto Enrichment

Automatic record enrichment triggers

Get auto-enrichment configuration

GET
/v1/auto-enrichment/config

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/auto-enrichment/config" \
  -H "Authorization: Bearer <token>"

Enrichment configuration

Update auto-enrichment configuration

PATCH
/v1/auto-enrichment/config

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
isEnabledboolean
autoEnrichNewLeadsboolean
autoEnrichNewContactsboolean
autoEnrichNewAccountsboolean
enrichmentProviderstring
enrichmentFrequencyDaysnumber
conflictResolutionstring
Value in: "auto_overwrite" | "manual_review" | "keep_existing"
fieldsToEnricharray<string>
triggersarray<object>
providerPriorityarray<string>
mergeStrategystring
autoMergeboolean
creditBudgetobject

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/auto-enrichment/config" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "isEnabled": true,
    "autoEnrichNewLeads": true,
    "autoEnrichNewContacts": true,
    "autoEnrichNewAccounts": true,
    "enrichmentProvider": "string",
    "enrichmentFrequencyDays": 0,
    "conflictResolution": "auto_overwrite",
    "fieldsToEnrich": [
      "string"
    ],
    "triggers": [
      {}
    ],
    "providerPriority": [
      "string"
    ],
    "mergeStrategy": "string",
    "autoMerge": true,
    "creditBudget": {}
  }'

Updated enrichment configuration

Update auto-enrichment configuration (PUT)

PUT
/v1/auto-enrichment/config

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
isEnabledboolean
autoEnrichNewLeadsboolean
autoEnrichNewContactsboolean
autoEnrichNewAccountsboolean
enrichmentProviderstring
enrichmentFrequencyDaysnumber
conflictResolutionstring
Value in: "auto_overwrite" | "manual_review" | "keep_existing"
fieldsToEnricharray<string>
triggersarray<object>
providerPriorityarray<string>
mergeStrategystring
autoMergeboolean
creditBudgetobject
curl -X PUT "https://api.salesos.org/v1/auto-enrichment/config" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "isEnabled": true,
    "autoEnrichNewLeads": true,
    "autoEnrichNewContacts": true,
    "autoEnrichNewAccounts": true,
    "enrichmentProvider": "string",
    "enrichmentFrequencyDays": 0,
    "conflictResolution": "auto_overwrite",
    "fieldsToEnrich": [
      "string"
    ],
    "triggers": [
      {}
    ],
    "providerPriority": [
      "string"
    ],
    "mergeStrategy": "string",
    "autoMerge": true,
    "creditBudget": {}
  }'

Updated enrichment configuration

List enrichment jobs

GET
/v1/auto-enrichment/jobs

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

entityTypestring
statusstring
curl -X GET "https://api.salesos.org/v1/auto-enrichment/jobs?entityType=%3Cstring%3E&status=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

List of enrichment jobs

Get enrichment job details

GET
/v1/auto-enrichment/jobs/{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 GET "https://api.salesos.org/v1/auto-enrichment/jobs/<string>" \
  -H "Authorization: Bearer <token>"

Enrichment job details

Get enrichment conflicts needing review

GET
/v1/auto-enrichment/conflicts

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/auto-enrichment/conflicts" \
  -H "Authorization: Bearer <token>"

List of conflicts

Resolve an enrichment conflict

POST
/v1/auto-enrichment/conflicts/{id}/resolve

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

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/auto-enrichment/conflicts/<string>/resolve" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Conflict resolved

Resolve an enrichment conflict (PUT)

PUT
/v1/auto-enrichment/conflicts/{id}/resolve

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

Path Parameters

idRequiredstring
curl -X PUT "https://api.salesos.org/v1/auto-enrichment/conflicts/<string>/resolve" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Conflict resolved

Get enrichment statistics

GET
/v1/auto-enrichment/stats

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/auto-enrichment/stats" \
  -H "Authorization: Bearer <token>"

Enrichment statistics

Retry a failed enrichment job

POST
/v1/auto-enrichment/jobs/{id}/retry

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/auto-enrichment/jobs/<string>/retry" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Job queued for retry

Pause enrichment pipeline

POST
/v1/auto-enrichment/pause

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/auto-enrichment/pause" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Pipeline paused

Resume enrichment pipeline

POST
/v1/auto-enrichment/resume

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/auto-enrichment/resume" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Pipeline resumed

Get credit usage breakdown

GET
/v1/auto-enrichment/credits

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/auto-enrichment/credits" \
  -H "Authorization: Bearer <token>"

Credit usage