Authentication
All API requests require authentication via an API key passed in the Authorization header.
Creating an API Key
- Log in to the Keito web app.
- Navigate to Settings → API.
- Click Create API Key.
- Give the key a descriptive name (e.g., “Claude Code Agent”, “CI Pipeline”).
- Copy the key immediately — it won’t be shown again.
Using Your API Key
Include the key in the Authorization header of every request:
curl -X GET https://api.keito.ai/v1/time-entries \
-H "Authorization: Bearer keito_sk_abc123..."
In the SDKs:
// Node SDK
const keito = new Keito({
apiKey: process.env.KEITO_API_KEY,
accountId: process.env.KEITO_ACCOUNT_ID,
});
# Python SDK
client = Keito(
api_key=os.environ["KEITO_API_KEY"],
account_id=os.environ["KEITO_ACCOUNT_ID"],
)
Environment Variables
Both SDKs read these environment variables automatically:
| Variable | Description |
|---|---|
KEITO_API_KEY | Your API key |
KEITO_ACCOUNT_ID | Your workspace/account ID |
If set, you can initialise the client with no arguments:
const keito = new Keito(); // reads from env
Security Best Practices
- Never commit API keys to source control.
- Use environment variables or a secrets manager.
- Create separate keys for each agent or integration.
- Rotate keys periodically.
- Revoke keys immediately if compromised.
Rate Limits
| Plan | Requests/minute | Requests/day |
|---|---|---|
| Free | 60 | 1,000 |
| Pro | 300 | 50,000 |
| Enterprise | Custom | Custom |
Rate-limited responses return HTTP 429 with a Retry-After header.