A P I Keys
API key management
Get all API keys for current user
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Query Parameters
statusstring"ACTIVE" | "REVOKED" | "EXPIRED"ApiKeyArray
Create a new API key
The secret is returned once. Keys are bound to the current organization.
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Request Body
application/jsonRequirednameRequiredstringAPI key name
120descriptionstringAPI key description
500scopesarray<string>Scopes: READ_ / WRITE_ per resource (e.g. READ_LEADS), or * for everything. Items: at most 64.
["read"]rateLimitnumberRequests allowed per window
1000Minimum: 1Maximum: 1000000rateLimitWindownumberRate limit window in seconds
3600Minimum: 1Maximum: 86400allowedIpsarray<string>IP allow-list: addresses or CIDR blocks (203.0.113.0/24, 2001:db8::/32). Empty allows any IP. Items: at most 100.
expiresAtstringWhen the key stops working (ISO 8601). Omit for no expiry.
ApiKeyCreated
Get aggregate usage stats across all of current user's keys
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Query Parameters
dateFromstringdateTostringDeprecated endpoints your organization's keys and sessions still call
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Query Parameters
daysnumberGet an API key by ID
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstringApiKey
Update an API key
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Request Body
application/jsonRequirednamestringAPI key name
120descriptionstringAPI key description
500scopesarray<string>Scopes/permissions for the key Items: at most 64.
rateLimitnumberRequests allowed per window
1Maximum: 1000000rateLimitWindownumberRate limit window in seconds
1Maximum: 86400allowedIpsarray<string>IP allow-list: addresses or CIDR blocks; [] allows any IP Items: at most 100.
expiresAtstringExpiry (ISO 8601); null removes it
statusstringAPI key status
"ACTIVE" | "REVOKED" | "EXPIRED"Path Parameters
idRequiredstringApiKey
Delete an API key
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstringSuccessResponse
Revoke an API key
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstringApiKey
Rotate an API key
Issues a new secret with the same settings. The old secret keeps working for overlapHours (default 24, 0 revokes it now), then expires.
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Request Body
application/jsonRequiredoverlapHoursnumberHours the old secret keeps working after rotation (0 revokes it immediately).
24Minimum: 0Maximum: 168Path Parameters
idRequiredstringApiKeyRotated
Regenerate an API key (replaces the secret with no overlap)
Deprecated, sunset 2027-04-01. Use /v1/api-keys/{id}/rotate.
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstringApiKeyRegenerated
Get API key usage logs
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstringQuery Parameters
pagenumberlimitnumberApiKeyUsagePage
Get API key usage statistics
Authorization
AuthorizationRequiredBearer <token>Session token from the SalesOS web app.
In: header
Path Parameters
idRequiredstring