Refolk
DevelopersGetting started

Authentication

View as Markdown

How API keys work: creating one, sending it, rotating it, and what happens when one leaks. Keys are shown once and hashed at rest.

One credential: an API key, sent as a bearer token on every request. There is no OAuth dance, no signing, and no session. A key is minted on purpose, carried on purpose, and revoked on its own.

Sending a key

curl https://www.refolk.ai/api/v1/credits \
  -H "Authorization: Bearer $REFOLK_API_KEY"

X-Api-Key is accepted as well, with the bare key as its value. It exists because a fair number of HTTP clients and MCP configurations only give you a plain header field to fill in, and refusing that spelling buys nothing.

Session cookies are deliberately not accepted on the API. A cookie is authority your browser attaches on its own, to any request that happens to be aimed at this domain, whether or not you asked for it. That is fine for a page you are looking at and wrong for an endpoint reachable from anywhere. A key is only ever sent because something chose to send it.

The same reasoning is why the playground has nowhere to paste a key: it runs on your session and prints the curl you would run with your key, rather than teaching you to put a live credential into a text box in a web page.

Creating, listing, and revoking

All three live on the API page. An account may hold 10 live keys at once, which is enough for one per integration and few enough that the list stays readable.

PropertyBehaviour
VisibilityShown once, at creation. Only a hash is stored.
Prefixrfk_live_, so a leaked key is recognisable as one.
RevocationImmediate, on the next request.
Blast radiusOne key. Revoking does not touch the others or sign you out.
Last usedStamped on every call, so a stale key is visible in the list.

Rotating a key

Create the new one first, deploy it, confirm the traffic has moved by watching the last-used timestamps in settings, then revoke the old one. Doing it in that order means there is never a moment when the integration has no working credential.

If a key leaks

Revoke it. That is the whole procedure, and it is immediate.

Keys carry the rfk_live_ prefix so a key pasted into a public repository, a log line, or a support ticket is recognisable as one at a glance, by a person and by the secret scanners that watch public code. If you think a key has been used by someone else, check the balance and write to hello@refolk.ai.

Try it on the search you came here for

Stop building boolean strings. Just describe the person.

Type one sentence. I plan the search, read GitHub, public LinkedIn and Crunchbase records, and the open web as it is right now, and hand back a ranked list with the reason next to every name.

  1. 01Describe them

    One plain sentence. Role, city, stack, stage, whatever matters to you.

  2. 02I read the web live

    GitHub, public LinkedIn and Crunchbase records, the open web. Not a database that went stale last quarter.

  3. 03You read the shortlist

    Ranked, with the reasoning under every name. Open a profile, ask a follow-up, narrow it down.

  • No boolean, no filters, no seat to buy. One box.
  • Read at search time, so a profile updated yesterday counts today.
  • Every step visible as it runs, every name with its reason.

500 free credits on sign-up. No card, no demo call. See real searches.