Quickstart
From zero to first API call in 5 minutes
Issue a key, send one request, verify the response.
1. Get a key
New developer? Apply for an API key — a super admin reviews each request and approved applicants get an auto-issued live key by email. Already approved? Sign in at /auth/signin and your key is waiting at /developers/keys.
- Pick a name (e.g. "ATS — production").
- Pick scopes. The page pre-checks the ones that fit your role.
- Optionally check Test key to get an
ahr_test_prefix. - The plaintext is shown once on the next screen — copy it now.
2. Send a request — cURL
KEY="ahr_live_xxx" # paste yours here
curl -X POST https://www.astrishr.com/api/v1/parse/jd \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Forklift Operator — OSHA-10, $22-26/hr, day shift, Newark NJ."}'3. Same call — Node.js
const KEY = process.env.ASTRIS_API_KEY;
const res = await fetch("https://www.astrishr.com/api/v1/parse/jd", {
method: "POST",
headers: {
"Authorization": `Bearer ${KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
text: "Forklift Operator — OSHA-10, $22-26/hr, day shift, Newark NJ.",
}),
});
const data = await res.json();
console.log(data.parsed.title); // "Forklift Operator"
console.log(data.parsed.hourlyMinUsd); // 22
console.log(data.parsed.requiredCertifications); // ["OSHA-10"]4. Same call — Python
import os, requests
KEY = os.environ["ASTRIS_API_KEY"]
r = requests.post(
"https://www.astrishr.com/api/v1/parse/jd",
headers={"Authorization": f"Bearer {KEY}"},
json={"text": "Forklift Operator — OSHA-10, $22-26/hr, day shift, Newark NJ."},
)
r.raise_for_status()
print(r.json()["parsed"]["title"]) # "Forklift Operator"
print(r.json()["parsed"]["hourlyMinUsd"]) # 225. Sync a job from your careers page
This is the most common employer integration. POST the JD body and Astris parses, dedupes (by optional externalId), and creates a Job under your employer.
curl -X POST https://www.astrishr.com/api/v1/jobs/sync \
-H "Authorization: Bearer $KEY" \
-H "Content-Type: application/json" \
-d '{
"text": "Apartment Maintenance Tech — EPA 608, $26-32/hr, Newark NJ.",
"externalId": "ATS-12345",
"location": "Newark, NJ"
}'Response:
{
"jobId": "c4fcc511-…",
"slug": "apartment-maintenance-tech-…",
"action": "created",
"parsed": { "title": "Apartment Maintenance Tech", "requiredCertifications": ["EPA Section 608"], … }
}Re-POST the same externalId later → response is "action": "updated". Use this from a cron job nightly OR a webhook from your ATS.
Where next
- Full endpoint reference — request/response per endpoint, error codes, code samples
- Use cases — auto-sync jobs, push candidates from CaseWorthy, embed match scores
- Webhooks — events, HMAC verification, ATS adapters