SalesOS

Revenue Attribution

Multi-touch revenue attribution

Generate a revenue attribution report

GET
/v1/revenue-attribution/report

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/revenue-attribution/report" \
  -H "Authorization: Bearer <token>"

Revenue attribution report

Get multi-touch channel attribution (aggregated across deals)

GET
/v1/revenue-attribution/channels

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

modelstring
Value in: "first_touch" | "last_touch" | "linear" | "time_decay" | "u_shaped" | "w_shaped" | "custom"
startDatestring

ISO date string

endDatestring

ISO date string

curl -X GET "https://api.salesos.org/v1/revenue-attribution/channels?model=first_touch&startDate=%3Cstring%3E&endDate=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Multi-touch channel attribution breakdown

Get revenue breakdown by channel (legacy simple view)

GET
/v1/revenue-attribution/channel-breakdown

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/revenue-attribution/channel-breakdown" \
  -H "Authorization: Bearer <token>"

Channel revenue breakdown

Get campaign ROI analysis (legacy simple view)

GET
/v1/revenue-attribution/campaign-roi

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/revenue-attribution/campaign-roi" \
  -H "Authorization: Bearer <token>"

Campaign ROI data

Get multi-touch campaign ROI with attribution models applied

GET
/v1/revenue-attribution/campaign-roi/multi-touch

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

startDatestring

ISO date string

endDatestring

ISO date string

curl -X GET "https://api.salesos.org/v1/revenue-attribution/campaign-roi/multi-touch?startDate=%3Cstring%3E&endDate=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Multi-touch campaign ROI data

Get revenue attribution configuration

GET
/v1/revenue-attribution/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/revenue-attribution/config" \
  -H "Authorization: Bearer <token>"

Attribution configuration

Update revenue attribution configuration

PATCH
/v1/revenue-attribution/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

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/revenue-attribution/config" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Updated attribution configuration

Get full multi-touch attribution for a specific deal

GET
/v1/revenue-attribution/deal/{dealId}

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

dealIdRequiredstring

Query Parameters

modelstring
Value in: "first_touch" | "last_touch" | "linear" | "time_decay" | "u_shaped" | "w_shaped" | "custom"
curl -X GET "https://api.salesos.org/v1/revenue-attribution/deal/<string>?model=first_touch" \
  -H "Authorization: Bearer <token>"

Deal attribution with touchpoint timeline

Get touchpoints and attribution for a specific deal (legacy)

GET
/v1/revenue-attribution/touchpoints/{dealId}

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

dealIdRequiredstring
curl -X GET "https://api.salesos.org/v1/revenue-attribution/touchpoints/<string>" \
  -H "Authorization: Bearer <token>"

Deal touchpoint attribution

Compare all attribution models on the same data

GET
/v1/revenue-attribution/compare-models

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

startDatestring

ISO date string

endDatestring

ISO date string

curl -X GET "https://api.salesos.org/v1/revenue-attribution/compare-models?startDate=%3Cstring%3E&endDate=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

Model comparison showing revenue shifts between models

Get revenue attribution statistics

GET
/v1/revenue-attribution/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/revenue-attribution/stats" \
  -H "Authorization: Bearer <token>"

Attribution statistics