Overview

Welcome to the official engineering documentation of Audience-Align
    The Supply API enables direct integration with Audience-Align global survey inventory, providing real-time access to live survey opportunities. Built on a RESTful architecture, the API is designed for seamless partner integration, offering full automation and flexibility in managing supply-side traffic.
    This API supports JSON-formatted requests and responses, ensuring modern, efficient data exchange. With a focus on quality and transparency, the Supply API includes advanced tracking features such as:
  • Granular survey statistics (e.g., conversion rate, device-level metrics)
  • Real-time survey availability
  • Automated redirect handling for completes, terms, over-quotas, and quality terminations
  • Quota and qualification retrieval
  • Live respondent status updates
    By integrating with the Supply API, partners gain greater control over respondent flow, enhanced visibility into performance metrics, and the ability to optimize yield across various devices, geographies, and audiences.
    The Supply API is a robust solution for partners seeking scalable, data-driven, and automated survey traffic management.

Generate Authorization

POST authorization/token

Generates a unique authorization token for the supplier. A new token is generated for each API request, and it must be included in the request header to authenticate that specific call.

Request

HEADER PARAMETERS

X-Account-Id string Required

The supplier’s unique ID.

Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

Content-Type string Required

The content type of the request body.

Example: application/json

REQUEST BODY

url string Required

A specific URL used to generate authorization tokens for target API requests.

Example: https://api.audience-align.com/supply-v1/survey/allocated_surveys

key string Required

A key specific to the supplier, used to create authorization tokens.

Example: cb1045c5fH78fab81449a75dfd72K9b5

REQUEST SAMPLE

application/json
{ "url": "https://api.audience-align.com/supply-v1/survey/allocated_surveys", "key": "cb1045c5fH78fab81449a75dfd72K9b5" }

RESPONSE SAMPLES

