---
title: "List child keys of a parent key"
method: GET
path: "/projects/{project_id}/keys/{id}/key_links"
tags: ["Linked Keys"]
---

# List child keys of a parent key

`GET /projects/{project_id}/keys/{id}/key_links`

Returns the key link record for a parent key, including all child keys associated with it. Key linking lets translation keys share translations — a child key inherits content from its designated parent. Use this endpoint to inspect which keys are linked under a given parent before unlinking them or auditing translation consistency across related keys.

The key identified by `id` must be designated as a parent key (it must have at least one child key linked to it). Listing the links of a key that is not a parent returns 400.

## Path parameters

- `project_id` string, required
- `id` string, required

## Headers

- `X-PhraseApp-OTP` string

## Response `200`

OK

- KeyLink
  - `created_at` string, date-time — The timestamp when the link was created.
  - `updated_at` string, date-time — The timestamp when the link was last updated.
  - `created_by` UserPreview
    - `id` string
    - `username` string
    - `name` string
    - `gravatar_uid` string
  - `updated_by` UserPreview
    - `id` string
    - `username` string
    - `name` string
    - `gravatar_uid` string
  - `account` Account
    - `id` string
    - `name` string
    - `slug` string
    - `company` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `company_logo_url` string
  - `parent` KeyPreview
    - `id` string
    - `name` string
    - `plural` boolean
    - `use_ordinal_rules` boolean
  - `children` KeyPreview[] — The child translation keys linked to the parent.
    - `id` string
    - `name` string
    - `plural` boolean
    - `use_ordinal_rules` boolean

## Other responses

- `400` — Bad request. The request could not be parsed or a parameter failed validation. Verify the request body, the content type, and the parameter types, then retry.
- `401` — Unauthorized. Authentication failed because the access token is missing, expired, or invalid. Supply a valid access token and retry.
- `403` — Forbidden. The credentials are valid but not permitted for this request: the access token may lack the required scope, the user may lack permission on the resource, or the account plan may not include the feature. Use a token with the required scope on an account and user that hold the necessary permissions.
- `404` — Not found. The requested resource does not exist or is not visible to the authenticated user. Verify the identifiers in the request path and that the token has access to them, then retry.
- `429` — Too many requests. The rate limit has been exceeded. Wait until the time indicated by the `X-Rate-Limit-Reset` response header before retrying.

---

[API](https://skmtc.net/phrase/apis/control-hub-service.md) · [All operations](https://skmtc.net/phrase/apis/control-hub-service/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/phrase/control-hub-service/revisions/98ecac7ba2bf/schema)
