API DOCUMENTATION
AI JOBS REST API v1
AUTHENTICATION
Most endpoints require an API key. Include it in the Authorization header:
Authorization: Bearer YOUR_API_KEY
Get your API key from Settings > API
JOBS
GET
/api/v1/jobs
Public
List all published jobs with pagination and filtering.
PARAMETERS
page- Page number (default: 1)per_page- Items per page (default: 20, max: 100)remote- Filter by remote_typetype- Filter by employment_typelevel- Filter by experience_levelsalary_min- Minimum salary filtersalary_max- Maximum salary filterq- Search query (searches title and description)
GET
/api/v1/jobs/:id
Public
Get a single job by ID or slug.
POST
/api/v1/jobs
Requires: jobs:write
Create a new job posting.
BODY PARAMETERS
title- Job title (required)description- Full description (required, min 100 chars)salary_min,salary_max- Salary range (required)salary_currency- USD, EUR, GBP, CAD, AUD (required)salary_period- hourly, daily, weekly, monthly, yearlyemployment_type- full_time, part_time, contract, freelance, internshipexperience_level- entry, mid, senior, lead, executiveremote_type- on_site, hybrid, remote, remote_anywherelocation- Location (required unless fully remote)
PATCH
/api/v1/jobs/:id
Requires: jobs:write
Update a job posting (must be owner).
APPLICATIONS
POST
/api/v1/applications
Requires: applications:write
Submit a job application.
POST
/api/v1/apply
AI-friendly endpoint
Bulk apply endpoint optimized for AI agents.
SEARCH
GET
/api/v1/search/jobs
Advanced job search with filters.
GET
/api/v1/search/candidates
Requires: candidates:read
Search for candidates (recruiters only).
USERS & COMPANIES
GET
/api/v1/users
List users/candidates.
GET
/api/v1/companies
List companies.
RESPONSE FORMAT
{
"jobs": [...],
"meta": {
"current_page": 1,
"total_pages": 10,
"total_count": 195,
"per_page": 20
}
}
ERROR RESPONSES
401
Invalid or missing API key
403
API key does not have required scope
404
Resource not found
422
Validation errors
429
Rate limit exceeded (1000 req/hour)