API Documentation

Complete reference for integrating with our healthcare staffing ATS

Quick Start

Base URL

https://api.yourATS.com/v1

Authentication

All API requests require a Bearer token in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Rate Limits

• 1,000 requests per hour per API key
• 100 requests per minute per API key

API Endpoints

GET
/v1/jobs
Requires Auth

List all jobs for your agency

Query Parameters

status
string
Filter by job status (Open, On Hold, Closed)
limit
number
Number of results (default: 50)
offset
number
Pagination offset

Response Example

{
  "jobs": [
    {
      "id": "job_abc123",
      "title": "Travel RN - ICU",
      "facility": {
        "id": "fac_xyz789",
        "name": "General Hospital"
      },
      "discipline": "RN",
      "specialty": "ICU",
      "status": "Open",
      "startDate": "2025-02-01",
      "payRate": 50.00,
      "billRate": 75.00,
      "createdAt": "2025-01-15T10:30:00Z"
    }
  ],
  "total": 42,
  "limit": 50,
  "offset": 0
}

Code Examples

curl -X GET https://api.yourATS.com/v1/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
POST
/v1/jobs
Requires Auth

Create a new job posting

Request Body

{
  "title": "Travel RN - ICU",
  "facilityId": "fac_xyz789",
  "discipline": "RN",
  "specialty": "ICU",
  "startDate": "2025-02-01",
  "endDate": "2025-05-01",
  "payRate": 50.00,
  "billRate": 75.00,
  "hoursPerWeek": 40,
  "status": "Open"
}

Response Example

{
  "id": "job_abc123",
  "title": "Travel RN - ICU",
  "status": "Open",
  "createdAt": "2025-01-15T10:30:00Z"
}

Code Examples

curl -X POST https://api.yourATS.com/v1/jobs \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Travel RN - ICU",
  "facilityId": "fac_xyz789",
  "discipline": "RN",
  "specialty": "ICU",
  "startDate": "2025-02-01",
  "endDate": "2025-05-01",
  "payRate": 50.00,
  "billRate": 75.00,
  "hoursPerWeek": 40,
  "status": "Open"
}'
GET
/v1/candidates
Requires Auth

List all candidates

Query Parameters

status
string
Filter by candidate status
discipline
string
Filter by discipline (RN, LPN, etc.)
limit
number
Number of results

Response Example

{
  "candidates": [
    {
      "id": "cand_def456",
      "fullName": "Jane Smith",
      "email": "jane.smith@example.com",
      "phone": "(555) 123-4567",
      "discipline": "RN",
      "status": "In Process",
      "specialties": ["ICU", "ER"],
      "createdAt": "2025-01-10T14:20:00Z"
    }
  ],
  "total": 156,
  "limit": 50,
  "offset": 0
}

Code Examples

curl -X GET https://api.yourATS.com/v1/candidates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
POST
/v1/candidates
Requires Auth

Create or update a candidate

Request Body

{
  "fullName": "Jane Smith",
  "email": "jane.smith@example.com",
  "phone": "(555) 123-4567",
  "discipline": "RN",
  "specialties": ["ICU", "ER"],
  "locationCity": "Austin",
  "locationState": "TX",
  "status": "New"
}

Response Example

{
  "id": "cand_def456",
  "fullName": "Jane Smith",
  "status": "New",
  "createdAt": "2025-01-15T11:00:00Z"
}

Code Examples

curl -X POST https://api.yourATS.com/v1/candidates \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "fullName": "Jane Smith",
  "email": "jane.smith@example.com",
  "phone": "(555) 123-4567",
  "discipline": "RN",
  "specialties": ["ICU", "ER"],
  "locationCity": "Austin",
  "locationState": "TX",
  "status": "New"
}'
GET
/v1/placements
Requires Auth

List all placements (offers + deployed status)

Query Parameters

startDate
date
Filter by start date (YYYY-MM-DD)
endDate
date
Filter by end date

Response Example

{
  "placements": [
    {
      "id": "place_ghi789",
      "candidate": {
        "id": "cand_def456",
        "fullName": "Jane Smith"
      },
      "job": {
        "id": "job_abc123",
        "title": "Travel RN - ICU"
      },
      "startDate": "2025-02-01",
      "endDate": "2025-05-01",
      "payRate": 50.00,
      "billRate": 75.00,
      "status": "Deployed"
    }
  ],
  "total": 28
}

Code Examples

curl -X GET https://api.yourATS.com/v1/placements \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Webhooks

Real-time Event Notifications

Configure webhooks to receive real-time notifications when events occur in your account.

Available Events:

  • candidate.created
  • candidate.updated
  • candidate.status_changed
  • job.created
  • job.updated
  • placement.created
  • offer.sent

Configure webhook endpoints in your agency settings dashboard.

Need Help?

Our support team is here to help you integrate successfully