---
title: "Read company job profiles"
method: POST
path: "/job-catalog/job-profiles/search"
tags: ["Job catalog"]
---

# Read company job profiles

`POST /job-catalog/job-profiles/search`

This endpoint returns a list of company job profiles filtered by the specified attributes. Note that this endpoint requires body parameters, which is why it is implemented as a POST request.  <br /><br />
 To successfully use this endpoint, a filter is mandatory. Ensure you use the filter provided in the **Example > Request example** option; otherwise, the call will fail.        <br /><br />
**<b>Required permissions</b>** <br /> The service user making the call must have the required permissions: see <a href="/reference/job-catalog#permissions-required" target="_blank">Permissions required</a>. <br /><br /> **<b>Pagination</b>** <br /> This endpoint uses cursor-based pagination to handle large number of table entries. To learn more, see <a href="https://apidocs.hibob.com/docs/pagination" target="_blank">Pagination in Bob's API</a>

## Request body

- GetJobProfilesRequest
  - `fields` union[], required — List of field IDs to include in the response. Available standard fields are listed in the response schema. Custom fields follow the pattern /jobProfile/field_<number>. The array can contain 1 to 50 field IDs. To find out the field ID of a custom field, use the <a href="https://apidocs.hibob.com/reference/get_job-catalog-job-profiles-metadata" target="_blank">Get all job profiles fields</a> metadata endpoint.
    - union
      - '/jobProfile/id' | '/jobProfile/jobLevelRoleId' | '/jobProfile/jobRoleId' | '/jobProfile/jobFamilyId' | '/jobProfile/jobFamilyGroupId' | '/jobProfile/code' | '/jobProfile/title' | '/jobProfile/status' | '/jobProfile/description' | '/jobProfile/assignedEmployees'
      - string — Custom field ID (e.g., /jobProfile/field_591)
  - `filters` JobProfilesFilterInstruction[], required — An array of filtering conditions.
    - `fieldId` '/jobProfile/id' | '/jobProfile/status' | '/jobProfile/jobFamilyGroupId' | '/jobProfile/jobFamilyId' | '/jobProfile/jobRoleId', required — Field ID to filter by. Supported fields: /jobProfile/id, /jobProfile/status, /jobProfile/jobFamilyGroupId, /jobProfile/jobFamilyId, /jobProfile/jobRoleId. Any other path will get a response of 400 HTTP error.
    - `operator` 'equals' | 'notEqual', required — Supported operators: equals, notEqual. Any other operator will get a response of 400 HTTP error.
    - `values` string[], required — List of values to compare. Empty list will result in 400 HTTP error.
  - `pagination` object — Optional pagination parameters.
    - `limit` integer — The number of results per page. Defaults to 100 if not supplied.
    - `cursor` string — A marker representing the first item on the next page to read. Should not be provided in the first call. To learn more, see <a href="https://apidocs.hibob.com/docs/pagination" target="_blank">Pagination in Bob's API</a>.
  - `includeHumanReadable` boolean — Whether to include the additional "humanReadable" entry in the response.

## Response `200`

The job profiles returned in the response body.

- JobProfilesResponse
  - `JobProfileEntries` JobProfileEntries[]
    - object[]
      - `/jobProfile/id` object — The id of the job profile.
        - `humanReadable` string
        - `value` number
      - `/jobProfile/jobLevelRoleId` object — The id of the job level for the job profile.
        - `humanReadable` string
        - `value` number
      - `/jobProfile/jobRoleId` object — The id of the job role for the job profile.
        - `humanReadable` string
        - `value` number
      - `/jobProfile/jobFamilyId` object — The id of the job family for the job profile.
        - `humanReadable` string
        - `value` number
      - `/jobProfile/jobFamilyGroupId` object — The id of the job family group for the job profile.
        - `humanReadable` string
        - `value` number
      - `/jobProfile/code` object — The unique code of the job profile.
        - `humanReadable` string
        - `value` string
      - `/jobProfile/title` object — The name of the job profile.
        - `humanReadable` string
        - `value` string
      - `/jobProfile/status` object — The status of the job profile. Possible values and their human-readable values: "active" ("Active"), "draft" ("Draft"), "inactive" ("Inactive").
        - `humanReadable` string
        - `value` string
      - `/jobProfile/description` object — The description of the job profile.
        - `humanReadable` string
        - `value` string
      - `/jobProfile/assignedEmployees` object — The employees assigned to the job profile.
        - `humanReadable` string[]
        - `value` string[]
  - `response_metadata` object
    - `next_cursor` string — Cursor for the next call, or null if there are no more results.

## Other responses

- `400` — Bad request. The request contains incorrect parameters or syntax errors. Please review the request body.
- `401` — Unauthorized
- `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)
