Responses and errors
Response envelopes, error format and status codes.
Single resource
{
"data": { "id": "66f3a1c2e4b0a1d2c3e4f530", "name": "Warehouse Supervisor" },
"timestamp": 1790330400000
}List
{
"data": [{ "id": "66f3a1c2e4b0a1d2c3e4f530" }],
"meta": { "total": 42, "page": 1, "limit": 20, "totalPages": 3 },
"timestamp": 1790330400000
}Error
{ "success": false, "message": "Interview not found", "timestamp": 1790330400000 }timestampis the server time in milliseconds since the Unix epoch.- Date fields inside
data(createdAt,updatedAt,inviteExpiresAtand so on) are ISO 8601 strings in UTC, for example"2026-09-25T10:00:00.000Z". Fields with no value arenull, not missing. - IDs are 24-character hex strings.
- List endpoints take
page(default 1) andlimit(default 20, max 100).
Status codes
| Status | Meaning | What to do |
|---|---|---|
400 |
The request is invalid. message is the first problem found, for example limit must be between 1 and 100 or Invalid ID. Also returned when a companyId or teamId isn't in your organization, and when you invite to a position that isn't open or has no questions. |
Fix the request. Don't retry it unchanged. |
401 |
The API key is missing, malformed, invalid or revoked. | Check the Authorization header and the key. |
403 |
API access is disabled for your organization. When creating an invite, it can also mean there is no active subscription or no interview credits left. | Contact your Videcoot admin. |
404 |
Not found. Also returned for IDs that belong to another organization, and for interviews you cancelled. | Check the ID. |
409 |
Conflict with the current state. Examples: requesting analysis before the interview is completed, cancelling an interview that already has answers, or a candidate who already has a live interview for the position. | Read message. Don't retry unchanged. |
410 |
Only on candidate links, never on this API. The candidate sees that the invite expired or was already used. | Send a new invite (see Idempotency). |
429 |
Rate limit exceeded. | Wait, then retry (see Rate limits). |
For 5xx responses and network errors, retry with exponential backoff. Invites are safe to retry when you send externalId.