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 }
  • timestamp is the server time in milliseconds since the Unix epoch.
  • Date fields inside data (createdAt, updatedAt, inviteExpiresAt and so on) are ISO 8601 strings in UTC, for example "2026-09-25T10:00:00.000Z". Fields with no value are null, not missing.
  • IDs are 24-character hex strings.
  • List endpoints take page (default 1) and limit (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.