---
title: "List chart fields"
method: GET
path: "/api/v3/charts/fields"
tags: ["V3 Charts"]
---

# List chart fields

`GET /api/v3/charts/fields`

## Request

- Base URL: `https://app.formbricks.com`
- URL: `https://app.formbricks.com/api/v3/charts/fields`
- Auth: one of:
  - API key in cookie `next-auth.session-token`
  - API key in header `x-api-key`
  - HTTP bearer

Returns the field catalog for a Feedback Dataset: every field a chart query may use, with its
kind, type, label, description, filter operators and granularities, plus the date presets.
Write chart queries against this list — the chart query validator refuses any field that is not
in it, so the catalog cannot drift from what the API accepts.

Needs read access to the workspace and to the Feedback Dataset. Session cookie, `x-api-key`, or
a Bearer token.

## Query parameters

- `workspaceId` string, cuid2, required
- `datasetId` string, cuid2, required

## Response `200`

Field catalog

- object
  - `data` ChartFieldCatalog, required: The field catalog: the fields a chart query may use, and the named date ranges it may use on `FeedbackRecords.collectedAt` and other time dimensions. The chart query validator checks against this same list, so the catalog is the contract.
    - `fields` ChartField[], required
      - `name` string, required
      - `kind` 'measure' | 'dimension' | 'timeDimension', required: Where the field may appear: a `measure` in `measures`, a `dimension` in `dimensions`, a `timeDimension` in `timeDimensions` (or `dimensions`). Any kind may be filtered.
      - `type` 'number' | 'string' | 'time' | 'boolean', required
      - `label` string, required
      - `description` string, nullable, required
      - `filterOperators` string[], required: The operators a filter on this field may use.
      - `granularities` string[], required: The granularities a time dimension may be grouped by; empty for other kinds.
      - `valueLookup` boolean, required: Whether `GET /api/v3/charts/fields/{field}/values` lists this field's stored values, for filters that need an exact value.
    - `datePresets` string[], required: Named date ranges, resolved in the organization's display time zone. `all-time` means no range at all. A date range may also be a pair of ISO calendar dates.

## 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. `code: forbidden` when the caller has no access to the workspace, the Feedback Dataset or the resource (which may also not exist; 404 is not used, to avoid leaking existence). `code: dashboards_plan_required` when the caller is authorized but the organization does not have the Dashboards add-on or a license that includes it — checked after authorization, so a caller without access never learns the organization's plan.
- `429`: Rate limit exceeded.
- `500`: Internal Server Error.

## Changes

- **2026-10-28** `84820a01e550`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/formbricks/apis/formbricks-api-v3/changes/api/v3/charts/fields/get.md)

---

[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.dev/formbricks/apis/formbricks-api-v3/revisions/25335c959a13?raw)
