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

email

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