Skip to main content
Version: v1

Kula API

The Kula API provides programmatic access to your Kula account. Use it to integrate Kula with your internal tools, automate workflows, and build custom applications.

For detailed information on rate limiting, pagination, and error handling, see the API Guides.

Authentication

All requests require Bearer token authentication:

Authorization: Bearer kula_pk_your_token_here

Scopes

Each API key carries a set of scopes. An operation that carries an x-required-scope field names the scope required to call it.

A key missing that scope receives 403 ERR_INSUFFICIENT_SCOPE, which names the scope to add:

{
"error": {
"code": "ERR_INSUFFICIENT_SCOPE",
"message": "This API key is missing the required scope: jobs:read"
}
}

Grant it under Settings → API Management and retry — no new key is needed. Keys created before scopes existed are unrestricted and keep working unchanged.

A second scope can gate parts of a response the key is otherwise allowed to read. Without candidates:read, an application omits candidate (and resume and offers when requested) and an interview returns candidate: null; the request still succeeds with 200.

Base URL

https://api.kula.ai

Rate Limiting

The API permits up to 3,600 requests per hour per API key. Requests are metered with a leaky-bucket algorithm, so short bursts above the average rate are allowed as long as the hourly budget isn't exhausted. When the limit is exceeded the API responds with 429 Too Many Requests and returns X-RateLimit-Remaining and X-RateLimit-Reset headers indicating the remaining quota and when it resets.

Authentication

Public API Bearer token

Security Scheme Type:

http

HTTP Authorization Scheme:

bearer

Bearer format:

JWT