OPEN API – ATS Job Posting Integration Guide
Authentication
All requests to the hopstep API must include an API key.
Authorization: Bearer {API_KEY}
Content-Type: application/json
1. Integration Overview
The typical workflow is:
- Client creates a job inside their ATS
- ATS sends the job data to hopstep
- The job appears on hopstep
- Candidates view the job on hopstep
- Candidates click Apply
- The candidate is redirected back to the ATS application form
This means the ATS maintains full control of the application workflow.
2. Authentication
All requests to the hopstep API must include an API key.
Headers
Authorization: Bearer {API_KEY}
Content-Type: application/json
API keys are provided by the hopstep integrations team.
3. Provider & Facility IDs
Each organisation using hopstep has a Provider ID.
Each job location is represented by a Facility ID.
These IDs must be included when creating job listings.
Example
providerId: f9dda16b-4d42-4b63-9455-3ffd49ac8738
facilityId: cbb456a2-787c-4f54-a8d6-96361736ce74
A provider may have multiple facilities.
Facility IDs are issued by hopstep during onboarding.
4. Job Categories (Required)
Before publishing jobs, hopstep must provide the ATS with the list of supported job categories.
These categories must be mapped in the ATS system.
Example Categories
Registered Nurse
Enrolled Nurse
Personal Care Worker
Aged Care Assistant
Support Worker
Disability Support Worker
Cleaner
Kitchen / Catering
Administration
Allied Health
The ATS should send the category name or category ID with each job.
If categories are not mapped correctly, jobs may not appear in the correct section on hopstep.
The hopstep team will provide the official category list during integration setup.
5. Create Job Endpoint
Endpoint
POST /api/jobs
Example Request
{
“title”: “Aged Care Assistant”,
“description”: “We are seeking an experienced Aged Care Support Worker to provide compassionate care to our elderly residents.”,
“providerId”: “f9dda16b-4d42-4b63-9455-3ffd49ac8738”,
“facilityId”: “cbb456a2-787c-4f54-a8d6-96361736ce74”,
“category”: “Aged Care Assistant”,
“workTypes”: [
“FULL_TIME”
],
“salaryMin”: 30,
“salaryMax”: 35,
“salaryType”: “HOURLY”,
“location”: {
“suburb”: “Richmond”,
“state”: “VIC”,
“postcode”: “3121”
},
“applyUrl”: “https://clientats.com/jobs/123/apply”
}
6. Update Job
PUT /api/jobs/{jobId}
Used to update an existing job.
Example:
{
“salaryMax”: 37,
“status”: “ACTIVE”
}
7. Delete / Expire Job
Endpoint
DELETE /api/jobs/{jobId}
Removes the job from hopstep.
8. Work Types
Supported values:
FULL_TIME
PART_TIME
CASUAL
CONTRACT
VOLUNTEER
9. Job Status
ACTIVE
PENDING
EXPIRED
CLOSED
10. Application Flow
When a candidate clicks Apply, they are redirected to the ATS application page.
Example:
applyUrl: https://ats-provider.com/jobs/123/apply
This ensures:
• applications remain inside the ATS
• no duplicate candidate records
• the client keeps their existing workflow
11. Integration Steps
1. ATS contacts hopstep
2. hopstep provides:
o API Key
o Provider ID
o Facility IDs
o Category list
3. ATS maps hopstep categories
4. ATS sends test job
5. hopstep validates job display
6. Integration goes live
12. Support
hopstep integrations team.
📧 andy@hopstep.com
🌐 https://hopstep.com
