Authentication
API key
All Dealsignal API requests authenticate with an api_key. Get your key from the Dealsignal dashboard.
For most endpoints, pass it as a query-string parameter:
Send Accept: application/json on every request so that authentication errors come back as JSON.
Treat the key like a password. Never commit it to source control, log it, or expose it in client-side code.
Key rotation
Dealsignal supports zero-downtime key rotation. When you roll your key:
- A new
api_keyis minted and returned in the response. - Your previous key keeps working for a configurable grace window (
expires_in_hours, default and maximum 48 hours). - You can roll multiple times — each rolled-away key gets its own independent expiry. At most five rolled-away keys stay active: a roll beyond that revokes the one closest to its expiry right away.
The typical deploy flow:
Roll the key
The api_key must be in the request body for the roll endpoint. Passing it in the query string returns 400 — query-string credentials leak into access logs, CDN logs, browser history, and Referer headers.
Response:
recommended_rotation_date is two months after the roll. It is a reminder, not an expiry: the key keeps working after that date until you roll it. previous_api_key_expires_at is when the key you just rolled away stops being accepted.
Rate limiting
Rolls are rate-limited per user with a 5-minute window — once you roll, the next roll for the same user is rejected until 5 minutes have passed. If you roll too often, the response is 429 with both a Retry-After header and a retry_after_seconds field in the body: