Link intake & discovery

POST /jobs/resolve Session or API key

Hand HireAll a link: import the posting, and the board behind it.

Five outcomes in one shape, distinguished by status: **200 found** — the catalogue already carries the vacancy. Either the URL itself is stored (nothing is fetched or written), or the page turned out to be a second copy of a posting we already carry under another source, in which case the answer names the one we had; **201 tracked** — we crawl that board already and the posting just had not landed, so it was imported now; **201 imported** — imported, and its board queued for onboarding; **201 review** — imported, but its careers site names no board we can crawl, so the link went to manual triage; **202 queued** — nothing could read the page, so the link went to manual triage. company_slug is returned whenever the catalogue already carries the employer, through any source — independent of what became of the board. Rate-limited, because it makes the server fetch a URL you chose. A URL that is not http(s) is a 422.

Body

url string required
The job page to resolve.
surface string
Where the link came from (website, extension, cli, bot) — recorded, not validated against a whitelist.
curl
curl -X POST "https://freehire.me/api/v1/jobs/resolve" \
  -H "Authorization: Bearer fhk_…" -H 'Content-Type: application/json' \
  -d '{"url":"https://boards.greenhouse.io/acme/jobs/123","surface":"cli"}'
json — response
{ "data": { "status": "tracked", "public_slug": "senior-backend-engineer-acme-1a2b", "company_slug": "acme" } }

Tailor your CV for this role?

We couldn't check your fit for this role — add a CV to your profile to see it next time.

A new version of HireAll is available