Concepts & naming
How API nouns map to what you see in the product.
The API speaks the same model as the product. Four nouns cover almost everything:
feedback_group
The project container. Everything about one programme lives in one group.
source
A source inside a group
One stream of feedback: a survey, an upload, a connector, or your API push.
field
A question / column
One typed slot on a source: open text, NPS, a scale, metadata.
item (in content)
A response / comment
One piece of feedback pushed into a field.
Two product concepts you'll meet in responses:
Monitors (Custom Monitoring) appear in analysis reads under the
flagskey, and the related webhook event isflag.raised. Those are the legacy wire names for what the product now calls monitors; the payloads are stable so existing subscribers don't break.Analysis is asynchronous. Pushing returns immediately; themes, sentiment, and monitor matches appear when the analysis pass completes (subscribe to
analysis.completedrather than polling). For a source in a group that tracks feedback over time, the analysis read aggregates every analysed period and returnsanalysis_id: null, because there is no single all-time run to name; key onanalysis_status("available" or "none"), never onanalysis_id.
Already integrated on the older vocabulary?
Integrations built when the API spoke survey_series / survey / question keep working unchanged: those routes (/survey_series/create, /survey/create, /content/push, and friends) hit the same handlers as the routes documented here, are fully supported, and are covered by the compatibility policy. We keep them out of the main reference so there's exactly one documented way to do each thing; they are listed under Classic vocabulary (aliases). The mapping, should you read old code: survey_series = feedback group, survey = source, question = field.
Field types
When creating a source, each field takes a field_type:
DEPTH_TEXT
Long free text: the field the AI analyses for themes, sentiment, monitors.
TEXT
Short free text: names, one-liners.
NPS
The 0-10 likelihood-to-recommend score.
RATING
A numeric scale with your own bounds (min_value / max_value).
SCQ / MCQ
Single / multiple choice (field_options).
DROPDOWN
Single choice presented as a drop-down list (field_options).
RANKING
Respondents order the field_options.
METADATA
Context for segmentation (region, tier, agent); imported but not analysed.
Names are case-insensitive, and long_answer / short_answer are accepted as synonyms for DEPTH_TEXT / TEXT. A source takes up to 100 fields per create call.
The richest analytical signal comes from DEPTH_TEXT fields; METADATA fields power segmentation in the analysis views, exactly as with uploads.
feedback_type: tell the platform what the data is
Sources take an optional feedback_type (survey, call_transcript, app_review, support_ticket, chat, email, social_media, review, other; default survey). It's echoed in listings and helps the platform frame the data correctly. Pick the closest one rather than defaulting everything to other.
Last updated