---
title: "Get a survey by its ID"
method: GET
path: "/surveys/{id}"
tags: ["surveys"]
---

# Get a survey by its ID

`GET /surveys/{id}`

Returns a single survey by ID.

**Rate limit:** 300 requests per minute

## Path parameters

- `id` string, required

## Response `200`

- GetSurveyResponseBody
  - `data` Survey
    - `id` string — The unique identifier of the survey.
    - `name` string — The name of the survey.
    - `type` 'nps' | 'csat' | 'custom' — The type of the survey.
    - `updated_at` string — When the survey was last updated (RFC3339 format).
  - `request_id` string — The request ID for tracking.

## Other responses

- `400` — The request was invalid or could not be completed.
- `403` — The authenticated caller or organization is not allowed to access this endpoint or operation.
- `404`
- `500` — An unexpected internal error occurred.

## Changes

- **2026-08-28** `fe3adb90ea45` — 1 info
  - added the non-success response with the status `403`

[Change history](https://skmtc.dev/usepylon/apis/pylon-api/changes/surveys/:id/get.md)

---

[API](https://skmtc.dev/usepylon/apis/pylon-api.md) · [All operations](https://skmtc.dev/usepylon/apis/pylon-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usepylon/pylon-api/revisions/7b12ab92de27/schema)
