API keys
Every server-to-server integration with Wink authenticates with an API key sent in a header:
X-API-Key: wk_live_<40 hex characters>
Properties
-
Shown once. The full key appears exactly once, at creation. Wink stores only a cryptographic hash and cannot recover the plaintext. If a key is lost, create a new one and revoke the old.
-
Scoped. A key carries one or more scopes — the capabilities it grants. Current scopes:
Scope Grants call_eventsPOSTing to the call-events webhook recommendation_engineCalling the recommendation engine A request outside a key's scopes is refused with
401even when the key itself is valid. More scopes will appear as Wink's API surface grows. -
Organization-bound. Keys belong to your organization and only authenticate on your organization's API host. A key leaked from one org is useless against another.
-
Environment-bound. Live keys are prefixed
wk_live_; test keys (wk_test_) are only accepted by Wink's staging hosts and are physically refused in production. Ask for a test key while building. -
Revocable, immediately. Revocation takes effect on the next request. Revoked keys keep appearing in your key list as history.
Managing keys
Organization owners manage keys in the Wink app under Org Settings → API Keys: create a key with a label and scopes, copy the plaintext from the one-time dialog, and revoke keys that are no longer needed. The page also shows each key's last-used time — a key that has never been used, or one used seconds ago, is visible at a glance.
Handling guidance
- Store keys in your platform's secret store or credential facility — never in source control, scripts, tickets, or email.
- Send keys over HTTPS only, always in the
X-API-Keyheader — never in a URL, where proxies and access logs capture them. - Use separate keys for separate senders (production dialler, test rig, CI) so one can be revoked without taking down the others.
- Treat a suspected leak as an incident: revoke the key in Org Settings (or
ask the Wink team) and mint a replacement. Rejected calls show up to the
caller as
401.