---
title: "Search candidate educations"
method: POST
path: "/hiring/candidate-educations/search"
tags: ["Candidates"]
---

# Search candidate educations

`POST /hiring/candidate-educations/search`

## Request

- Base URL: `https://api.hibob.com/v1`
- URL: `https://api.hibob.com/v1/hiring/candidate-educations/search`
- Auth: HTTP basic

Searches candidate education records 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

- CandidateEducationSearchRequest
  - `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` '/candidateEducation/id' | '/candidateEducation/candidateId' | '/candidateEducation/applicationId', 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.
    - `values` union[], required
      - union
        - string
        - number
  - `limit` integer
  - `cursor` string
  - `includeArchived` boolean

## Response `200`

Successfully retrieved candidate education records

- CandidateEducationSearchResponse
  - `items` CandidateEducationSearchResponseObject[], required: Array of candidate education objects
    - `/candidateEducation/id` integer: Unique identifier
    - `/candidateEducation/school` string: School or university name
    - `/candidateEducation/fieldOfStudy` string: Field of study
    - `/candidateEducation/degree` string: Degree obtained
    - `/candidateEducation/startDate` string, date: Start date
    - `/candidateEducation/startDateDay` integer: Start date - day component
    - `/candidateEducation/startDateMonth` integer: Start date - month component
    - `/candidateEducation/startDateYear` integer: Start date - year component
    - `/candidateEducation/endDate` string, date: End date
    - `/candidateEducation/endDateDay` integer: End date - day component
    - `/candidateEducation/endDateMonth` integer: End date - month component
    - `/candidateEducation/endDateYear` integer: End date - year component
    - `/candidateEducation/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>.
    - `/candidateEducation/applicationId` number: ID of the associated application.<br /><br />To fetch the application, use <a href="https://apidocs.hibob.com/reference/post_hiring-applications-search" target="_blank">Search applications ↗</a>.
  - `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.dev/hibob/apis/bob-hiring-api.md) - [All operations](https://skmtc.dev/hibob/apis/bob-hiring-api/llms.txt) - [OpenAPI document](https://skmtc.dev/hibob/apis/bob-hiring-api/revisions/c758e371fc83?raw)
