Skip to content
Dashboard

Get survey responses

GET/v2/surveys/{id}/responses

Retrieves all user responses for a specific survey.

Query Parameters

  • pageId - Filter responses to a specific survey page
  • limit - Number of items to return (1-100, default 10)
  • cursor - Cursor for pagination

Response Format

Returns a list object with:

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

Survey Response Object

Each response includes:

  • id - Unique response identifier
  • user - User who submitted the response (may be null for anonymous)
  • responses - Array of individual answers
  • createdAt - ISO 8601 timestamp when submitted

Individual Response

Each item in the responses array:

  • pageId - The survey page this response is for
  • type - Response type (text, rating, multiple-choice)
  • value - The response value

Errors

  • 404 - Survey not found in your organization
Path ParametersExpand Collapse
id: string

Survey unique identifier

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
limit: optional number

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

minimum1
maximum100
pageId: optional string

Filter by survey page ID

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 object { id, createdAt, object, 2 more }

Array of survey responses

id: string

Unique identifier

createdAt: string

ISO 8601 timestamp when created

object: "survey_response"

Object type identifier

responses: array of object { pageId, type, value, 3 more }

Individual responses to questions

pageId: string

Page ID this response is for

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

Response type

One of the following:
"text"
"link"
"rating"
"multiple-choice"
value: string or number or boolean or array of string

Response value

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

Response ID

createdAt: optional string

ISO 8601 timestamp when created

updatedAt: optional string

ISO 8601 timestamp when updated

user: Contact { id, name, object, 16 more }

User who submitted the response

id: string

Unique identifier

name: string

Contact display name

object: "contact"

Object type identifier

type: "customer" or "lead"

Type of contact

One of the following:
"customer"
"lead"
commentsCreated: optional number

Number of comments created

companies: optional array of Company { id, companyId, companySize, 11 more }

Companies the contact belongs to

id: string

Featurebase internal ID

companyId: string

External company ID from your system

companySize: number

Company employee headcount

createdAt: string

ISO date when company was created

industry: string

Industry

lastActivity: string

ISO date of last activity

linkedUsers: number

Number of users linked to this company

monthlySpend: number

Monthly spend

name: string

Company name

object: "company"

Object type identifier

plan: string

Plan or tier name

updatedAt: string

ISO date when company was last updated

website: string

Company website URL

customFields: optional map[unknown]

Custom field values

customFields: optional map[unknown]

Custom field values on the contact

description: optional string

Contact description/bio

email: optional string

Contact email

lastActivity: optional string

Last activity ISO timestamp

locale: optional string

Contact locale

manuallyOptedOutFromChangelog: optional boolean

Whether manually opted out from changelog

organizationId: optional string

Organization ID the contact belongs to

postsCreated: optional number

Number of posts created

profilePicture: optional string

Profile picture URL

roles: optional array of string

Contact roles

subscribedToChangelog: optional boolean

Whether subscribed to changelog

userId: optional string

External user ID from SSO

verified: optional boolean

Whether email is verified

nextCursor: string

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

object: "list"

Object type identifier

Get survey responses

curl https://do.featurebase.app/v2/surveys/$ID/responses \
    -H "Authorization: Bearer $FEATUREBASE_API_KEY"
{
  "data": [
    {
      "id": "6712e2d175904ce24b2f9637",
      "createdAt": "2024-10-18T22:36:01.269Z",
      "object": "survey_response",
      "responses": [
        {
          "pageId": "66dc53c5a64824f0e84a4c1e",
          "type": "multiple-choice",
          "value": [
            "66dc54128b989696d050008b"
          ],
          "id": "6712e2d175904ce24b2f9638",
          "createdAt": "2024-10-18T22:36:01.270Z",
          "updatedAt": "2024-10-18T22:36:01.270Z"
        }
      ],
      "user": {
        "id": "676f0f6765bdaa7d7d760f88",
        "name": "John Steezy",
        "object": "contact",
        "type": "customer",
        "commentsCreated": 0,
        "companies": [
          {
            "id": "507f1f77bcf86cd799439011",
            "companyId": "comp_12345",
            "companySize": 250,
            "createdAt": "2025-01-01T12:00:00.000Z",
            "industry": "Technology",
            "lastActivity": "2025-01-15T00:00:00.000Z",
            "linkedUsers": 15,
            "monthlySpend": 5000,
            "name": "Acme Inc",
            "object": "company",
            "plan": "enterprise",
            "updatedAt": "2025-01-10T15:30:00.000Z",
            "website": "https://acme.com",
            "customFields": {
              "location": "bar",
              "priority": "bar"
            }
          }
        ],
        "customFields": {
          "foo": "bar"
        },
        "description": "",
        "email": "john@example.com",
        "lastActivity": "2025-01-03T21:42:30.181Z",
        "locale": "en",
        "manuallyOptedOutFromChangelog": false,
        "organizationId": "5febde12dc56d60012d47db6",
        "postsCreated": 0,
        "profilePicture": "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png",
        "roles": [
          "string"
        ],
        "subscribedToChangelog": true,
        "userId": "676f0f673dbb299c8a4f3057",
        "verified": true
      }
    }
  ],
  "nextCursor": null,
  "object": "list"
}
Returns Examples
{
  "data": [
    {
      "id": "6712e2d175904ce24b2f9637",
      "createdAt": "2024-10-18T22:36:01.269Z",
      "object": "survey_response",
      "responses": [
        {
          "pageId": "66dc53c5a64824f0e84a4c1e",
          "type": "multiple-choice",
          "value": [
            "66dc54128b989696d050008b"
          ],
          "id": "6712e2d175904ce24b2f9638",
          "createdAt": "2024-10-18T22:36:01.270Z",
          "updatedAt": "2024-10-18T22:36:01.270Z"
        }
      ],
      "user": {
        "id": "676f0f6765bdaa7d7d760f88",
        "name": "John Steezy",
        "object": "contact",
        "type": "customer",
        "commentsCreated": 0,
        "companies": [
          {
            "id": "507f1f77bcf86cd799439011",
            "companyId": "comp_12345",
            "companySize": 250,
            "createdAt": "2025-01-01T12:00:00.000Z",
            "industry": "Technology",
            "lastActivity": "2025-01-15T00:00:00.000Z",
            "linkedUsers": 15,
            "monthlySpend": 5000,
            "name": "Acme Inc",
            "object": "company",
            "plan": "enterprise",
            "updatedAt": "2025-01-10T15:30:00.000Z",
            "website": "https://acme.com",
            "customFields": {
              "location": "bar",
              "priority": "bar"
            }
          }
        ],
        "customFields": {
          "foo": "bar"
        },
        "description": "",
        "email": "john@example.com",
        "lastActivity": "2025-01-03T21:42:30.181Z",
        "locale": "en",
        "manuallyOptedOutFromChangelog": false,
        "organizationId": "5febde12dc56d60012d47db6",
        "postsCreated": 0,
        "profilePicture": "https://fb-usercontent.fra1.cdn.digitaloceanspaces.com/anon_23.png",
        "roles": [
          "string"
        ],
        "subscribedToChangelog": true,
        "userId": "676f0f673dbb299c8a4f3057",
        "verified": true
      }
    }
  ],
  "nextCursor": null,
  "object": "list"
}