Getting started / From signup to first request

From signup to your first request

The three steps between creating an account and getting your first job payload back, and what to do at each one.

Three things stand between you and a response: an account, a key, and a request. This page covers the account part. The quickstart covers the request part in every language, and it's the page to have open once you have a key.

  1. Create an account

    Sign up with an email and password, or with Google. There's no credit card and no sales call — new accounts land on the Free plan with 500 requests per calendar month.

    Use a real work address. Disposable-email domains are rejected at signup, and password resets and receipts go to whatever you register.

  2. Create an API key

    Open the dashboard and create a key. It looks like hj_live_ followed by 48 hex characters.

    The full key is shown once, at creation. Copy it into your secret store before you close the dialog — we only keep a hash, so nobody can read it back to you later. See managing API keys.

  3. Make the call

    Send the key as a bearer token:

    BASH
    curl -H "Authorization: Bearer $HYPERJOBS_KEY" \
      "https://api.hyperjobs.io/v1/jobs?limit=1"

    A 200 with a data array means you're done. A 401 means the key is missing, malformed, unknown, or revoked — the response doesn't say which.

    The quickstart has the same call in Node, Python, and Go, plus what the response fields mean.

If the first call fails#

Check /v1/health first — it needs no key, so it separates a network problem from an auth problem:

BASH
curl https://api.hyperjobs.io/v1/health

If that returns { "ok": true, … } and your authenticated call still 401s, the key is the problem, not the connection. Authentication covers the failure modes, including the one that catches most people: calling from browser JavaScript, where the Authorization header triggers a CORS preflight that fails.

Two things that will save you an afternoon#

Both are documented properly elsewhere, but they cause enough confusion to repeat here:

  • Descriptions are omitted by default. The description key is absent unless you ask for it with description_format=text or html.
  • Comma-separated filters mean OR — except skill, which is AND. ?skill=python,aws returns jobs tagged both; every other multi-value filter matches any of its values. See filtering.

Validation is strict: an unknown parameter or a bad value returns a 400 that names the parameter, so a typo can't silently masquerade as an empty result set.

Next#

Was this page helpful?