SalesOS

Gamification

Points, leaderboards, and challenges

Full gamification dashboard: leaderboard + badges + challenges + personal stats

GET
/v1/gamification/dashboard

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/gamification/dashboard?period=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

{}

Leaderboard entries for the given period

GET
/v1/gamification/leaderboard

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/gamification/leaderboard?period=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

{}

Personal stats for the authenticated user

GET
/v1/gamification/me/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

Query Parameters

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

{}

All achievement badges with earned status for the current user

GET
/v1/gamification/badges

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

[
  {}
]

Points breakdown for the authenticated user

GET
/v1/gamification/me/points

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/gamification/me/points?period=%3Cstring%3E" \
  -H "Authorization: Bearer <token>"

[
  {}
]

Active team challenges

GET
/v1/gamification/challenges

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

[
  {}
]

Join a team challenge

POST
/v1/gamification/challenges/{id}/join

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/gamification/challenges/<string>/join" \
  -H "Idempotency-Key: <string>" \
  -H "Authorization: Bearer <token>"