---
title: "Search applications"
method: POST
path: "/hiring/applications/search"
tags: ["Applications"]
---

# Search applications

`POST /hiring/applications/search`

Searches applications using filters and returns paginated results.

<ul>
  <li>Use the <code>fields</code> parameter to specify which fields to return</li>
  <li>Use the <code>filters</code> parameter to narrow down results</li>
  <li>Use cursor-based pagination with <code>limit</code> and <code>cursor</code></li>
</ul>

<p><b>Testing notes</b>:</p>
<ul>
  <li>Use the testing widget's <b>Try It!</b> option to test this endpoint.</li>
  <li>Use the <b>Examples > Request Example</b> option to see how to initiate body parameters.</li>
</ul>

## Request body

- ApplicationSearchRequest
  - `fields` string[], required — Required list of field IDs to include in the response (1–50 fields). The property must be provided; if omitted or not provided, the API returns an error. You must explicitly choose which fields to fetch. For all available field IDs, see the <code>fields</code> object defined on each item in the 200 response schema.
  - `filters` object[]
    - `fieldId` '/application/id' | '/application/candidateId' | '/application/jobOpeningId' | '/application/status' | '/application/stageId' | '/application/createdAt' | '/application/modificationDate', required — Field ID to filter by
    - `operator` 'equals' | 'notEqual' | 'greaterThan' | 'lessThan', required — Filter operator. Use 'equals'/'notEqual' for exact matching. Use 'greaterThan'/'lessThan' for date range filtering (e.g. modificationDate, createdAt).
    - `values` union[], required
      - union
        - string
        - number
  - `limit` integer
  - `cursor` string
  - `includeArchived` boolean

## Response `200`

Successfully retrieved applications

