redraftATS intelligenceOpen App →
Developer SpecREST API AvailableWebhooks Supported

Ashby ATS API Docs & Webhook Guide

Technical integration specifications, authentication methods, REST endpoints, and webhook triggers for engineering teams building recruiting integrations with Ashby.

API Integration FactsheetRaw Markdown (.md)
Public REST API
Yes — Publicly accessible endpoints
Webhook Support
Yes — Real-time event notifications
Authentication Methods
API Key
Official Documentation
https://developers.ashbyhq.com

1. Architecture & Capabilities

Ashby provides GraphQL and REST API access with real-time webhooks for candidates, applications, feedback submissions, and job offers.

When pushing parsed resume data into Ashby, ensure your pipeline respects its core parser schema: single-column layout parsing, strict date parsing (flexible dates permitted), and file constraints (25MB maximum).

2. Authentication

All requests to Ashby's API require secure authentication. Configure your HTTP client with the appropriate authorization header:

Authorization: Basic YOUR_ENCODED_KEY
Content-Type: application/json
Accept: application/json

3. Code Samples & Quickstart

cURL
# Fetch candidate applications or open vacancies
curl -X GET "https://api.ashby.io/v1/candidates" \
  -H "Authorization: Basic YOUR_ENCODED_KEY" \
  -H "Accept: application/json"
Python (httpx)
import httpx

headers = {
    "Authorization": "Basic YOUR_ENCODED_KEY",
    "Accept": "application/json",
}

response = httpx.get("https://api.ashby.io/v1/candidates", headers=headers)
candidates = response.json()
print(f"Loaded {len(candidates)} candidates from Ashby")
TypeScript / Node.js
interface Candidate {
  id: string;
  first_name: string;
  last_name: string;
  email: string;
}

async function listCandidates(): Promise<Candidate[]> {
  const res = await fetch("https://api.ashby.io/v1/candidates", {
    headers: {
      "Authorization": "Basic YOUR_ENCODED_KEY",
      "Accept": "application/json",
    },
  });

  if (!res.ok) throw new Error(`Failed to fetch from Ashby: ${res.statusText}`);
  return res.json();
}

4. Webhook Event Notifications

Ashby supports sending outbound HTTP POST webhooks to your server when recruiting events occur:

  • candidate.created — Fired when a resume is submitted and parsed.
  • application.updated — Triggered when scorecards or stages advance.
  • job.published — Notifies job board syndication networks.

Diagnose Candidate Resumes for Ashby

Test candidate PDFs directly against Ashby's parser specifications and geometry rules.