Astris HR API
The matching, parsing, retention, and skills-inference capabilities that power astrishr.com — available as a clean REST API so your caseworker system, ATS, or staffing platform can embed them directly.
Endpoints
Multipart file or JSON text. Returns the parsed ParsedResume — skills, certifications, languages, work history, education. Falls back to vision for scanned PDFs.
Same shape as resume. Returns the parsed ParsedJobDescription — required + preferred skills, certs, comp, benefits, demographic friendliness signals.
Score a (candidateId, jobId) pair. Returns finalScore, recommendation, componentScores, subModels, retention forecast, gaps, transferable-skill bridges.
Expected staying-length curve for a (candidate, job) pair. Returns 30/90/180/365 retention probabilities, confidence, expected tenure days, and feature snapshot.
Given prior occupations + already-known skills, infer the skills any practitioner of those occupations likely has. Curated map + LLM fallback. Provenance + confidence on every skill.
Bearer ahr_live_… (or ahr_test_… for testing). Each key is scoped: parse, match, retention, skills. Org/employer-scoped keys auto-restrict to that tenant.
Built for caseworker-software integrations
The refugee-services world runs on CaseWorthy, Apricot, ETO, Salesforce NPSP, and homegrown spreadsheets. Astris is built to be the matching + retention layer those systems plug into.
| Embed pattern | Your caseworker UI calls /api/v1/match the moment a JD lands. Astris returns ranked candidates with rationales; your system shows them in your existing layout. |
| Tenant scoping | Issue per-org or per-employer API keys. Astris enforces that calls only touch records inside that tenant — no surface area for data leakage between customers. |
| Webhook subscriptions | Subscribe to match.created, parse.completed, rating.submitted. Payloads are HMAC-signed. Lets your system stay in sync without polling. |
| Sandbox keys | ahr_test_… keys hit the same endpoints with no rate limits but optionally pull from a synthetic-data tenant. Use them in CI without polluting prod. |
| OpenAPI spec | Available on request. Generated from the route schemas; the published version always matches the deployed API. |
cURL — copy and run
# Parse a resume (PDF, DOCX, or plain text)
curl -X POST https://www.astrishr.com/api/v1/parse/resume \
-H "Authorization: Bearer ahr_live_xxx" \
-F "file=@resume.pdf"
# Score a candidate against a job
curl -X POST https://www.astrishr.com/api/v1/match \
-H "Authorization: Bearer ahr_live_xxx" \
-H "Content-Type: application/json" \
-d '{"candidateId":"...","jobId":"..."}'
# Retention forecast for the same pair
curl -X POST https://www.astrishr.com/api/v1/retention-forecast \
-H "Authorization: Bearer ahr_live_xxx" \
-H "Content-Type: application/json" \
-d '{"candidateId":"...","jobId":"..."}'
# Infer likely skills from prior occupations
curl -X POST https://www.astrishr.com/api/v1/skills-infer \
-H "Authorization: Bearer ahr_live_xxx" \
-H "Content-Type: application/json" \
-d '{"occupations":["Forklift Operator","Warehouse Lead"]}'Get a key
Public sign-up for API keys is coming. In the meantime, contact us and tell us which caseworker system or ATS you want to integrate with — we'll issue a sandbox key the same day.
See Astris HR in your workflow
Run it against your candidate base or a sample JD. We'll set up a tenant in under a day and show you the matches your existing tools are missing.
Request a demo