Skip to main content
Version: v2

Survey screener and catalog API

All paths below are relative to /api/v1/campaigns and require the advertiser X-Api-Key and signed ?enc= query. These are external survey campaign routes, separate from offer campaign Custom S2S tracking.

Custom questions​

Method and pathResult
GET /{campaignId}/getcustomquestions200 with customQuestions array.
POST /{campaignId}/customquestion201 with a blank initialized question and its generated ID.
GET /{campaignId}/customquestion/{customquestionId}One question.
PUT /{campaignId}/customquestion/{customquestionId}Update text, type, order, and question controls.
DELETE /{campaignId}/customquestion/{customquestionId}Remove the question.
GET /{campaignId}/getcustomquestionsforprofilingCampaign custom questions formatted for profiling.

Creating a custom question initializes a record; it does not populate the public question text from the create body. Use the returned ID with PUT to set display_text, question_type_id, and the applicable controls. A single-punch question can have answer options with value, sort_order, and control_state (cs_accept or cs_reject as appropriate). Test both an accepted and a rejected answer before fielding. The exact available types and controls should be read from the current dashboard rather than inferred from a copied question ID.

Answer options and catalogs​

Method and pathRequest/response
POST /cq/{customquestionId}/createoptionInitializes an answer option; returns the updated customQuestions record.
PUT /cq/{customquestionId}/option/{option_id}Updates one initialized option's text and controls.
DELETE /cq/{customquestionId}/option/{option_id}Removes one option.
POST /listcountrylanguageReturns country-language choices.
POST /getProfilingQuestionsForTargetingReturns profiling questions and answer codes for targeting.

The create-option route initializes a default blank option with control_state: "cs_accept"; it does not read the desired answer text from the create request. Use its returned option_id with PUT, then fetch the question again and verify order and accept/reject behavior. Align the screener language with the campaign market and with the external survey's own eligibility rules. For nested resource security, see quota and qualification API.