{ "status": true, "hash": "160f49ea0bf90ff43584864e94f39d6633b104a43445ef847c3aa62e" }
{ "status": false, "error": "Bad Request", "message": "An expected field is missing." }
{ "status": false, "error": "Forbidden", "message": "You do not have permission to access this resource." }
{ "status": false, "error": "Not Found", "message": "The requested resource was not found." }
{ "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

List of Allocated Surveys

GET survey/allocated_surveys

Returns a list of all active (live) survey events in which the supplier has participation rights, either through an allocation or an entry link in the system.

Rate Limit: Maximum of 1 call every 10 minutes.

Request

HEADER PARAMETERS

X-Account-Id string Required

The supplier’s unique ID.

Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

X-Authorization string Required

A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

RESPONSE PROPERTIES

resultCount integer

Returns the total number of results for the survey.

Example: 2

surveys array

Provides a list of surveys associated with the specified account.

BuyerCode string

A unique code used to identify or reference a specific buyer.

Example: ALGN001

surveyId string

The character string representing a unique survey ID.

Example: QSnoUStJDXiANB

surveyCode string

A unique survey code used to identify or reference a specific survey.

Example: ALGN0001

surveyName string

The external name of the survey.

Example: Test API Project

countryId integer

A unique ID associated with the country of the survey.

Example: 1

languageId integer

A unique ID associated with the language of the survey.

Example: 1

studyTypeId integer

A unique ID associated with the study type of the survey, indicating the survey’s format and purpose.

Example: 1

verticalId integer

A unique ID associated with the vertical of the survey, representing the industry related to the survey’s topic.

Example: 1

collectPII boolean

Indicates whether the survey collects the respondent’s personal information.

Example: true/false

IR integer

The calculation method for determining the IR (Incidence Rate) involves comparing the number of respondents who qualify for the survey to those who do not. This results in a percentage representing the proportion of eligible participants.

Example: 10

LOI integer

The average time (in minutes) allotted for a respondent to complete the survey.

Example: 5

CPI float

The exact revenue paid to the supplier per complete. The CPI (Cost Per Interview) may vary in field due to changes in interview length and the difficulty of reaching the target sample.

Example: 5.0

isMobileAllowed boolean

Indicates whether the survey allows participation from mobile users.

Example: true/false

isTabletAllowed boolean

Indicates whether the survey allows participation from tablet users.

Example: true/false

isDesktopAllowed boolean

Indicates whether the survey allows participation from desktop or laptop users.

Example: true/false

completesNeeded integer

Total number of completes needed for the survey.

Example: 100

quotaCalculationType string

A flag that defines whether quotas are tracked using survey completes or prescreens.

Example: Completes/Clicks

surveyEndDate datetime

UTC timestamp in milliseconds since Unix epoch.
Target date for survey closure. This property usually does not indicate a hard closure time, although buyers may opt to automatically close the study.

Example: 1751155199000

audienceType string

Indicates the audience category the project targets (e.g. B2B, B2C, Healthcare).

Example: B2B

liveLink string

This is a supplier-specific live entry URL generated by Audience-Align. Please replace [respondent_id] with the actual ID of the respondent you are sending to the survey.

Example: https://example.com/survey?projectid=72728027&supplierid=5056508&url=1&uid=[respondent_id]

testLink string

This is a supplier-specific test entry URL generated by Audience-Align. Please replace [respondent_id] with the actual ID of the respondent you are sending to the survey.

Example: https://example.com/survey?projectid=72728027&supplierid=5056508&url=0&uid=[respondent_id]

RESPONSE SAMPLES

{ "status": true, "resultCount": 2, "surveys": [ { "surveyId": "QSnoUStJDXiANB", "BuyerCode": "ALGN001", "surveyCode": "ALGN0001", "surveyName": "ALGN0001-SP001", "countryId": 229, "languageId": 5, "studyTypeId": 2, "verticalId": 12, "collectPII": false, "IR": 100, "LOI": 60, "CPI": 5.5, "isMobileAllowed": true, "isTabletAllowed": true, "isDesktopAllowed": true, "completesNeeded": 100, "quotaCalculationType": "Completes", "surveyEndDate": 1751155199000, "audienceType": "B2B", "liveLink": "https://example.com/survey?projectid=72728027&supplierid=5056508&url=1&uid=[respondent_id]", "testLink": "https://example.com/survey?projectid=72728027&supplierid=5056508&url=0&uid=[respondent_id]" }, { "surveyId": "RdMuPJynCjmxSygf", "BuyerCode": "ALGN002", "surveyCode": "ALGN0001-US", "surveyName": "ALGN0001-US-SP001", "countryId": 229, "languageId": 5, "studyTypeId": 1, "verticalId": 17, "collectPII": true, "IR": 80, "LOI": 20, "CPI": 8.5, "isMobileAllowed": true, "isTabletAllowed": false, "isDesktopAllowed": true, "completesNeeded": 50, "quotaCalculationType": "Clicks", "surveyEndDate": 1736639999000, "audienceType": "B2C", "liveLink": "https://example.com/survey?projectid=72728027&supplierid=5056508&url=1&uid=[respondent_id]", "testLink": "https://example.com/survey?projectid=72728027&supplierid=5056508&url=0&uid=[respondent_id]" } ] }
{ "status": false, "error": "Bad Request", "message": "An expected field is missing." }
{ "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
{ "status": false, "error": "Not Found", "message": "The requested resource was not found." }
{ "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

Update Survey Redirects

PUT survey/survey_redirects

This API allows updating the supplier's redirect URLs (e.g., complete, terminate, over quota) for a specific survey event, ensuring accurate respondent routing based on survey outcomes.

Rate Limit: Maximum of 20 call per minute.

Request

HEADER PARAMETERS

X-Account-Id string Required

The supplier’s unique ID.

Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

X-Authorization string Required

A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

X-Survey-Id string Required

The character string representing a unique survey ID.

Example: QSnoUStJDXiANB

Content-Type string Required

The content type of the request body.

Example: application/json

REQUEST BODY

completeRedirect string Required

This is the complete redirect URL used to notify the supplier when one of their respondents has successfully completed a survey.

Example: https://example.com/complete?uid=[identifier]

terminateRedirect string Required

This is the terminate redirect URL used to notify the supplier when one of their respondents is disqualified or screened out of a survey.

Example: https://example.com/terminate?uid=[identifier]

overQuotaRedirect string Required

This is the over quota redirect URL used to notify the supplier when one of their respondents attempts to access a survey that has already met its required number of completes.

Example: https://example.com/overquota?uid=[identifier]

qualityTermRedirect string Required

This is the quality termination redirect URL used to notify the supplier when one of their respondents is rejected from a survey due to failing quality control checks (e.g., speeding, inconsistent answers, failed traps).

Example: https://example.com/securityterminate?uid=[identifier]

surveyCloseRedirect string Required

This is the survey close redirect URL used to notify the supplier when one of their respondents attempts to access a survey that is no longer active or has been closed by the client.

Example: https://example.com/closed?uid=[identifier]

REQUEST SAMPLE

application/json
{ "completeRedirect": "https://example.com/complete?uid=[identifier]", "terminateRedirect": "https://example.com/terminate?uid=[identifier]", "overQuotaRedirect": "https://example.com/overquota?uid=[identifier]", "qualityTermRedirect": "https://example.com/securityterminate?uid=[identifier]", "surveyCloseRedirect": "https://example.com/closed?uid=[identifier]" }

RESPONSE SAMPLES

{ "status": true, "redirects": { "completeRedirect": "https://example.com/complete?uid=[identifier]", "terminateRedirect": "https://example.com/terminate?uid=[identifier]", "overQuotaRedirect": "https://example.com/overquota?uid=[identifier]", "qualityTermRedirect": "https://example.com/securityterminate?uid=[identifier]", "surveyCloseRedirect": "https://example.com/closed?uid=[identifier]" } }
{ "status": false, "error": "Bad Request", "message": "An expected field is missing." }
{ "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
{ "status": false, "error": "Not Found", "message": "The requested resource was not found." }
{ "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

Get Survey Progress

GET survey/survey_progress

This API call returns real-time progress and status information for a specified survey, including outcomes such as complete, terminate, or drop-out.

Rate Limit: Maximum of 1 call every 5 minutes per survey.

Request

HEADER PARAMETERS

X-Account-Id string Required

The supplier’s unique ID.

Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

X-Authorization string Required

A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

X-Survey-Id string Required

The character string representing a unique survey ID.

Example: QSnoUStJDXiANB

RESPONSE PROPERTIES

surveys Object

Provides survey details along with progress information.

surveyId string

The character string representing a unique survey ID.

Example: QSnoUStJDXiANB

surveyCode string

A unique survey code used to identify or reference a specific survey.

Example: ALGN0001

status string

Indicates the current state of the survey, such as Live, Paused, completed, or closed.

Example:

  • Live
  • Paused
  • completed
  • closed
  • IR integer

    The calculation method for determining the IR (Incidence Rate) involves comparing the number of respondents who qualify for the survey to those who do not. This results in a percentage representing the proportion of eligible participants.

    Example: 80

    LOI integer

    The average time (minutes) allotted for a respondent to complete the survey.

    Example: 10

    CPI float

    The exact revenue paid to the supplier per complete. The CPI (Cost Per Interview) may vary in field due to changes in interview length and the difficulty of reaching the target sample.

    Example: 8.25

    completesNeeded integer

    Total number of completes needed for the survey.

    Example: 1000

    quotaCalculationType string

    A flag that defines whether quotas are tracked using survey completes or prescreens.

    Example: Completes/Clicks

    surveyEntrants integer

    Total number of respondents who have entered the survey.

    Example: 2000

    surveyCompletes integer

    Total number of survey responses marked as complete.

    Example: 500

    entrant integer

    Total count of supplier respondents who entered the survey.

    Example: 200

    complete integer

    Total count of supplier respondents who completed the survey.

    Example: 51

    terminate integer

    Total count of supplier respondents marked as terminated.

    Example: 20

    overQuota integer

    Total count of supplier respondents marked as over quota.

    Example: 5

    dropOut integer

    Total count of supplier respondents marked as drop-out.

    Example: 9

    medianLOI integer

    Average interview length (minutes) for qualified respondents.

    Example: 19 (min)

    terminateLOI integer

    Average interview length (minutes) for disqualified respondents.

    Example: 2 (min)

    EPC float

    Average revenue earned per click, based on CPI and completion rate.

    Example: 2.12

    conversionRate float

    Percentage of survey participants who completed the survey.

    Example: 25.5%

    dropRate float

    Percentage of survey participants who dropped out the survey.

    Example: 4.5%

    RESPONSE SAMPLES

    { "status": true, "surveys": { "surveyId": "QSnoUStJDXiANB", "surveyCode": "ALGN0001", "status": "Live", "IR": 80, "LOI": 10, "CPI": 8.25, "completesNeeded": 1000, "quotaCalculationType": "Completes", "progress": { "surveyEntrants": 2000, "surveyCompletes": 500, "entrant": 200, "complete": 51, "terminate": 20, "overQuota": 5, "dropOut": 9, "medianLOI": 19, "terminateLOI": 2, "EPC": 2.12, "conversionRate": "25.5%", "dropRate": "4.5%" } } }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Survey Qualifications

    GET survey/survey_qualifications

    This API call retrieves the qualification criteria associated with a survey. These criteria define the demographic or behavioral targeting rules that respondents must satisfy in order to be eligible for participation.

    Rate Limit: Maximum of 20 call per minute.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    X-Survey-Id string Required

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for the qualifications.

    Example: 4

    qualifications array

    Provides the list of qualifications linked to the specified survey.

    qualificationId integer

    The unique ID of a survey qualification.

    Example: 1

    name string

    The name of the survey qualification.

    Example: AGE

    questionText string

    The text of the survey qualification.

    Example: What is your age?

    questionType string

    "The type of the survey qualification.

    Example:

  • Numeric - Open-end
  • Text - Open-end
  • Single Punch
  • Multi Punch
  • rangeSets array

    Returns a list of range sets linked to the specified qualification.

    from integer

    The starting value of the range.

    Example: 21

    to integer

    The ending value of the range.

    Example: 25

    conditions array

    Returns the list of conditions linked to the specified qualification.

    conditionCode integer

    The unique ID of a survey qualification option.

    Example: 1

    conditionName string

    The text of a survey qualification option.

    Example: Male

    validCondition boolean

    Indicates whether the survey qualification option is allowed.

    Example: true/false

    zipCodes array

    Returns a list of zip codes linked to the specified qualification.

    RESPONSE SAMPLES

    { "status": true, "resultCount": 4, "qualifications": [ { "qualificationId": 1, "name": "AGE", "questionText": "What is your age?", "questionType": "Numeric - Open-end", "rangeSets": [ { "from": 21, "to": 25 }, { "from": 30, "to": 35 } ] }, { "qualificationId": 2, "name": "GENDER", "questionText": "Are you...?", "questionType": "Single Punch", "conditions": [ { "conditionCode": 1, "conditionName": "Male", "validCondition": true }, { "conditionCode": 2, "conditionName": "Female", "validCondition": true } ] }, { "qualificationId": 3, "name": "ZIP", "questionText": "What is your zip code?", "questionType": "Numeric - Open-end", "zipCodes": [ 90001, 90002 ] }, { "qualificationId": 4, "name": "STANDARD_B2B_DECISION_MAKER", "questionText": "Please choose which departments you have influence or decision making authority over regarding spending/purchasing.", "questionType": "Multi Punch", "conditions": [ { "conditionCode": 1, "conditionName": "IT Hardware", "validCondition": true }, { "conditionCode": 2, "conditionName": "IT Software", "validCondition": false }, { "conditionCode": 3, "conditionName": "Recruiting", "validCondition": true } ] } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Survey Qualifications Quotas

    GET survey/survey_quotas

    This API call retrieves the quota criteria associated with a survey. These criteria define the demographic or behavioral targets that must be met to control the number of respondents in specific groups.

    Rate Limit: Maximum of 20 call per minute.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    X-Survey-Id string Required

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for qualification quotas.

    Example: 4

    quotas array

    Provides the list of qualification quotas linked to the specified survey.

    qualificationId integer

    The unique ID of a survey qualification.

    Example: 1

    criteria array

    "Returns a list of criteria associated with the specified qualification.

    requiredCount integer

    The number of respondents for this survey qualification option.

    Example: 200

    conditionCode string

    The text of a survey qualification option.

    Example: 21-25

    zipCodes array

    Returns a list of zip codes linked to the specified qualification.

    RESPONSE SAMPLES

    { "status": true, "resultCount": 4, "quotas": [ { "qualificationId": 1, "criteria": [ { "requiredCount": 200, "conditionCode": "21-25" }, { "requiredCount": 200, "conditionCode": "30-35" } ] }, { "qualificationId": 2, "criteria": [ { "requiredCount": 200, "conditionCode": 1 }, { "requiredCount": 200, "conditionCode": 2 } ] }, { "qualificationId": 3, "criteria": { "requiredCount": 200, "zipCodes": [ 90001, 90002 ] } }, { "qualificationId": 4, "criteria": [ { "requiredCount": 200, "conditionCode": 1 }, { "requiredCount": 200, "conditionCode": 3 } ] } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Supported Countries

    GET definitions/country

    This API call returns a list of all countries available in the system, typically used for targeting or localization within surveys.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for countrys.

    Example: 2

    countrys array

    Provides a list of countries linked to the account.

    Id integer

    The unique ID of a country.

    Example: 1

    code string

    The ISO 2-letter code of the country.

    Example: AF

    name string

    The name of the country.

    Example: Afghanistan

    RESPONSE SAMPLES

    { "status": true, "resultCount": 2, "countrys": [ { "Id": 1, "code": "AF", "name": "Afghanistan" }, { "Id": 2, "code": "AL", "name": "Albania" } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Supported Languages

    GET definitions/language

    This API call returns a list of all languages available in the system, typically used for targeting or localization within surveys.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for languages.

    Example: 2

    languages array

    Provides a list of languages linked to the account.

    Id integer

    The unique ID of a language.

    Example: 1

    code string

    The ISO 2-letter code of the language.

    Example: AM

    name string

    The name of the language.

    Example: Amharic

    RESPONSE SAMPLES

    { "status": true, "resultCount": 2, "languages": [ { "Id": 1, "code": "AM", "name": "Amharic " }, { "Id": 2, "code": "AR", "name": "Arabic" } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Supported Study type

    GET definitions/study_type

    This API call returns a list of all study types available in the system, typically used in surveys.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for study types.

    Example: 2

    studyTypes array

    Provides a list of study types linked to the account.

    Id integer

    The unique ID of a study type.

    Example: 1

    name string

    The name of the study type.

    Example: Adhoc

    RESPONSE SAMPLES

    { "status": true, "resultCount": 2, "studyTypes": [ { "Id": 1, "name": "Adhoc" }, { "Id": 2, "name": "Community Build" } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Supported Verticals

    GET definitions/vertical

    This API call returns a list of all verticals available in the system, typically used in surveys.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for verticals.

    Example: 2

    verticals array

    Provides a list of verticals linked to the account.

    Id integer

    The unique ID of a vertical.

    Example: 1

    name string

    The name of the vertical.

    Example: Automotive

    RESPONSE SAMPLES

    { "status": true, "resultCount": 2, "verticals": [ { "Id": 1, "name": "Automotive" }, { "Id": 2, "name": "Beauty/Cosmetics" } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of Standard Qualifications

    GET definitions/qualification

    This API call returns a list of all standard qualification and qualification texts for the specified Country-Language pair.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique identifier passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    Content-Type string Required

    The content type of the request body.

    Example: application/json

    REQUEST BODY

    countryId integer Required

    A unique ID associated with the country.

    Example: 229

    languageId integer Required

    A unique ID associated with the language.

    Example: 5

    REQUEST SAMPLE

    application/json
    { "countryId": 229, "languageId": 5 }

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for qualifications.

    Example: 3

    qualifications array

    Provides a standard list of qualifications linked to the account.

    qualificationId integer

    The unique ID of a qualification.

    Example: 2

    name string

    The name of the qualification.

    Example: GENDER

    questionText string

    The text of the qualification.

    Example: Are you...?

    questionType string

    The type of the qualification.

    Example:

  • Numeric - Open-end
  • Text - Open-end
  • Single Punch
  • Multi Punch
  • conditions array

    Returns the list of conditions linked to the specified qualification.

    conditionCode integer

    The unique ID of a qualification option.

    Example: 1

    conditionName string

    The text of a qualification option.

    Example: Male

    RESPONSE SAMPLES

    { "status": true, "resultCount": 3, "qualifications": [ { "qualificationId": 1, "name": "AGE", "questionText": "What is your age?", "questionType": "Numeric - Open-end" }, { "qualificationId": 2, "name": "GENDER", "questionText": "Are you...?", "questionType": "Single Punch", "conditions": [ { "conditionCode": 1, "conditionName": "Male" }, { "conditionCode": 2, "conditionName": "Female" } ] }, { "qualificationId": 3, "name": "STANDARD_PETS", "questionText": "Which of the following pets are present in your household?", "questionType": "Multi Punch", "conditions": [ { "conditionCode": 1, "conditionName": "Cat(s)" }, { "conditionCode": 2, "conditionName": "Dog(s)" } ] } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    List of all webhooks for an account.

    GET webhook/list

    This API call returns a list of webhook configurations associated with the specified account, typically used for managing event notifications and integrations.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    RESPONSE PROPERTIES

    resultCount integer

    Returns the total number of results for webhooks.

    Example: 4

    webhooks array

    Provides a list of webhooks linked to the account.

    url string

    The HTTPS endpoint where webhook notifications will be delivered.

    Example: https://example.com/webhook

    event string

    The type of event you want to subscribe.

    Example:

  • SurveyUpdated - Triggered when survey details are updated.
  • QualificationUpdated - Triggered when the qualification/profile is updated.
  • QuotaUpdated - Triggered when quota information is updated.
  • reconciliationUpdated - Triggered when the project reconciliation is updated.
  • RESPONSE SAMPLES

    { "status": true, "resultCount": 4, "webhooks": [ { "url": "https://example.com/webhook", "event": "SurveyUpdated" }, { "url": "https://example.com/webhook", "event": "QualificationUpdated" }, { "url": "https://example.com/webhook", "event": "QuotaUpdated" }, { "url": "https://example.com/webhook", "event": "reconciliationUpdated" } ] }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    Create a new webhook

    POST webhook/create

    This API call create a new webhook configuration for the specified account, typically used to enable event-driven notifications for surveys, qualifications, or quotas.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    Content-Type string Required

    The content type of the request body.

    Example: application/json

    REQUEST BODY

    url string Required

    The HTTPS endpoint where webhook notifications will be delivered.

    Example: https://example.com/webhook

    event string Required

    The type of event you want to subscribe.

    Example:

  • SurveyUpdated - Triggered when survey details are updated.
  • QualificationUpdated - Triggered when the qualification/profile is updated.
  • QuotaUpdated - Triggered when quota information is updated.
  • reconciliationUpdated - Triggered when the project reconciliation is updated.
  • REQUEST SAMPLE

    application/json
    { "url": "https://example.com/webhook", "event": "SurveyUpdated" }

    RESPONSE SAMPLES

    { "status": true, "message": "Survey updates webhook successfully created." }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Conflict", "message": "The entity does not meet the required state." }
    { "status": false, "error": "Unprocessable Entity", "message": "The entity does not meet the required state." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    Update a webhook

    PUT webhook/update

    This API call update an existing webhook configuration for the specified account, typically used to modify event subscriptions or update endpoint details for surveys, qualifications, or quotas.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    Content-Type string Required

    The content type of the request body.

    Example: application/json

    REQUEST BODY

    url string Required

    The HTTPS endpoint where webhook notifications will be delivered.

    Example: https://example.com/webhook

    event string Required

    The type of event you want to subscribe.

    Example:

  • SurveyUpdated - Triggered when survey details are updated.
  • QualificationUpdated - Triggered when the qualification/profile is updated.
  • QuotaUpdated - Triggered when quota information is updated.
  • reconciliationUpdated - Triggered when the project reconciliation is updated.
  • REQUEST SAMPLE

    application/json
    { "url": "https://example.com/webhook", "event": "SurveyUpdated" }

    RESPONSE SAMPLES

    { "status": true, "message": "Survey updates webhook successfully updated." }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Unprocessable Entity", "message": "The entity does not meet the required state." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    Delete a webhook

    Delete webhook/delete

    This API call delete a webhook configuration from the specified account, typically used to remove event notifications and disable integrations for surveys, qualifications, or quotas.

    Rate Limit: Maximum of 1 call every 10 minutes.

    Request

    HEADER PARAMETERS

    X-Account-Id string Required

    The supplier’s unique ID.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    X-Authorization string Required

    A unique hash passed in the request header, used to retrieve specific data or authorise access to a protected resource.

    Example: 24e56c4435cb18503c7cb2da2b857c9df0daadcd4c34cdb8cbb949b4c4d83af9

    Content-Type string Required

    The content type of the request body.

    Example: application/json

    REQUEST BODY

    event string Required

    The type of event you want to subscribe.

    Example:

  • SurveyUpdated - Triggered when survey details are updated.
  • QualificationUpdated - Triggered when the qualification/profile is updated.
  • QuotaUpdated - Triggered when quota information is updated.
  • reconciliationUpdated - Triggered when the project reconciliation is updated.
  • REQUEST SAMPLE

    application/json
    { "event": "SurveyUpdated" }

    RESPONSE SAMPLES

    { "status": true, "message": "Survey updates webhook successfully deleted." }
    { "status": false, "error": "Bad Request", "message": "An expected field is missing." }
    { "status": false, "error": "Unauthorized", "message": "No valid authorisation for this operation." }
    { "status": false, "error": "Not Found", "message": "The requested resource was not found." }
    { "status": false, "error": "Unprocessable Entity", "message": "The entity does not meet the required state." }
    { "status": false, "error": "Internal Server Error", "message": "An internal error occurred." }

    Survey webhook response

    Delivers real-time survey updates to the supplier via their registered webhook URL.
    Includes essential details required to keep supplier systems in sync with survey availability and status.

    Request

    HEADER PARAMETERS

    X-Authorization string

    The supplier’s unique ID. This value is included in the X-Authorization header.
    Webhook consumers should validate it against their own records to confirm that the request originates from a trusted source.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    Content-Type string

    The content type of the request body.

    Example: application/json

    RESPONSE PROPERTIES

    surveyId string

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    surveyCode string

    A unique survey code used to identify or reference a specific survey.

    Example: ALGN0001

    studyTypeId integer

    A unique ID associated with the study type of the survey, indicating the survey’s format and purpose.

    Example: 1

    verticalId integer

    A unique ID associated with the vertical of the survey, representing the industry related to the survey’s topic.

    Example: 1

    collectPII boolean

    Indicates whether the survey collects the respondent’s personal information.

    Example: true/false

    IR integer

    The calculation method for determining the IR (Incidence Rate) involves comparing the number of respondents who qualify for the survey to those who do not. This results in a percentage representing the proportion of eligible participants.

    Example: 70

    LOI integer

    The average time (in minutes) allotted for a respondent to complete the survey.

    Example: 5

    isMobileAllowed boolean

    Indicates whether the survey allows participation from mobile users.

    Example: true/false

    isTabletAllowed boolean

    Indicates whether the survey allows participation from tablet users.

    Example: true/false

    isDesktopAllowed boolean

    Indicates whether the survey allows participation from desktop or laptop users.

    Example: true/false

    quotaCalculationType string

    A flag that defines whether quotas are tracked using survey completes or prescreens.

    Example: Completes/Clicks

    surveyEndDate datetime

    UTC timestamp in milliseconds since Unix epoch.
    Target date for survey closure. This property usually does not indicate a hard closure time, although buyers may opt to automatically close the study.

    Example: 1751155199000

    status string

    Indicates the current state of the survey, such as Live, Paused, completed, or closed.

    Example:

  • Live
  • Paused
  • completed
  • closed
  • CPI float

    The exact revenue paid to the supplier per complete. The CPI (Cost Per Interview) may vary in field due to changes in interview length and the difficulty of reaching the target sample.

    Example: 5.2

    completesNeeded integer

    Total number of completes needed for the survey.

    Example: 100

    RESPONSE SAMPLES

    application/json
    { "surveyId": "QSnoUStJDXiANB", "surveyCode": "ALGN0001", "studyTypeId": 5, "verticalId": 17, "collectPII": false, "IR": 75, "LOI": 5, "isMobileAllowed": false, "isTabletAllowed": false, "isDesktopAllowed": true, "quotaCalculationType": "Completes", "surveyEndDate": 1751155199000, "status": "Live", "CPI": 5.2, "completesNeeded": 350 }

    Profile webhook response

    Delivers real-time qualification updates to the supplier via their registered webhook URL.
    Includes essential details required to keep supplier systems in sync with qualification availability and status.

    Request

    HEADER PARAMETERS

    X-Authorization string

    The supplier’s unique ID. This value is included in the X-Authorization header.
    Webhook consumers should validate it against their own records to confirm that the request originates from a trusted source.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    Content-Type string

    The content type of the request body.

    Example: application/json

    RESPONSE PROPERTIES

    surveyId string

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    qualificationId integer

    The unique ID of a survey qualification.

    Example: 1

    event string

    Indicates the operation type for the survey qualification.

    Example:

  • ADD
  • UPDATE
  • DELETE
  • name string

    The name of the survey qualification.

    Example: AGE

    questionText string

    The text of the survey qualification.

    Example: What is your age?

    status string

    Represents the current status of the survey qualification.

    Example: Active/Inactive

    questionType string

    "The type of the survey qualification.

    Example:

  • Numeric - Open-end
  • Text - Open-end
  • Single Punch
  • Multi Punch
  • rangeSets array

    Returns a list of range sets linked to the specified qualification.

    from integer

    The starting value of the range.

    Example: 21

    to integer

    The ending value of the range.

    Example: 25

    conditions array

    Returns the list of conditions linked to the specified qualification.

    conditionCode integer

    The unique ID of a survey qualification option.

    Example: 1

    conditionName string

    The text of a survey qualification option.

    Example: Male

    validCondition boolean

    Indicates whether the survey qualification option is allowed.

    Example: true/false

    zipCodes array

    Returns a list of zip codes linked to the specified qualification.

    RESPONSE SAMPLES

    application/json
    Example 1
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 1, "event": "ADD", "name": "AGE", "questionText": "What is your age?", "status": "Active", "questionType": "Numeric - Open-end", "rangeSets": [ { "from": 21, "to": 25 }, { "from": 30, "to": 35 } ] }
    Example 2
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 2, "event": "UPDATE", "name": "GENDER", "questionText": "Are you...?", "status": "Active", "questionType": "Single Punch", "conditions": [ { "conditionCode": 1, "conditionName": "Male", "validCondition": true }, { "conditionCode": 2, "conditionName": "Female", "validCondition": true } ] }
    Example 3
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 3, "event": "ADD", "name": "ZIP", "questionText": "What is your zip code?", "status": "Active", "questionType": "Numeric - Open-end", "zipCodes": [ 90001, 90002 ] }
    Example 4
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 1, "event": "DELETE" }

    Quota webhook response

    Delivers real-time qualification quota updates to the supplier via their registered webhook URL.
    Includes essential details required to keep supplier systems in sync with qualification quota availability and status.

    Request

    HEADER PARAMETERS

    X-Authorization string

    The supplier’s unique ID. This value is included in the X-Authorization header.
    Webhook consumers should validate it against their own records to confirm that the request originates from a trusted source.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    Content-Type string

    The content type of the request body.

    Example: application/json

    RESPONSE PROPERTIES

    surveyId string

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    qualificationId integer

    The unique ID of a survey qualification.

    Example: 1

    criteria array

    Returns a list of criteria associated with the specified qualification.

    requiredCount integer

    The number of respondents for this survey qualification option.

    Example: 10

    conditionCode string

    "The text of a survey qualification option.

    Example: 21-25

    zipCodes array

    Returns a list of zip codes linked to the specified qualification.

    RESPONSE SAMPLES

    application/json
    Example 1
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 1, "criteria": [ { "requiredCount": 10, "conditionCode": "21-25" }, { "requiredCount": 10, "conditionCode": "30-35" } ] }
    Example 2
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 2, "criteria": [ { "requiredCount": 10, "conditionCode": 1 }, { "requiredCount": 10, "conditionCode": 2 } ] }
    Example 3
    { "surveyId": "QSnoUStJDXiANB", "qualificationId": 3, "criteria": { "requiredCount": 10, "zipCodes": [ 90001, 90002 ] } }

    Reconciliation webhook response

    Delivers reconciliation data to the supplier via their registered webhook URL.
    Includes essential details required to keep supplier systems in sync with survey completions and verified respondent identifiers.

    Request

    HEADER PARAMETERS

    X-Authorization string

    The supplier’s unique ID. This value is included in the X-Authorization header.
    Webhook consumers should validate it against their own records to confirm that the request originates from a trusted source.

    Example: 2b60bC8284bcdaA50fd7d116Bb8e5b6

    Content-Type string

    The content type of the request body.

    Example: application/json

    RESPONSE PROPERTIES

    surveyId string

    The character string representing a unique survey ID.

    Example: QSnoUStJDXiANB

    resultCount integer

    The total number of unique UIDs present in uids array.

    Example: 5

    uids array

    An array of accepted UIDs associated with the specified survey.

    RESPONSE SAMPLES

    application/json
    { "surveyId": "QSnoUStJDXiANB", "resultCount": 5, "uids": [ "65df4bd9-42fb-d06f-c3bb-e60e6b6c3", "65df6122-6515-3761-6ddd-f40df9473", "65df648f-6986-fc77-9d1c-ecec99530", "65df64df-29e0-9cfc-ab51-82ff5635c", "65df657b-a206-df3d-81a0-1bca1683d" ] }