SalesOS
Win

Win/ Loss Intelligence

Win/loss analysis and competitive insights

List win/loss analyses for closed opportunities

GET
/v1/win-loss-intelligence/analyses

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

outcomestring
competitorIdstring
limitstring
curl -X GET "https://api.salesos.org/v1/win-loss-intelligence/analyses?outcome=%3Cstring%3E&competitorId=%3Cstring%3E&limit=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

List of win/loss analyses

Create a manual win/loss analysis

POST
/v1/win-loss-intelligence/analyses

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/win-loss-intelligence/analyses" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Analysis created

Get detailed win/loss analysis for an opportunity

GET
/v1/win-loss-intelligence/analyses/{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/win-loss-intelligence/analyses/<string>" \
  -H "Authorization: Bearer <token>"

Detailed win/loss analysis

Auto-analyze a deal (frontend path)

POST
/v1/win-loss-intelligence/analyses/auto-analyze

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/win-loss-intelligence/analyses/auto-analyze" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{}'

Auto-generated analysis

Auto-analyze a closed deal using available data

POST
/v1/win-loss-intelligence/auto-analyze/{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

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/win-loss-intelligence/auto-analyze/<string>" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Auto-generated analysis

Get win rates by competitor (frontend path)

GET
/v1/win-loss-intelligence/competitor-win-rates

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/win-loss-intelligence/competitor-win-rates" \
  -H "Authorization: Bearer <token>"

Competitor win rates

Get win/loss rates by competitor

GET
/v1/win-loss-intelligence/competitor-rates

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/win-loss-intelligence/competitor-rates" \
  -H "Authorization: Bearer <token>"

Competitor win/loss rates

Get win/loss patterns across deals

GET
/v1/win-loss-intelligence/patterns

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/win-loss-intelligence/patterns" \
  -H "Authorization: Bearer <token>"

Win/loss patterns and trends

Pending battlecard update suggestions

GET
/v1/win-loss-intelligence/battlecard-updates

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/win-loss-intelligence/battlecard-updates" \
  -H "Authorization: Bearer <token>"

Battlecard updates

Generate battlecard suggestions from win/loss reasons

POST
/v1/win-loss-intelligence/battlecard-updates/generate

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/win-loss-intelligence/battlecard-updates/generate" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Suggestions (aiGenerated flag)

Apply a battlecard update

POST
/v1/win-loss-intelligence/battlecard-updates/{updateId}/apply

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

updateIdRequiredstring

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/win-loss-intelligence/battlecard-updates/<string>/apply" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Applied (idempotent)

Dismiss a battlecard update

POST
/v1/win-loss-intelligence/battlecard-updates/{updateId}/dismiss

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

updateIdRequiredstring

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/win-loss-intelligence/battlecard-updates/<string>/dismiss" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"

Get win/loss statistics

GET
/v1/win-loss-intelligence/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/win-loss-intelligence/stats" \
  -H "Authorization: Bearer <token>"

Win/loss statistics