---
title: "List surveys"
method: GET
path: "/api/v3/surveys"
tags: ["V3 Surveys"]
---

# List surveys

`GET /api/v3/surveys`

Returns surveys for the workspace. Session cookie or x-api-key.

## Query parameters

- `workspaceId` string, cuid2, required
- `limit` integer
- `cursor` string
- `filter[name][contains]` string
- `filter[status][in]` string[]
- `filter[type][in]` string[]
- `sortBy` 'createdAt' | 'updatedAt' | 'name' | 'relevance'

## Response `200`

Surveys retrieved successfully

- object
  - `data` SurveyListItem[], required
    - `id` string
    - `name` string
    - `workspaceId` string
    - `type` 'link' | 'app' | 'website' | 'web'
    - `status` 'draft' | 'inProgress' | 'paused' | 'completed'
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `responseCount` integer
    - `creator` object, nullable
      - `name` string
    - `singleUse` object, nullable
      - `enabled` boolean
      - `isEncrypted` boolean
  - `meta` object, required
    - `limit` integer, required
    - `nextCursor` string, nullable, required — Opaque cursor for the next page. `null` when there are no more results.
    - `totalCount` integer, required — Total number of surveys matching the current filters across all pages.

## Other responses

- `400` — Bad Request
- `401` — Not authenticated (no valid session or API key)
- `403` — Forbidden — no access, or workspace/environment does not exist (404 not used; avoids existence leak)
- `429` — Rate limit exceeded
- `500` — Internal Server Error

## Changes

- **2026-04-17** `6e736eb7b23c` — 1 warning, 2 info
  - removed the optional property `data/items/environmentId` from the response with the `200` status
  - added the optional property `data/items/singleUse` to the response with the `200` status
  - added the optional property `data/items/workspaceId` to the response with the `200` status
- **2026-03-20** `9fa9931e1a70` — 23 breaking, 41 warning, 41 info
  - the response property `data/items/creator` became nullable for the status `200`
  - the response property `meta/nextCursor` became nullable for the status `200`
  - the response property `data/items/createdAt` became optional for the status `200`
  - the response property `data/items/creator` became optional for the status `200`
  - …101 more

[Change history](https://skmtc.dev/formbricks/apis/formbricks-api-v3/changes/api/v3/surveys/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-service-production.skmtc.workers.dev/v1/apis/formbricks/formbricks-api-v3/revisions/6e736eb7b23c/schema)
