Skip to content
Dashboard

List surveys

GET/v2/surveys

Returns all surveys configured in your Featurebase organization.

Query Parameters

  • limit - Number of items to return (1-100, default 10)
  • cursor - Cursor for pagination
  • type - Filter by survey page type (text, link, rating, multiple-choice)
  • isActive - Filter by active status

Response Format

Returns a list object with:

  • object - Always “list”
  • data - Array of survey objects
  • nextCursor - Cursor for next page (null if no more results)

Survey Object

Each survey includes:

  • id - Unique identifier
  • title - Survey title
  • description - Survey description
  • isActive - Whether the survey is active
  • responseCount - Number of responses received
  • targeting - Targeting configuration (segments, URLs, CSS selectors)
  • pages - Array of survey pages/questions
  • createdAt - ISO 8601 timestamp when created
  • updatedAt - ISO 8601 timestamp when last updated
Query ParametersExpand Collapse
cursor: optional string

An opaque cursor for pagination. Use the nextCursor value from a previous response to fetch the next page.

maxLength512
isActive: optional boolean

Filter by active status

limit: optional number

A limit on the number of objects to be returned, between 1 and 100.

minimum1
maximum100
type: optional "text" or "link" or "rating" or "multiple-choice"

Filter by survey page type

One of the following:
"text"
"link"
"rating"
"multiple-choice"
Header ParametersExpand Collapse
"Featurebase-Version": optional "2026-01-01.nova" or "2025-12-12.clover"
One of the following:
"2026-01-01.nova"
"2025-12-12.clover"
ReturnsExpand Collapse
data: array of Survey { id, createdAt, isActive, 8 more }

Array of surveys

id: string

Unique identifier

createdAt: string

ISO 8601 timestamp when created

isActive: boolean

Whether the survey is active

object: "survey"

Object type identifier

organization: string

Organization ID

pages: array of object { id, title, type, 13 more }

Survey pages

id: string

Page ID

title: string

Page title

type: "text" or "link" or "rating" or "multiple-choice"

Page type

One of the following:
"text"
"link"
"rating"
"multiple-choice"
allowSelectMultiple: optional boolean

Allow multiple selections

choices: optional array of object { id, choice }

Available choices

id: string

Choice ID

choice: optional string

Choice text

defaultAction: optional SurveyNextAction { type, pageId }

Action to take if condition matches

type: "page" or "end" or "next"

Type of next action

One of the following:
"page"
"end"
"next"
pageId: optional string

Page ID to navigate to

description: optional string

Page description

highLabel: optional string

Label for high rating

linkButtonText: optional string

Button text for link

linkRedirectUrl: optional string

URL to redirect to

linkTarget: optional "_blank" or "_self" or "_parent" or "_top"

Link target

One of the following:
"_blank"
"_self"
"_parent"
"_top"
logic: optional array of object { comparator, next, value, id }

Conditional logic rules

comparator: string

Comparison operator

One of the following:
value: string or number or array of string

Value to compare against

One of the following:
string
number
array of string
id: optional string

Logic rule ID

lowLabel: optional string

Label for low rating

placeholder: optional string

Placeholder for text input

scale: optional number

Rating scale

subType: optional "number" or "emoji" or "generic" or 2 more

Sub-type for rating/multiple-choice

One of the following:
"number"
"emoji"
"generic"
"featurebase-posts"
"nps"
responseCount: number

Number of responses

title: string

Survey title

updatedAt: string

ISO 8601 timestamp when last updated

description: optional string

Survey description

targeting: optional object { css, loginRequired, segmentIds, url }

Targeting configuration

css: optional array of object { value }

CSS selector targeting rules

value: string

CSS selector

loginRequired: optional boolean

Whether login is required

segmentIds: optional array of string

Segment IDs to target

url: optional array of object { matchType, value, id }

URL targeting rules

matchType: "exact" or "contains" or "regex"

Type of URL matching

One of the following:
"exact"
"contains"
"regex"
value: string

URL pattern to match

id: optional string

Rule ID

nextCursor: string

