Introduction
The talentoBot API allows you to programmatically create interviews, manage candidates, and retrieve interview results. Our REST API uses JSON for request and response payloads.
Base URL
API Version
Current version: v1
All endpoints are prefixed with the version number. We'll maintain backward compatibility and announce breaking changes at least 3 months in advance.
Contact our API support team at [email protected] or visit the Help Center.
Authentication
The talentoBot API uses API keys for authentication. Include your API key in the Authorization header of all requests.
Getting Your API Key
- Log in to your talentoBot dashboard
- Navigate to Settings → API Keys
- Click "Generate New API Key"
- Copy and store your key securely (it won't be shown again)
Authentication Example
Never share your API key publicly or commit it to version control. Rotate keys regularly and revoke compromised keys immediately.
Rate Limits
To ensure service quality, API requests are rate limited based on your plan:
| Plan | Requests per Minute | Requests per Hour |
|---|---|---|
| Free Trial | 10 | 100 |
| Pro | 60 | 1,000 |
| Enterprise | 300 | 10,000 |
Rate Limit Headers
Every API response includes rate limit information:
Handling Rate Limits
If you exceed the rate limit, you'll receive a 429 Too Many Requests response. Implement exponential backoff and retry logic in your applications.
Error Handling
The API uses standard HTTP status codes and returns error details in JSON format.
HTTP Status Codes
| Code | Status | Description |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource created successfully |
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Invalid or missing API key |
| 404 | Not Found | Resource not found |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Server Error | Internal server error |
Error Response Format
Projects
Projects represent interview configurations. Each project contains instructions for Tami and generates unique interview links.
Create a new interview project.
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
project_name |
string | Required | Name of the position or project |
instructions |
string | Required | Instructions for Tami AI |
template_id |
string | Optional | ID of template to use |
company_name |
string | Optional | Company name shown to candidates |
Example Request
Example Response
List all your interview projects.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
limit |
integer | Number of results (default: 20, max: 100) |
offset |
integer | Pagination offset (default: 0) |
status |
string | Filter by status: active, completed, expired |
Example Response
Retrieve details of a specific project.
Delete a project. This action is irreversible.
Sessions
Sessions represent completed interviews. Retrieve session data to access transcripts, scores, and AI analysis.
List all interview sessions for a project.
Example Response
Get full details including transcript and analysis.
Example Response
Webhooks
Webhooks allow you to receive real-time notifications when events occur (e.g., interview completed).
Supported Events
- interview.completed - Candidate completes interview
- interview.started - Candidate starts interview
- project.created - New project created
Webhook Payload Example
Configure webhooks in Dashboard → Settings → Webhooks. You'll need to verify endpoint ownership via a challenge-response.
SDKs & Libraries
Official SDKs are coming soon. For now, use any HTTP client library in your language of choice.
Example: JavaScript/Node.js
Example: Python
Changelog
Version 1.0 (January 2025)
- Initial API release
- Projects, Sessions, and Templates endpoints
- Webhook support for interview events
- OAuth 2.0 authentication
Subscribe to our API changelog to receive notifications about new features, deprecations, and breaking changes.