Skip to main content
The JobMojito API is a set of HTTPS endpoints. Calls are simple: POST a JSON body, get a JSON response.

Base URL

A full endpoint URL is the base URL plus the endpoint path, e.g. https://cool.jobmojito.com/functions/v1/job-interview-create.

Conventions

  • Method: actions that create or change something use POST; read-only lookups and lists use GET (with parameters in the query string).
  • Auth: every request needs Authorization: Bearer <token> - see Authentication.
  • Request body: application/json (one endpoint, the binary resume upload, uses multipart/form-data).
  • Response body: application/json.
  • IDs: resources are identified by UUIDs.

Environments and testing

Each interview has an environment: production (the default), uat, development or demo. You set it in the admin app (Interview ▸ Edit ▸ Custom integration ▸ Environment), or with the environment field on job-interview-update. Each webhook is also registered for one environment. When a result fires an event, it goes only to the webhooks whose environment matches the environment of that interview. Your API token plays no part in this routing. A typical test set-up:
  1. Create the test interview with environment: "uat".
  2. Register a uat webhook that points at your test system (for example your ATS sandbox).
  3. Invite test candidates with is_test: true on job-interview-register-users. Test links work on draft interviews too, and their results are flagged as tests.
Test results go only to the test endpoint, and production webhooks never see them. Test interviews use credits like any other interview. For a fully separate set of users, interviews, API keys and webhooks, ask your account contact for a UAT sub-merchant next to your production merchant.

Errors

When a request fails, you get a non-2xx status and a JSON error envelope:
  • error - a human-readable message.
  • name - present for field-level validation problems; the name of the offending field.

Status codes

Batch endpoints return per-row results

Endpoints that act on a list - invite-users and job-interview-register-users - process each row independently and always return HTTP 200 with a results array. A bad row doesn’t fail the whole request; instead that row carries an error while the others succeed:
Always inspect each row’s result field rather than relying on the HTTP status alone.

Credits

Some actions consume your account’s credits - for example creating an interview, running a pre-screen, or generating a PDF report. A few options add cost on top (e.g. translating a report to another language, or enabling full-session recording). Your current balance and usage are visible in the admin. See How credits work for per-action costs, plans and top-ups.

OpenAPI specification & MCP

The entire API is described by a machine-readable OpenAPI 3.1 document, which powers this reference and can be imported into your own tooling:
Webhooks have their own spec:
Because the spec is OpenAPI, the API is also MCP-friendly - AI agents can discover and call the endpoints from the same definition. Each endpoint and field includes a description to guide automated use.

Endpoints

Interviews & assessments

Coaching catalogue

A directory lists a coaching session when the session’s tags contain every tag in the directory’s tags_interview_set_filter — so tags on the interview and tags_interview_set_filter on the directory are the two halves of the same mapping.

Candidates & invitations

Results & reports

Pre-screening

Knowledge base

Merchant reads (lists & status)

Read-only endpoints scoped to the merchant from your token (or a merchant_id query parameter). Being reads, these use GET. See the API Reference for each endpoint’s exact request and response schema, or fetch the OpenAPI spec.