---
title: "Get Goal Cycle Metadata"
method: GET
path: "/goals/goal-cycles/metadata"
tags: ["Goals"]
---

# Get Goal Cycle Metadata

`GET /goals/goal-cycles/metadata`

Returns the goal cycle fields metadata schema.

## Response `200`

Fields of a cycle object.

- object
  - `items` MetadataObject[]
    - `id` 'goal' | 'goalType' | 'goalCycle' | 'keyResult' — The object identifier
    - `displayName` 'The Goal Object' | 'The Goal Type Object' | 'The Goal Cycle Object' | 'The Key Result Object' — Human-readable object name
    - `fields` FieldMetadata[] — Array of field metadata for this object type
      - `id` string, required — Path-style field ID (for example `/employer/legalName`). Use this value in the `fields` and `filters` of the matching search endpoint.
      - `type` FieldDataType, required — Data-type wrapper for a field, per the metadata guideline.
        - `dataType` string, required — Field data type. One of the basic types `text`, `date`, `short-date`, `boolean`, `number`, `time`, `currency`, or the reference types `objectReference`, `employee-reference`, `document`, `list`, `multi-list`, `hierarchy-list`.
        - `referenceId` string, nullable — Reference target. Present only when `dataType` is `objectReference` (the referenced object type) or `list` / `multi-list` / `hierarchy-list` (the referenced list ID, for example `countries`).
      - `displayName` string, nullable — Human-readable display name of the field.
      - `description` string, nullable — Field description / help text.
      - `isRequired` boolean, nullable — Whether the field must be supplied when creating the object. Reads in this API are read-only regardless of this flag.
      - `status` string, nullable — Field status — `active` or `archived`.
      - `validations` Validation[], nullable — Validation rules that apply to the field.
        - `type` string, nullable — Validation type (for example `regex`).
        - `value` string, nullable — Validation value (for example a regular-expression pattern).

## Other responses

- `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/versions/0781ebbdda91/schema)
