Using the API
We currently support one endpoint that provides Job Application Data.
GET /v1/job-applications
Filtering via Query Parameters
job_application_status (string, optional) – filters by pipeline stage (Application Extended, Offer Accepted, etc.)
This field is a set of custom statuses defined by each customer
The value needs to be a step in an Active Pipeline Template
The value is case insensitive
When included, only Statuses of that value are returned.
When omitted, all Statuses within the timeframe are returned.
Use Case Examples
Viewing data on job applications in the “Hired” Status
Viewing only job applications that have “Offer Rejected”
job_application_status_bucket (string, optional) – filters by pipeline status bucket (Applied, Offered, Hired etc.)
This represents the group of statues steps used by your organization
The value needs to correspond to a Bucket in the pipelines you use for jobs
The value is case insensitive (i.e. “HIRED” and “hired” are treated the same)
When included, all of the statuses with the corresponding “statusBucketName” are included in the response.
Use Case Examples
Viewing all job applications that have been in the “Offered” Status bucket
This Flo Recruit article can help with more concepts around Pipeline Building: https://help.florecruit.com/en/articles/6552344-ats-creating-and-editing-pipeline-templates
job_application_status_start (datetime with timezone, optional) – Returns job applications that had at least one status change within the specified date range. The jobApplicationStatuses array shows only status changes within that range.
Note: jobApplicationLastStatusUpdate always shows the candidate's most recent status timestamp, which may be outside your query range.
Default value is 30 days in the past
Not including a time, will default the start time to midnight of the date provided
job_application_status_end (datetime with timezone, optional) – filter candidates by last status update.
Not including a time will set the date to midnight of the date provided
Note on Timezones:
We store DateTime data in the UTC timezone
For the parameters above, you have the following options:
If you include your local timezone, we will parse that and convert to UTC time.
If you include a DateTime with no timezone, we will assume it is UTC time.
If you include a Date with no time, we will default to midnight UTC of that date.
Using these query parameters if you wanted all job applications that were in a “Hired” status in October of 2025, you would request like this:
Response Data Schema
Candidate Fields
firstName
string
Candidate’s first name
lastName
string
Candidate’s last name
string | null
If the user is not created with an email, value will be null
phone
string | null
Candidate phone number
candidateId
UUID string
Unique ID per candidate
Job / Job Application Fields
applicationId
UUID string
Unique ID per job application
jobTitle
string
Title of the job
jobId
UUID string
Unique ID per job
department
string
Department from job record
officeLocation
string
Office location from job record
employmentType
string
Employment type (Full-time, Intern, etc.)
hiringType
string
Hiring type (Lateral, Student Hiring, etc.)
jobApplicationLastStatusUpdate
datetime
Timestamp of the latest job application status change – note that this can be later than your filtered end time
position
string
Job position type
requisitionId
string | null
Job requisition id
startDate
datetime | null
Offer Details Start Date
salary
int | null
Offer Details Salary
addressLine1
string
Candidate address per job app
addressLine2
string
Candidate address per job app
city
string
Candidate address per job app
state
string
Candidate address per job app
zip
string
Candidate address per job app
jobApplicationStatuses
See Below (List of JSON)
List of job application status changes
Job Application Status Fields
statusName
string
Name of status
statusBucketName
string
Name of status bucket
statusUpdatedAt
datetime
Time the job application entered the status
JSON Format:
Filtering Examples with Sample Data
If you would like to get the Job Applications that were moved to the “Hired” Status on October 6th, 2025 – you would structure your request like this:
The result would be the following. For simplicity, assume there is only one result in the response.
The same request with a Status of “Interviewing”
Would return
Because there is no Status Update for “Interviewing” within that time frame.
Filtering by the Status Bucket
Would return only the statuses in that bucket
Last updated

