Use a
keya_ key to get started. Use a client key when you don’t want a secret that works on its own if it leaks. A leaked access token stops working after 5 minutes, and Noetive never holds your private key.
keyu_ keys no longer work.
Static keys
Akeya_ key goes in the Authorization header. See API keys.
Client keys
1
Generate a key pair
2
Upload the public key
Open the agent’s page in the dashboard and upload the public key as a JWK. An agent can have up to 3 live client keys, so you can rotate without a gap. Note the key’s
kid.3
Sign an assertion
Sign a JWT with the private key. The header carries the
alg (ES256 or EdDSA) and your kid. The claims are:A
jti can be used once. A replayed assertion is refused.4
Exchange it for an access token
access_token that lasts 5 minutes. Send it as Authorization: Bearer <access_token>.resource. There are no refresh tokens: sign a new assertion when the token is about to expire.
Every assertion failure is answered the same way, invalid_client, so a response never tells a caller which check failed.

