# List 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 Endpoint: GET /v2/surveys Version: 2026-01-01.nova Security: bearerAuth ## Header parameters: - `Featurebase-Version` (string) API version for this request. Defaults to your organization's configured API version if not specified. Example: "2026-01-01.nova" ## Query parameters: - `limit` (integer) A limit on the number of objects to be returned, between 1 and 100. Example: 10 - `cursor` (string) An opaque cursor for pagination. Use the nextCursor value from a previous response to fetch the next page. Example: "eyJpZCI6IjY3NDM3NTJjYTgxYWU1OWQyNWNmODM0YiJ9" - `type` (string) Filter by survey page type Enum: "text", "link", "rating", "multiple-choice" - `isActive` (boolean,null) Filter by active status Example: true ## Response 200 fields (application/json): - `object` (string, required) Object type identifier Enum: "list" - `data` (array, required) Array of surveys Example: [] - `data.id` (string, required) Unique identifier Example: "6743752ca81ae59d25cf834b" - `data.title` (string, required) Survey title Example: "Get feedback for Feedback module" - `data.description` (string) Survey description Example: "Measure what we can improve" - `data.isActive` (boolean, required) Whether the survey is active Example: true - `data.organization` (string, required) Organization ID Example: "5febde12dc56d60012d47db6" - `data.responseCount` (number, required) Number of responses Example: 85 - `data.targeting` (object) Targeting configuration - `data.targeting.segmentIds` (array) Segment IDs to target Example: ["6636438b7fcdc515999042eb"] - `data.targeting.url` (array) URL targeting rules - `data.targeting.url.value` (string, required) URL pattern to match Example: "/dashboard/posts" - `data.targeting.url.matchType` (string, required) Type of URL matching Enum: "exact", "contains", "regex" - `data.targeting.url.id` (string) Rule ID Example: "674375cfd8bf964ec2562cdc" - `data.targeting.css` (array) CSS selector targeting rules - `data.targeting.css.value` (string, required) CSS selector Example: ".feedback-button" - `data.targeting.loginRequired` (boolean) Whether login is required - `data.pages` (array, required) Survey pages Example: [] - `data.pages.id` (string, required) Page ID Example: "6743752ca81ae59d25cf834c" - `data.pages.type` (string, required) Page type Enum: "text", "link", "rating", "multiple-choice" - `data.pages.title` (string, required) Page title Example: "How happy are you with our product?" - `data.pages.description` (string) Page description Example: "We really want to hear from you." - `data.pages.placeholder` (string) Placeholder for text input Example: "Type your answer here" - `data.pages.linkButtonText` (string) Button text for link Example: "Visit our website" - `data.pages.linkRedirectUrl` (string) URL to redirect to Example: "https://example.com" - `data.pages.linkTarget` (string) Link target Enum: "_blank", "_self", "_parent", "_top" - `data.pages.subType` (string) Sub-type for rating/multiple-choice Enum: "number", "emoji", "generic", "featurebase-posts", "nps" - `data.pages.scale` (number) Rating scale Example: 5 - `data.pages.lowLabel` (string) Label for low rating Example: "Could be improved" - `data.pages.highLabel` (string) Label for high rating Example: "It's awesome!" - `data.pages.allowSelectMultiple` (boolean) Allow multiple selections - `data.pages.choices` (array) Available choices - `data.pages.choices.id` (string, required) Choice ID Example: "66dc54128b989696d050008b" - `data.pages.choices.choice` (string) Choice text Example: "Very satisfied" - `data.pages.logic` (array) Conditional logic rules - `data.pages.logic.id` (string) Logic rule ID Example: "6743755fd8bf964ec2562cdb" - `data.pages.logic.comparator` (string, required) Comparison operator Example: "less than" - `data.pages.logic.value` (any, required) Value to compare against Example: 4 - `data.pages.logic.next` (object, required) Action to take if condition matches - `data.pages.logic.next.type` (string, required) Type of next action Enum: "page", "end", "next" - `data.pages.logic.next.pageId` (string) Page ID to navigate to Example: "6743754dd8bf964ec2562cda" - `data.pages.defaultAction` (object) Action to take if condition matches - `data.createdAt` (string, required) ISO 8601 timestamp when created Example: "2024-11-24T18:49:16.755Z" - `data.updatedAt` (string, required) ISO 8601 timestamp when last updated Example: "2025-04-10T08:58:51.148Z" - `nextCursor` (string,null, required) Cursor for fetching the next page (cursor-based pagination) ## Response 400 fields (application/json): - `error` (object, required) - `error.type` (string, required) The type of error returned Enum: "invalid_request_error" - `error.code` (string, required) Machine-readable error code Enum: "invalid_cursor" - `error.message` (string, required) Human-readable error message Example: "An error occurred" - `error.param` (string) The parameter that caused the error (if applicable) Example: "id" - `error.status` (number, required) HTTP status code Enum: 400