---
title: "Get entities from Survey"
method: GET
path: "/Survey"
tags: ["Survey"]
---

# Get entities from Survey

`GET /Survey`

## Request

- Base URL: `https://marketingpony.us1app.churnzero.net/public/v1`
- URL: `https://marketingpony.us1app.churnzero.net/public/v1/Survey`
- Auth: HTTP basic

## Query parameters

- `$top` number
- `$skip` number
- `$filter` string[]
- `$count` boolean
- `$orderby` string[]
- `$select` string[]
- `$expand` string[]
- `$apply` string

## Parameters

- `#/components/parameters/search` (unresolved $ref)

## Response `200`

Retrieved entities

- object
  - `value` ChurnZeroSurvey[]
    - `Id` number: Internal identifier for ChurnZero.
    - `CampaignStatus` string: The lifecycle status of the survey: Draft, Paused, Running, Complete, or Archived. Running surveys are actively sending (shown as Active in the ChurnZero UI).
    - `CampaignType` string: How the survey dispatches: Periodic (recurring on a schedule), OnSegmentEntry (sends when a Contact or record enters a targeted Segment), External (responses collected outside ChurnZero and synced in), or Imported (historical responses imported from another platform).
    - `DripOverMonths` number: The drip rate for a Periodic survey: the number of months (1, 3, or 6) the send is spread over, surveying a portion of the target population each day instead of sending to everyone at once. 0 means the survey sends to everyone at once.
    - `FollowActiveHours` boolean: Whether a segment-entry send is held until the account's active hours. When false the send goes out at the moment it is triggered. Only meaningful when SendBasedOn is "Segment entry" — scheduled-time surveys always report false.
    - `FollowUpQuestions` ChurnZeroFollowUpQuestion[]: The follow-up questions asked after the recipient submits their score. Each has the question text and an AnswerType: Text, YesNo, Currency, Date, Number, Percent, SingleSelect, or MultiSelect.
      - `Question` string, nullable: The text of the question.
      - `AnswerType` string, nullable: The type of answer associated with the question.
    - `IsActive` boolean: Whether the survey is actively processing recipients. When set to false the survey pauses in place: no new recipients enter and no further sends or reminders go out until it is reactivated.
    - `Name` string: The name of the survey, shown on the Surveys page in ChurnZero.
    - `RecurringEveryMonths` number: For Periodic surveys, the recurrence interval in months: how long after a recipient's previous survey they are surveyed again (e.g. 6 = re-surveyed six months later). 0 means a one-time survey.
    - `SegmentIds` number[]: The Ids of the Segments that define the survey's audience. Membership in any one of the listed Segments qualifies a recipient (OR logic).
    - `SendBasedOn` string: What triggers the send: "A scheduled time" (the survey fires at its configured SendTime) or "Segment entry" (the survey fires when a recipient enters the targeted Segment).
    - `SendDayType` string: Which days the survey may send on: Business (weekdays only) or Calendar (any day).
    - `SendTime` string, time: The clock time the survey is configured to send, in the survey's SendTimeZone (e.g. 09:30:00). Null when no send hour is set. Supports $select and $filter (including the range operators); sorting is not available on this property, because it is computed from the stored hour and minute rather than held as a single column.
    - `SendTimeZone` string: The time zone the survey's send time is expressed in, as an IANA time zone id (e.g. "America/New_York", "Etc/UTC"). Supports $select and $filter; filter with 'eq' and a full IANA id — the substring functions are not available, and sorting is not available on this property.
    - `SendToExistingSegmentMembers` boolean: For a segment-entry survey, whether recipients already in the targeted Segment when the survey was activated are surveyed, rather than only those who enter afterwards.
    - `Settings` object, nullable: Additional settings on a survey.
      - `ChoiceCount` number, nullable: The number of choices available to answer a survey.
      - `AnswerType` string, nullable: The type of answer associated with the question.
    - `SurveyQuestion` string: The text of the survey's primary question shown to recipients (e.g. the NPS question "How likely is it that you would recommend ... ?").
    - `SurveyType` string: The type of the survey: NPS (loyalty, scored 0-10), CSAT (satisfaction), CES (effort, 1-7 scale), or Custom (multi-question survey; see the SurveyQuestion entity for its questions).
  - `@odata.nextLink` string

## Other responses

- `400`: Bad Request|This usually occurs because of a missing or malformed parameter. Check the documentation and the syntax of your request and try again. On a write, the response body names each rejected field in `error.details`: `MissingRequiredField`, `UnknownField`, `FieldNotWritable`, `InvalidFieldValue` (wrong type), and `ValueNotAllowed` (right type, but not one of the field's configured values — the detail lists them, or for a large value set carries the closest matches in `candidates`).
- `401`: Unauthorized|A valid authentication token was not provided with the request, so the API could not associate a user with the request.
- `403`: Forbidden|The authentication and request syntax was valid but the server is refusing to complete the request. This can happen if you try to read or write to objects or properties that the user does not have access to.
- `409`: Conflict|The underlying model/schema has changed. Usually caused by a race condition. Sending the request again will succeed.
- `429`: Too Many Requests|You have exceeded one of the enforced rate limits in the API. See the documentation on rate limiting for more information.
- `500`: Internal Server Error|There was a problem on ChurnZeros's end.
- `default`: error

## Changes

- **2026-09-16** `02fa2d67b413`: 18 info
  - added the enum value `FollowActiveHours` to the property `items/` of the `query` request parameter `$filter`
  - added the enum value `FollowActiveHours` to the property `items/` of the `query` request parameter `$select`
  - added the enum value `SendBasedOn` to the property `items/` of the `query` request parameter `$filter`
  - added the enum value `SendBasedOn` to the property `items/` of the `query` request parameter `$select`
  - …14 more

[Operation history](https://skmtc.dev/churnzero/apis/churnzero-rest-api-for-marketingpony/changes/Survey/get.md)

---

[API](https://skmtc.dev/churnzero/apis/churnzero-rest-api-for-marketingpony.md) - [All operations](https://skmtc.dev/churnzero/apis/churnzero-rest-api-for-marketingpony/llms.txt) - [OpenAPI document](https://skmtc.dev/churnzero/apis/churnzero-rest-api-for-marketingpony/revisions/5b7b7ca48896?raw)