- ApplicationSearchResponse
  - `items` ApplicationSearchResponseObject[], required — Array of application objects
    - `/application/id` integer — Unique identifier for the application
    - `/application/status` 'in_progress' | 'withdrawn' | 'rejected' | 'pending_rejection' | 'pending_hire' | 'hired' — Current status of the application. Possible values:<br /> <ul> <li><code>in_progress</code> – In Progress</li> <li><code>withdrawn</code> – Withdrawn</li> <li><code>rejected</code> – Rejected</li> <li><code>pending_rejection</code> – Pending rejection</li> <li><code>pending_hire</code> – Pending hire</li> <li><code>hired</code> – Hired</li> </ul>
    - `/application/candidateId` number — ID of the associated candidate.<br /><br />To fetch the candidate, use <a href="https://apidocs.hibob.com/reference/post_hiring-candidates-search" target="_blank">Search candidates ↗</a>. ID of the associated candidate.<br /><br />To fetch the candidate, use <a href="https://apidocs.hibob.com/reference/post_hiring-candidates-search" target="_blank">Search candidates ↗</a>.
    - `/application/jobOpeningId` number — ID of the associated job opening.<br /><br />To fetch the job opening, use <a href="https://apidocs.hibob.com/reference/post_hiring-job-openings-search" target="_blank">Search job openings ↗</a>. ID of the associated job opening.<br /><br />To fetch the job opening, use <a href="https://apidocs.hibob.com/reference/post_hiring-job-openings-search" target="_blank">Search job openings ↗</a>.
    - `/application/stageId` number — Pipeline stage ID
    - `/application/sourcedBy` string — Identifier of who sourced the application (depends on <code>sourceType</code>; may be an employee ID for internal sourcing).<br /><br />When the value is an employee ID, use <a href="https://apidocs.hibob.com/reference/post_people-identifier" target="_blank">Read company employee fields by employee ID ↗</a>.
    - `/application/sourceInstanceId` number — Source instance ID
    - `/application/sourceType` 'api' | 'api_internal' | 'free_job_board' | 'paid_job_board' | 'my_contracts_job_board' | 'referral' | 'agency' | 'agency_archived' | 'manual_upload' | 'custom_campaign' | 'custom_job_board' | 'custom_social' | 'referral_import' | 'referral_internal' | 'copied_from_job_opening' | 'sourced_by' | 'candidate_database' | 'opn_network' — Sourcing channel type. Possible values:<br /> <ul> <li><code>api</code> – External Career page</li> <li><code>api_internal</code> – Internal Career page</li> <li><code>free_job_board</code> – Free job board</li> <li><code>paid_job_board</code> – Paid job board</li> <li><code>my_contracts_job_board</code> – My contracts job board</li> <li><code>referral</code> – Referral</li> <li><code>agency</code> – Agency</li> <li><code>agency_archived</code> – Agency (legacy)</li> <li><code>manual_upload</code> – Manual upload</li> <li><code>custom_campaign</code> – Custom Campaign</li> <li><code>custom_job_board</code> – Custom Job Board</li> <li><code>custom_social</code> – Social media</li> <li><code>referral_import</code> – Referral (import)</li> <li><code>referral_internal</code> – Referral internal</li> <li><code>copied_from_job_opening</code> – Copied from job opening</li> <li><code>sourced_by</code> – Sourced by</li> <li><code>candidate_database</code> – Candidate database</li> <li><code>opn_network</code> – OPN Network</li> </ul>
    - `/application/sourceInternalId` string — Internal source identifier
    - `/application/sourcedByNameResolved` string — Resolved display name of the person who sourced the application. When <code>sourcedBy</code> is an employee ID, use <a href="https://apidocs.hibob.com/reference/post_people-identifier" target="_blank">Read company employee fields by employee ID ↗</a> for full employee data.
    - `/application/source` string — Source of the application
    - `/application/dateApplied` string, date — Date when the candidate applied
    - `/application/createdAt` string, date-time — Timestamp when the application was created
    - `/application/lastActivityTimestamp` string, date-time — Timestamp of the last activity on this application
    - `/application/initialConsentDueDate` string, date-time — Due date for initial consent
    - `/application/timeToHire` number — Number of days from application to hire
    - `/application/referredBy` string — Employee ID of the person who referred the candidate.<br /><br />To read this employee, use <a href="https://apidocs.hibob.com/reference/post_people-identifier" target="_blank">Read company employee fields by employee ID ↗</a>.
    - `/application/evaluationScore` number — Average evaluation score
    - `/application/evaluationRecommendation` 'pending' | 'undetermined' | 'no' | 'yes' | 'strong_yes' — Overall evaluation recommendation. Possible values:<br /> <ul> <li><code>pending</code> – Pending</li> <li><code>undetermined</code> – Undetermined</li> <li><code>no</code> – No</li> <li><code>yes</code> – Yes</li> <li><code>strong_yes</code> – Strong yes</li> </ul>
    - `/application/evaluationCount` integer — Number of evaluations submitted
    - `/application/evaluations` object[] — Aggregated evaluation summaries per pipeline stage.
      - `stageId` integer — Pipeline stage ID
      - `yesCount` integer — Number of "yes" recommendations
      - `noCount` integer — Number of "no" recommendations
      - `strongYesCount` integer — Number of "strong yes" recommendations
      - `pendingCount` integer — Number of pending evaluations
      - `recommendation` 'yes' | 'no' | 'strong_yes' | 'pending' — Overall recommendation for this stage, computed from individual counts.
    - `/application/jobAdId` number — ID of the job ad the candidate applied through.<br /><br />To fetch the job ad, use <a href="https://apidocs.hibob.com/reference/get_hiring-job-ads-id" target="_blank">Get the details of a single job ad ↗</a>.
    - `/application/agencyId` number — Agency ID (if sourced through an agency)
    - `/application/agencyReferenceId` string — Candidate reference ID provided by the agency
    - `/application/agencyNote` string — Note from the agency
    - `/application/agencyContactFirstName` string — Agency contact first name
    - `/application/agencyContactLastName` string — Agency contact last name
    - `/application/agencyContactEmail` string — Agency contact email
    - `/application/desiredSalary` object — Desired salary with value and currency.
      - `value` number — Desired salary amount (e.g. 80000)
      - `currency` string — ISO 4217 currency code (e.g. "USD", "EUR", "GBP")
    - `/application/education` object[] — Education records associated with this application. Each item uses candidate education field IDs as keys.
      - `/candidateEducation/school` string — School or institution name
      - `/candidateEducation/fieldOfStudy` string — Field of study or major
      - `/candidateEducation/degree` string — Degree type (e.g. "B.Sc", "M.A.", "Ph.D.")
      - `/candidateEducation/startDate` string, date — Start date (YYYY-MM-DD)
      - `/candidateEducation/startDateDay` integer — Day component of the start date
      - `/candidateEducation/startDateMonth` integer — Month component of the start date
      - `/candidateEducation/startDateYear` integer — Year component of the start date
      - `/candidateEducation/endDate` string, date — End date (YYYY-MM-DD)
      - `/candidateEducation/endDateDay` integer — Day component of the end date
      - `/candidateEducation/endDateMonth` integer — Month component of the end date
      - `/candidateEducation/endDateYear` integer — Year component of the end date
    - `/application/experience` object[] — Work experience records associated with this application. Each item uses candidate experience field IDs as keys.
      - `/candidateExperience/title` string — Job title
      - `/candidateExperience/company` string — Company name
      - `/candidateExperience/industry` string — Industry
      - `/candidateExperience/summary` string — Role description or summary
      - `/candidateExperience/startDate` string, date — Start date (YYYY-MM-DD)
      - `/candidateExperience/startDateDay` integer — Day component of the start date
      - `/candidateExperience/startDateMonth` integer — Month component of the start date
      - `/candidateExperience/startDateYear` integer — Year component of the start date
      - `/candidateExperience/endDate` string, date — End date (YYYY-MM-DD)
      - `/candidateExperience/endDateDay` integer — Day component of the end date
      - `/candidateExperience/endDateMonth` integer — Month component of the end date
      - `/candidateExperience/endDateYear` integer — Year component of the end date
      - `/candidateExperience/isCurrent` boolean — Whether this is the current position
      - `/candidateExperience/durationDays` integer — Duration in days (calculated from start/end dates)
    - `/application/volunteerExperience` object[] — Volunteer experience records. Each item uses candidate volunteer experience field IDs as keys.
      - `/candidateVolunteerExperience/organization` string — Organization name
      - `/candidateVolunteerExperience/startDate` string, date — Start date (YYYY-MM-DD)
      - `/candidateVolunteerExperience/startDateDay` integer — Day component of the start date
      - `/candidateVolunteerExperience/startDateMonth` integer — Month component of the start date
      - `/candidateVolunteerExperience/startDateYear` integer — Year component of the start date
      - `/candidateVolunteerExperience/endDate` string, date — End date (YYYY-MM-DD)
      - `/candidateVolunteerExperience/endDateDay` integer — Day component of the end date
      - `/candidateVolunteerExperience/endDateMonth` integer — Month component of the end date
      - `/candidateVolunteerExperience/endDateYear` integer — Year component of the end date
    - `/application/professionalAssociationsMemberships` object[] — Professional association memberships. Each item uses candidate professional association membership field IDs as keys.
      - `/candidateProfessionalAssociationMembership/name` string — Association or membership name
      - `/candidateProfessionalAssociationMembership/startDate` string, date — Start date (YYYY-MM-DD)
      - `/candidateProfessionalAssociationMembership/startDateDay` integer — Day component of the start date
      - `/candidateProfessionalAssociationMembership/startDateMonth` integer — Month component of the start date
      - `/candidateProfessionalAssociationMembership/startDateYear` integer — Year component of the start date
    - `/application/qualificationsLicenses` object[] — Qualifications and licenses. Each item uses candidate qualifications/license field IDs as keys.
      - `/candidateQualificationsLicense/qualificationsLicensesName` string — Qualification or license name
      - `/candidateQualificationsLicense/qualificationsLicensesBody` string — Issuing body or authority
      - `/candidateQualificationsLicense/dateOfIssue` string, date — Date of issue (YYYY-MM-DD)
      - `/candidateQualificationsLicense/dateOfExpiry` string, date — Date of expiry (YYYY-MM-DD)
    - `/application/initialConsentRequestedAt` string, date-time — Timestamp when initial consent was requested
    - `/application/initialConsentConfirmed` boolean — Whether initial consent was confirmed
    - `/application/offlineConsentMessage` string — Offline consent message
    - `/application/offlineConsentGivenBy` string — Employee ID of the person who provided offline consent.<br /><br />To read this employee, use <a href="https://apidocs.hibob.com/reference/post_people-identifier" target="_blank">Read company employee fields by employee ID ↗</a>.
    - `/application/complianceConsentStatus` 'expired' | 'missing_initial_consent' | 'missing_extended_consent' | 'pending_initial_consent' | 'pending_extended_consent' | 'extended_consent_expiring' — Compliance consent status. Possible values:<br /> <ul> <li><code>expired</code> – Expired</li> <li><code>missing_initial_consent</code> – Missing initial consent</li> <li><code>missing_extended_consent</code> – Missing extended consent</li> <li><code>pending_initial_consent</code> – Pending initial consent</li> <li><code>pending_extended_consent</code> – Pending extended consent</li> <li><code>extended_consent_expiring</code> – Extended consent expiring</li> </ul>
    - `/application/lastConsentRequestDate` string, date — Date of the last consent request
    - `/application/dateAvailable` string, date — Date when the candidate is available to start
    - `/application/lastEmployment` string — Last employment details
    - `/application/automaticRejectionEmailMessageId` integer — ID of the automatic rejection email message
    - `/application/importResumeFileName` string — File name of the imported resume
    - `/application/hasOffer` boolean — Whether the application has an associated offer
    - `/application/workspaceType` 'remote' | 'hybrid' | 'on_site' — Workspace type. Possible values:<br /> <ul> <li><code>remote</code> – Remote</li> <li><code>hybrid</code> – Hybrid</li> <li><code>on_site</code> – On-site</li> </ul>
    - `/application/siteId` number — Site ID.<br /><br />To fetch sites (IDs and names), use <a href="https://apidocs.hibob.com/reference/get_company-named-lists-listname" target="_blank">Get a specific company list by name ↗</a> with path parameter <code>listName</code> set to <code>site</code> (<code>GET /v1/company/named-lists/site</code>). Site ID.<br /><br />To fetch sites (IDs and names), use <a href="https://apidocs.hibob.com/reference/get_company-named-lists-listname" target="_blank">Get a specific company list by name ↗</a> with path parameter <code>listName</code> set to <code>site</code> (<code>GET /v1/company/named-lists/site</code>).
    - `/application/interviewAlert` object — Most recent interview alert. Uses a polymorphic <code>type</code> discriminator to indicate the alert kind.
      - `type` 'candidate_scheduled' | 'candidate_rescheduled' | 'candidate_canceled' | 'recruiter_canceled' | 'no_time_slots' | 'request_more_time_slots' | 'request_to_reschedule' | 'recruiter_nudged' | 'recruiter_changed_field' | 'recruiter_updated_time_slots' | 'recruiter_created_self_scheduled_interview' — Alert type discriminator
      - `timestamp` string, date-time — When the alert was triggered
      - `isDismissed` boolean — Whether the alert has been dismissed
      - `isArchived` boolean — Whether the alert has been archived
      - `note` string — Optional note (present on rescheduled, canceled, request alerts)
      - `employeeFullName` string — Full name of the employee (present on recruiter_canceled alerts)
      - `fieldNames` string[] — Changed field names (present on recruiter_changed_field alerts)
    - `/application/referralSource` string — Referral source
    - `/application/referralNotes` string — Referral notes
    - `/application/cvSummaryDetails` object — AI-generated CV summary. Contains a short summary, highlights, quick-view data, skills match analysis, and processing status.
      - `shortSummary` string — Brief AI-generated summary of the CV
      - `status` 'ok' | 'error' — Processing status
      - `errorMessage` string — Error message if status is "error"
      - `timestamp` string, date-time — When the summary was generated
      - `highlights` object[] — Key highlights from the CV
        - `rank` 'positive' | 'neutral' | 'negative' — Highlight sentiment
        - `text` string — Highlight text
      - `quickView` object — Quick-view snapshot of the candidate
        - `currentRole` string
        - `totalExperience` string
        - `averageTenure` string
        - `industries` string
        - `location` string
        - `languages` string
        - `educationSpecialization` string
        - `remoteHybridExperience` string
        - `internationalExperience` string
        - `managerialExperience` string
        - `visaStatus` string
        - `roleSpecificInsights` object
          - `techStack` string[]
          - `domainExperience` string[]
      - `skills` object — Skills match analysis
        - `match` string[] — Skills that match the job requirements
        - `missing` string[] — Required skills not found on the CV
        - `complementary` object
          - `skills` string[] — Additional complementary skills
          - `summary` string — Summary of complementary skills
    - `/application/files` object[] — Metadata for files attached to this application (id, file name, type, size, status, etc.). This field does not include download URLs; there is no public Hiring API endpoint to download file content by file ID.
      - `id` integer — File ID
      - `applicationId` integer — Application ID
      - `fileName` string — Original file name
      - `displayName` string — Display name (if different from file name)
      - `fileType` 'resume' | 'cover_letter' | 'portfolio' | 'other' — File type category
      - `mimeType` string — MIME type (e.g. "application/pdf")
      - `bytesSize` integer — File size in bytes
      - `creationDate` string, date-time — Upload timestamp
      - `createdBy` string — Employee ID of the uploader
      - `status` 'processing' | 'processed' | 'rejected' | 'failed' — File processing status
    - `/application/candidateContacts` object[] — Contact entries for the candidate (email, phone, etc.).
      - `/contact/id` integer — Contact ID
      - `/contact/type` string — Contact type (e.g. "email", "phone")
      - `/contact/text` string — Contact value (e.g. email address or phone number)
      - `/contact/subType` string — Contact subtype (e.g. "personal", "work")
      - `/contact/isPrimary` boolean — Whether this is the primary contact
      - `/contact/candidateId` integer — Candidate ID
    - `/application/modificationDate` string, date-time — Timestamp of the last modification to this application
  - `response_metadata` object, required
    - `next_cursor` string, nullable — Cursor for next page. Null if no more results.

## Other responses

- `400` — Bad Request - Invalid parameters
- `401` — Unauthorized - Invalid or missing credentials
- `403` — Forbidden - IP not allowed or feature not enabled
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/hibob/apis/employee-data-api.md) · [All operations](https://skmtc.net/hibob/apis/employee-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/hibob/employee-data-api/revisions/0781ebbdda91/schema)
