Skip to main content
The Vort Partner API is for ATS vendors who embed Vort’s AI candidate matching inside their own product. You build the screens; Vort supplies the matching, the candidates, and every sentence the recruiter reads about them. The key words MUST, MUST NOT, SHOULD, SHOULD NOT and MAY are used as described in RFC 2119.

Quickstart

Take one customer from activation code to a reported decision with curl, Node.js, Python or PHP.

Integration flow

The eight steps of every integration, from connecting a customer to receiving webhooks.

UI specification

The screens you build, what you may customize, and what is fixed.

API reference

Every endpoint and webhook, generated from the OpenAPI 3.1 document.

Base URLs

Every endpoint is {BASE_URL}/v1/<path>. In the sandbox, POST /runs is POST https://vort-partner-api.vercel.app/sandbox/v1/runs. Keep the base URL in configuration so it can change without a release, and do not derive it from anything else.

Division of responsibility

The content rule is strict. Notices, requirement messages, suggestions, evidence and prices are rendered from the API payload. Your UI MUST NOT rewrite, shorten, translate or replace them with your own copy. If a sentence reads wrong, report it to Vort with the run_id and Vort fixes it for every partner at once.

The flow in 8 steps

Each step is described in Integration flow. The Quickstart walks through steps 1 to 7 against the sandbox.

Authentication at a glance

Two secrets, both server-side only: your partner API key (x-partner-key, on every request) and one org token per connected customer (x-vort-org, on every request except POST /activations/redeem).
Every call is server-to-server. A Vort key or org token MUST NOT reach a browser, a mobile app, a log line visible to customers, a URL, or a frontend bundle. Details, rotation and the connect flow are in Authentication.

Languages

Vort’s content is available in Hebrew (he) and English (en). Send x-vort-lang: he|en to choose the language of notices and messages for a request; without it Vort uses your partner default (Hebrew unless agreed otherwise). Requirement validation issues carry both languages (message_he, message_en); show the one matching the recruiter’s UI language. When the language is Hebrew your screens MUST render right-to-left.

Versioning policy

  • The version is in the path: {BASE_URL}/v1/....
  • Within v1, Vort makes additive changes only: new endpoints, new optional request fields, new response fields, new notice codes, new webhook events, new error codes on existing HTTP statuses. These are non-breaking.
  • Breaking changes (removing or renaming a field, changing a type or meaning) ship only as /v2, announced in advance, with an overlap period (agreed with partners) during which /v1 keeps working.
Because changes within v1 are additive, your client MUST:
  • ignore unknown fields in every response and webhook body;
  • render a notice with an unknown code generically (see Notices);
  • ignore webhook events it does not know, still answering 2xx;
  • handle an unknown error code by its HTTP status.
Changes are listed in the Changelog.

Environments

You develop and certify against the sandbox: a real deployment on real search results, with synthetic contact details, masked candidate names until the data processing annex is signed, and certification fixtures that return fixed payloads (see Sandbox). Production keys and the production base URL are issued after certification passes. Keep the base URL, the partner key and the org tokens in per-environment configuration.

Data handling

Candidate data you receive from the API (names, titles, employers, locations, evidence, and revealed contact details) is personal data. Its processing is governed by the Data Processing Annex to the partnership agreement.
Placeholder, to be agreed. The annex will fix: retention periods for candidate data and revealed contact details on your side; propagation of deletion and correction requests (Vort to partner and partner to Vort) and the deadline for each; sub-processors; breach notification; and the lawful basis for contacting candidates under Israeli law. Until the annex is signed, do not copy candidate data outside the customer’s own workspace in your product.

Support

Always include the run_id when you contact Vort about a run. It is returned by POST /runs, echoed in every run response and every webhook, and it MUST be visible to the recruiter in your UI so that the recruiter can quote it to you and you can quote it to Vort.
For API errors, also include the request time (UTC), the HTTP method and route, the status and the error code.
Never send Vort an org token or API key. The first 12 characters of the key (for example vpk_live_3f9) are enough to identify it.