Lifecycle states
| State | Description |
|---|---|
| active | Token is valid and will pass verification |
| expired | Token’s exp timestamp has passed — returns TOKEN_EXPIRED |
| revoked | Explicitly revoked via POST /v1/agents/:id/revoke — returns TOKEN_REVOKED |
Expiry
Default token expiry is 24 hours from issuance. Configurable at registration:| Plan | Max expiry |
|---|---|
| Free | 24 hours |
| Developer | 90 days |
| Growth | 90 days |
| Enterprise | 1 year |
Revocation
Revocation is immediate. Once revoked, the next verification call returnsTOKEN_REVOKED — no delay, no cache.
Offline validation
In offline mode, revocation is not checked. The token is validated cryptographically against the cached public key. A revoked agent may still pass offline validation until the cache refreshes. Use online mode for high-risk actions. Use offline mode for high-volume, low-risk actions where sub-millisecond latency matters.Token rotation
To rotate an agent’s credentials:- Register a new agent — get a new
agent_idand token - Update your agent process to use the new token
- Revoke the old agent
rotateAgent() method does all three steps in one call.