Cursor for fetching the next page (cursor-based pagination)

object: "list"

Object type identifier

List surveys

curl https://do.featurebase.app/v2/surveys \
    -H "Authorization: Bearer $FEATUREBASE_API_KEY"
{
  "data": [
    {
      "id": "6743752ca81ae59d25cf834b",
      "createdAt": "2024-11-24T18:49:16.755Z",
      "isActive": true,
      "object": "survey",
      "organization": "5febde12dc56d60012d47db6",
      "pages": [
        {
          "id": "6743752ca81ae59d25cf834c",
          "title": "How happy are you with our product?",
          "type": "rating",
          "allowSelectMultiple": false,
          "choices": [
            {
              "id": "66dc54128b989696d050008b",
              "choice": "Very satisfied"
            }
          ],
          "defaultAction": {
            "type": "page",
            "pageId": "6743754dd8bf964ec2562cda"
          },
          "description": "We really want to hear from you.",
          "highLabel": "It's awesome!",
          "linkButtonText": "Visit our website",
          "linkRedirectUrl": "https://example.com",
          "linkTarget": "_blank",
          "logic": [
            {
              "comparator": "less than",
              "next": {
                "type": "page",
                "pageId": "6743754dd8bf964ec2562cda"
              },
              "value": 4,
              "id": "6743755fd8bf964ec2562cdb"
            }
          ],
          "lowLabel": "Could be improved",
          "placeholder": "Type your answer here",
          "scale": 5,
          "subType": "emoji"
        }
      ],
      "responseCount": 85,
      "title": "Get feedback for Feedback module",
      "updatedAt": "2025-04-10T08:58:51.148Z",
      "description": "Measure what we can improve",
      "targeting": {
        "css": [
          {
            "value": ".feedback-button"
          }
        ],
        "loginRequired": false,
        "segmentIds": [
          "6636438b7fcdc515999042eb"
        ],
        "url": [
          {
            "matchType": "contains",
            "value": "/dashboard/posts",
            "id": "674375cfd8bf964ec2562cdc"
          }
        ]
      }
    }
  ],
  "nextCursor": null,
  "object": "list"
}
Returns Examples
{
  "data": [
    {
      "id": "6743752ca81ae59d25cf834b",
      "createdAt": "2024-11-24T18:49:16.755Z",
      "isActive": true,
      "object": "survey",
      "organization": "5febde12dc56d60012d47db6",
      "pages": [
        {
          "id": "6743752ca81ae59d25cf834c",
          "title": "How happy are you with our product?",
          "type": "rating",
          "allowSelectMultiple": false,
          "choices": [
            {
              "id": "66dc54128b989696d050008b",
              "choice": "Very satisfied"
            }
          ],
          "defaultAction": {
            "type": "page",
            "pageId": "6743754dd8bf964ec2562cda"
          },
          "description": "We really want to hear from you.",
          "highLabel": "It's awesome!",
          "linkButtonText": "Visit our website",
          "linkRedirectUrl": "https://example.com",
          "linkTarget": "_blank",
          "logic": [
            {
              "comparator": "less than",
              "next": {
                "type": "page",
                "pageId": "6743754dd8bf964ec2562cda"
              },
              "value": 4,
              "id": "6743755fd8bf964ec2562cdb"
            }
          ],
          "lowLabel": "Could be improved",
          "placeholder": "Type your answer here",
          "scale": 5,
          "subType": "emoji"
        }
      ],
      "responseCount": 85,
      "title": "Get feedback for Feedback module",
      "updatedAt": "2025-04-10T08:58:51.148Z",
      "description": "Measure what we can improve",
      "targeting": {
        "css": [
          {
            "value": ".feedback-button"
          }
        ],
        "loginRequired": false,
        "segmentIds": [
          "6636438b7fcdc515999042eb"
        ],
        "url": [
          {
            "matchType": "contains",
            "value": "/dashboard/posts",
            "id": "674375cfd8bf964ec2562cdc"
          }
        ]
      }
    }
  ],
  "nextCursor": null,
  "object": "list"
}