---
title: "List contact attribute keys"
method: GET
path: "/api/v3/contact-attribute-keys"
tags: ["V3 Contact Attribute Keys"]
---

# List contact attribute keys

`GET /api/v3/contact-attribute-keys`

Returns the contact attribute keys for a workspace. Use the returned `key` values as
`targeting.filters[].root.contactAttributeKey` when targeting app surveys; `dataType` hints which
operators apply. Session cookie or x-api-key. (Applying targeting filters requires the Contacts
entitlement; this discovery endpoint does not.)

## Query parameters

- `workspaceId` string, cuid2, required
- `limit` integer
- `cursor` string

## Response `200`

Contact attribute keys retrieved successfully

- object
  - `data` ContactAttributeKeyResource[], required
    - `id` string, cuid2, required
    - `key` string, required — The attribute key used in targeting filters (e.g. `plan`, `role`).
    - `name` string, nullable, required — Human-readable display name, or null.
    - `description` string, nullable, required
    - `type` 'default' | 'custom', required — Whether this is a built-in (`default`) or workspace-defined (`custom`) attribute.
    - `dataType` 'string' | 'number' | 'date', required
  - `meta` object, required
    - `limit` integer, required
    - `nextCursor` string, nullable, required — Opaque cursor for the next page. `null` when there are no more results.

## Other responses

- `400` — Bad Request — malformed JSON, invalid query/body/params, duplicate name, or unsupported field.
- `401` — Not authenticated (no valid session or API key).
- `403` — Forbidden — no workspace access, or resource does not exist (404 not used; avoids existence leak).
- `429` — Rate limit exceeded.
- `500` — Internal Server Error.

---

[API](https://skmtc.dev/formbricks/apis/formbricks-api-v3.md) · [All operations](https://skmtc.dev/formbricks/apis/formbricks-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/formbricks/formbricks-api-v3/revisions/3c2c022e49d2/schema)
