API Key Management
API keys let your integrations authenticate with SalesOS using the P2S-SIGN-V1 signed-request scheme. Keys are created and managed exclusively through the SalesOS Dashboard.API key management requires the admin.integrations capability. Tenant owners and admins have this by default.
Create a key
1
Open the Dashboard
Go to dashboard.play2sell.com (or staging) and log in with your admin account.
2
Navigate to API Keys
Go to Integrations > API Keys in the sidebar menu.
3
Create a new key
Click Create API Key and fill in:
- Name — A descriptive name (e.g., “CRM Nightly Sync”, “Website Forms”)
- Scope — Tick what the integration will call. For a super-app home screen:
checkin:read,missions:read,campaigns:read,progress:readandearnings:read. For the standard integration:default:sync - Rate limit — Requests per hour (default: 1,000)
- Expiration — Optional expiry date
4
Copy both values
After creation, the Dashboard displays two values, only once:
- API Key — the public identifier, e.g.
sk_live_a1b2c3d4.... Sent in theAuthorizationheader on every signed request. - API Key Secret — used to compute the request signature. Never sent over the wire.
Manage existing keys
The same Integrations > API Keys screen lets you:- View all active, revoked, and expired keys (the secret is never displayed again)
- Revoke a key — immediately stops it from working, preserving audit history
- Delete a key — permanently removes it (prefer revoking)
- Monitor usage — see request count and last-used date
Available scopes
A scope only does something if an endpoint requires it. The Endpoint column says which — a scope no endpoint requires grants nothing today.Best practices
Use multiple keys for different integrations
Use multiple keys for different integrations
Create separate keys for each integration (CRM sync, website forms, partner API). This way, if one key is compromised, you only need to rotate that one.
Set expiration dates
Set expiration dates
Keys without expiration live forever. Set an expiry to enforce regular rotation — 90 days is a good default.
Use minimal scopes
Use minimal scopes
Tick only what the integration will use. Leaving it empty does not grant full access — it returns
403 on everything.Monitor usage
Monitor usage
Check the request count and last-used date on the Dashboard list. Keys that haven’t been used in months may be candidates for revocation.
Rotate keys without downtime
Rotate keys without downtime
- Create a new key in the Dashboard
- Update your integration to use the new key + secret
- Verify the new key works
- Revoke the old key
Next steps
Authentication
Learn the P2S-SIGN-V1 signing scheme with code samples
Activities Integration
Start sending activities with your new key

