---
title: "Search Goal Types"
method: POST
path: "/goals/goal-types/search"
tags: ["Goals"]
---

# Search Goal Types

`POST /goals/goal-types/search`

Search for the available Goal Types using filters and pagination parameters. <br>**Note**: Pagination parameters are currently accepted but not enforced. <br><br>
**Testing notes:** <br> - Use the testing widget's **Try It!** option to test this endpoint.<br> - Use the **Examples > Request Example** option to see how to initiate body parameters.<br>

## Request body

- GoalTypeSearchRequest
  - `fields` string[], required — List of fields IDs to include in the response. Use the metadata endpoints to fetch the available fields.
  - `limit` integer — Maximum number of results to return (Note: pagination parameters are currently accepted but not enforced).
  - `cursor` string — Cursor for pagination (Note: pagination parameters are currently accepted but not enforced).

## Response `200`

Goal type object fields.

- SearchResponseGoalsType
  - `items` GoalTypeObject[] — Array of Goal Type items
    - `objectType` 'goalType' — The type of the object
    - `fields` object — Goal Type fields
      - `id` object — The backend id of the goal type. Use this ID for the `typeId` when creating a new goal.
        - `value` integer
      - `name` object — The display name of the goal type
        - `value` string
      - `category` object — The goal type category can be any of: `Company`, `Custom` (linked to a list in Bob) or `Individual`.
        - `value` 'Company' | 'Custom' | 'Individual'
      - `order` object — The `order` field governs goal alignment. Company goals are alwyas order:0 and Individual goals always have the highest order. A goal can only be aligned with another goal goal from a lower order.
        - `value` number
      - `hierarchyLevel` object — The hierarchy level is relevant only for Custom goal types that are associated with a list in Bob which is a hierarchial list. Ir determines the hierarchy level within the list that this goal type is associated with.
        - `value` number
  - `responseMetadata` object — Metadata about the search response
    - `totalCount` integer — Total number of items available
    - `pageSize` integer — Number of items requested per page
  - `nextCursor` string, nullable — Cursor for next page (null if no more pages)
  - `errors` object, nullable — Error information if any

## Other responses

- `400` — Bad request with structured error response
- `429` — Rate limit exceeded
- `500` — Internal server error

---

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