Skip to main content
Every call to the Reclack API is authenticated with an API key. The key also decides which environment you are talking to, so there is no separate sandbox host to remember.
An API key split into its Reclack prefix, its environment segment and its 32 random characters, above the Api-Key header it is sent in.An API key split into its Reclack prefix, its environment segment and its 32 random characters, above the Api-Key header it is sent in.

What a key is made of, and the headers it can travel in

Key format

A key is shown once, when it is created. We store only a digest of it, so we cannot show it to you again and a database dump yields nothing usable. If you lose a key, revoke it and mint another.

Sending the key

Send the key in the Api-Key header. This is what every example in these docs uses.
One other header works if your stack already puts credentials somewhere else:
We recognise a key by its own shape, so a session token sitting in the same header is never mistaken for one.

What a key can do

Keys carry permissions. A key that only records usage does not need the ability to create subscriptions, and giving it that ability is how a small mistake becomes a large one. Set these when you create the key in the dashboard. A call made with a key that lacks the permission is refused with a permission_error, not a silent no-op.

Keeping a key safe

A secret key is a bearer credential. Anyone holding it can act as your workspace. Keep it on your server, never in client-side code, a mobile binary, or a public repository.
A few habits that cost nothing:
  • Use separate keys for separate jobs, so one can be revoked without taking the rest of your integration down.
  • Rotate on a schedule, and immediately when somebody who had access leaves.
  • Keep sandbox and live keys in different places. The prefix makes a mistake obvious in a log line, which is exactly when you want to notice.
  • Never log the key. Reclack does not log secrets, and your service should not either.

Revoking a key

Delete it in the dashboard under Developers, then API keys, or call the API:
Revocation takes effect on the next request. Calls already in flight finish.