Skip to main content
New to Corsair? See API access, authentication, and error handling.

Projects

get

projects.get Read one project by ID Risk: read
Input The project ID comes from Settings > Integrations > API. No endpoint lists projects, so this is the only way to read one. Output

Responses

list

responses.list List responses from every survey in a project, paged by cursor Risk: read
Input Every response in the project across all its surveys. Defaults to the last 30 days and 20 rows per page; pass startDate for older data and pageCursor to continue. Output

listForSurvey

responses.listForSurvey List one survey’s responses, paged by cursor Risk: read
Input One survey\u2019s responses, with the same date-range and cursor paging. Output

Surveys

get

surveys.get Read one survey by ID Risk: read
Input Reads one survey by ID. Output

list

surveys.list List the surveys in a project with their template and state Risk: read
Input The API calls these campaigns internally; this operation is the surveys in a project with their template (nps, ces, csat, pmf, custom) and state (live, paused, draft). Output

statistics

surveys.statistics Read response counts, display counts and the metric per question for one survey Risk: read
Input Counts responses and displays with a response rate, plus a per-question breakdown: an answers count per choice, and the metric (NPS, CSAT, CES or PMF) with its value. A long-text question carries a count and no per-value breakdown. Output

Users

list

users.list List the users in a project, or look one up by userId Risk: read
Input Every user in the project, or one user when userId is given: the API still answers a list, holding one entry or none. Output

remove

users.remove Delete a user’s personal data by internal id; their responses are anonymised, not deleted Risk: destructive · Irreversible
Input Takes the internal id from users.list, not your own userId. It deletes personal data and anonymises the user\u2019s responses rather than deleting them, and cannot be undone. An unknown id answers 404 User not found. Output

track

users.track Record a user event that survey targeting can match on; each call counts once Risk: write
Input Records an event that survey targeting can match on. Each call counts as one event, so it is never retried automatically. Returns 204 with no body, and the event cannot be read back: the events list in users.list holds survey activity, not tracked events. Output

upsert

users.upsert Create or update a user and their traits, and optionally set the date they next see a survey Risk: write
Input Creates the user if they do not exist and updates their traits. surveyDate sets when the user next sees a survey, which is how you survey someone earlier or later than their targeting rules would. Output