For the complete documentation index, see llms.txt. This page is also available as Markdown.

Surveys

List All Surveys

get

Returns a list of surveys for the program. Supports filtering by name, status, partner IDs, and publisher groups.

Deleted (archived) surveys are not included in the results.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

Query parameters
QuerystringOptional

Filter surveys by name.

Statusstring · enumOptional

Filter by survey status.

Possible values:
PartnerIdsinteger · int64[]Optional

Filter surveys whose access is restricted to one or more of the given partner IDs. Does not filter by which partners responded.

PublisherGroupsstring[]Optional

Filter to surveys whose access is restricted to one or more of the given publisher group names. Does not filter by which partners responded.

Responses
200

A list of surveys.

application/json
get/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys
GET /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys HTTP/1.1
Host: api.impact.com
Accept: */*
{
  "Surveys": [
    {
      "Id": 789,
      "Name": "Partner Onboarding Survey",
      "Description": "Survey for new partners joining the program",
      "StartDate": "2026-06-01T00:00:00Z",
      "EndDate": "2026-12-31T23:59:59Z",
      "Status": "Active",
      "CoverImageUrl": "https://example.com/images/onboarding-cover.png",
      "QuestionsCount": 2,
      "ResponsesCount": 14,
      "CreatedDate": "2026-05-20T09:30:00Z",
      "UpdatedDate": "2026-05-22T16:45:00Z"
    },
    {
      "Id": 802,
      "Name": "Q3 Content Preferences",
      "Description": "Understand partner content categories",
      "StartDate": "2026-07-01T00:00:00Z",
      "EndDate": null,
      "Status": "Upcoming",
      "CoverImageUrl": "https://example.com/images/q3-cover.png",
      "QuestionsCount": 3,
      "ResponsesCount": 0,
      "CreatedDate": "2026-06-10T11:00:00Z",
      "UpdatedDate": "2026-06-10T11:00:00Z"
    }
  ]
}

Create a Survey

post

Creates a survey. Requires a name and a list of questions. Optional fields include dates, timezone, cover image URL, and partner/group restrictions.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

Body
Namestring · max: 255Required

Name of the survey.

DescriptionstringOptional

Description of the survey.

StartDatestring · dateOptional

Start date (ISO 8601).

EndDatestring · dateOptional

End date (ISO 8601).

TimezonestringOptional

IANA timezone ID (e.g. America/New_York, UTC). Stored for reference.

CoverImageUrlstringOptional

URL for the survey cover image. If not provided, the brand's logo is used. Supported file extensions: gif, jpg, png, and webp.

RestrictToPartnersinteger · int64[]Optional

Set of partner IDs to restrict the survey to.

RestrictToGroupsstring[]Optional

Set of group names to restrict the survey to. Group names are case-sensitive.

Responses
201

The created survey.

application/json
Idinteger · int64Optional
NamestringOptional
DescriptionstringOptional
StartDatestring · date-timeOptional
EndDatestring · nullableOptional
Statusstring · enumOptional

Automatically calculated from the date range. Active = no restrictions or currently within range; Upcoming = start date in the future; Expired = end date in the past.

Possible values:
CoverImageUrlstringOptional
QuestionsCountintegerOptional
ResponsesCountintegerOptional
CreatedDatestring · date-timeOptional
UpdatedDatestring · date-timeOptional
post/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys
POST /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys HTTP/1.1
Host: api.impact.com
Content-Type: application/json
Accept: */*
Content-Length: 389

{
  "Name": "Partner Onboarding Survey",
  "Description": "Survey for new partners",
  "StartDate": "2026-06-01",
  "EndDate": "2026-12-31",
  "Timezone": "America/New_York",
  "RestrictToPartners": [
    1001,
    1002
  ],
  "Questions": [
    {
      "Question": "What is your website URL?",
      "CustomFieldId": 42,
      "ResponseRequired": true
    },
    {
      "Question": "What is your region?",
      "CustomFieldId": 43,
      "ResponseRequired": false,
      "ResponseEditable": true
    }
  ]
}
{
  "Id": 1,
  "Name": "text",
  "Description": "text",
  "StartDate": "2026-01-01T00:00:00.000Z",
  "EndDate": null,
  "Status": "Active",
  "CoverImageUrl": "text",
  "QuestionsCount": 1,
  "ResponsesCount": 1,
  "CreatedDate": "2026-01-01T00:00:00.000Z",
  "UpdatedDate": "2026-01-01T00:00:00.000Z",
  "Questions": [
    {
      "Id": 1,
      "Question": "text",
      "CustomFieldId": 1,
      "ResponseRequired": true,
      "ResponseEditable": true,
      "Rank": 1,
      "CustomField": {
        "Id": 1,
        "Name": "text",
        "Description": "text",
        "DisplayType": "Paragraph",
        "Enumerations": [
          {
            "Id": 1,
            "Value": "text"
          }
        ]
      }
    }
  ]
}

Get a Survey

get

Returns full survey details, including all questions and their linked custom field information.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

SurveyIdinteger · int64Required

The survey ID.

Responses
200

The requested survey.

application/json
Idinteger · int64Optional
NamestringOptional
DescriptionstringOptional
StartDatestring · date-timeOptional
EndDatestring · nullableOptional
Statusstring · enumOptional

Automatically calculated from the date range. Active = no restrictions or currently within range; Upcoming = start date in the future; Expired = end date in the past.

Possible values:
CoverImageUrlstringOptional
QuestionsCountintegerOptional
ResponsesCountintegerOptional
CreatedDatestring · date-timeOptional
UpdatedDatestring · date-timeOptional
get/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}
GET /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId} HTTP/1.1
Host: api.impact.com
Accept: */*
{
  "Id": 789,
  "Name": "Partner Onboarding Survey",
  "Description": "Survey for new partners joining the program",
  "StartDate": "2026-06-01T00:00:00Z",
  "EndDate": "2026-12-31T23:59:59Z",
  "Status": "Active",
  "CoverImageUrl": "https://example.com/images/onboarding-cover.png",
  "QuestionsCount": 2,
  "ResponsesCount": 14,
  "CreatedDate": "2026-05-20T09:30:00Z",
  "UpdatedDate": "2026-05-22T16:45:00Z",
  "Questions": [
    {
      "Id": 10,
      "Question": "What is your website URL?",
      "CustomFieldId": 42,
      "ResponseRequired": true,
      "ResponseEditable": false,
      "Rank": 1,
      "CustomField": {
        "Id": 42,
        "Name": "Website URL",
        "Description": "The partner's primary website",
        "DisplayType": "Paragraph",
        "Enumerations": []
      }
    },
    {
      "Id": 11,
      "Question": "What is your primary region?",
      "CustomFieldId": 43,
      "ResponseRequired": false,
      "ResponseEditable": true,
      "Rank": 2,
      "CustomField": {
        "Id": 43,
        "Name": "Region",
        "Description": "Primary operating region",
        "DisplayType": "Dropdown list",
        "Enumerations": [
          {
            "Id": 100,
            "Value": "Americas"
          },
          {
            "Id": 101,
            "Value": "EMEA"
          },
          {
            "Id": 102,
            "Value": "APAC"
          }
        ]
      }
    }
  ]
}

Delete a Survey

delete

Archives the survey and its questions.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

SurveyIdinteger · int64Required

The survey ID.

Responses
200

The survey was archived.

application/json
StatusstringOptional
delete/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}
DELETE /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId} HTTP/1.1
Host: api.impact.com
Accept: */*
{
  "Status": "SUCCESS"
}

Update a Survey

patch

Partially updates a survey. Only the fields provided are updated. Questions with an Id are updated; questions without an Id are created.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

SurveyIdinteger · int64Required

The survey ID.

Body

All fields are optional. Only the fields provided are updated.

Namestring · max: 255Optional

Updated name of the survey.

DescriptionstringOptional

Updated description of the survey.

StartDatestring · dateOptional

Updated start date (ISO 8601).

EndDatestring · dateOptional

Updated end date (ISO 8601).

TimezonestringOptional

IANA timezone ID (e.g. America/New_York, UTC). Stored for reference.

CoverImageUrlstringOptional

Updated cover image URL.

RestrictToPartnersinteger · int64[]Optional

Set of partner IDs to restrict the survey to.

RestrictToGroupsstring[]Optional

Set of group names to restrict the survey to. Group names are case-sensitive.

Responses
200

The updated survey.

application/json
Idinteger · int64Optional
NamestringOptional
DescriptionstringOptional
StartDatestring · date-timeOptional
EndDatestring · nullableOptional
Statusstring · enumOptional

Automatically calculated from the date range. Active = no restrictions or currently within range; Upcoming = start date in the future; Expired = end date in the past.

Possible values:
CoverImageUrlstringOptional
QuestionsCountintegerOptional
ResponsesCountintegerOptional
CreatedDatestring · date-timeOptional
UpdatedDatestring · date-timeOptional
patch/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}
PATCH /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId} HTTP/1.1
Host: api.impact.com
Content-Type: application/json
Accept: */*
Content-Length: 221

{
  "Name": "Creator Onboarding Survey",
  "Questions": [
    {
      "Id": 10,
      "Question": "What is your favorite color?",
      "CustomFieldId": 42,
      "ResponseRequired": true
    },
    {
      "Question": "How old are you?",
      "CustomFieldId": 44,
      "ResponseRequired": false
    }
  ]
}
{
  "Id": 789,
  "Name": "Creator Onboarding Survey",
  "Description": "Survey for new creators joining the program",
  "StartDate": "2026-06-01T00:00:00Z",
  "EndDate": "2026-12-31T23:59:59Z",
  "Status": "Active",
  "CoverImageUrl": "https://example.com/images/onboarding-cover.png",
  "QuestionsCount": 2,
  "ResponsesCount": 0,
  "CreatedDate": "2026-05-20T09:30:00Z",
  "UpdatedDate": "2026-06-18T10:15:00Z",
  "Questions": [
    {
      "Id": 10,
      "Question": "What is your favorite color?",
      "CustomFieldId": 42,
      "ResponseRequired": true,
      "ResponseEditable": false,
      "Rank": 1,
      "CustomField": {
        "Id": 42,
        "Name": "Favorite color",
        "Description": "The creator's favorite color",
        "DisplayType": "Dropdown list",
        "Enumerations": [
          {
            "Id": 100,
            "Value": "Red"
          },
          {
            "Id": 101,
            "Value": "Blue"
          },
          {
            "Id": 102,
            "Value": "Green"
          }
        ]
      }
    },
    {
      "Id": 12,
      "Question": "How old are you?",
      "CustomFieldId": 44,
      "ResponseRequired": false,
      "ResponseEditable": false,
      "Rank": 2,
      "CustomField": {
        "Id": 44,
        "Name": "Age",
        "Description": "The creator's age",
        "DisplayType": "Number",
        "Enumerations": []
      }
    }
  ]
}

Retrieve Survey Responses

get

Returns deduplicated responses, showing only the most recent answer per question per user. Supports filtering by partner ID, question ID, and date range.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

SurveyIdinteger · int64Required

The survey ID.

Query parameters
PartnerIdsinteger · int64[]Optional

Filter responses by one or more partner IDs.

QuestionIdsinteger · int64[]Optional

Filter responses by one or more question IDs.

DateFromstring · dateOptional

Filter responses from this date (ISO 8601, e.g. 2026-01-01).

DateTostring · dateOptional

Filter responses up to this date (ISO 8601, e.g. 2026-06-30).

Responses
200

A list of survey responses.

application/json
get/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}/Responses
GET /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}/Responses HTTP/1.1
Host: api.impact.com
Accept: */*
{
  "Responses": [
    {
      "Id": 5001,
      "QuestionId": 10,
      "Question": "What is your website URL?",
      "PartnerId": 1001,
      "PartnerName": "Acme Media",
      "UserId": 30501,
      "UserEmail": "jordan@acmemedia.com",
      "ResponseValue": "https://www.acmemedia.com",
      "ResponseDate": "2026-06-05T14:22:00Z",
      "CustomFieldId": 42
    },
    {
      "Id": 5002,
      "QuestionId": 11,
      "Question": "What is your primary region?",
      "PartnerId": 1001,
      "PartnerName": "Acme Media",
      "UserId": 30501,
      "UserEmail": "jordan@acmemedia.com",
      "ResponseValue": "101",
      "ResponseDate": "2026-06-05T14:23:00Z",
      "CustomFieldId": 43
    }
  ]
}

Upload a Cover Image

post

Uploads a cover image for the survey. Uploading a cover image is optional — if no cover image is set, the brand's logo is used.

Path parameters
AccountSidstringRequired

The Account SID.

ProgramIdinteger · int64Required

The program ID.

SurveyIdinteger · int64Required

The survey ID.

Body
CoverImageFilestring · binaryRequired

Cover image file. Supported file extensions: .png, .jpg, .jpeg, .gif, .webp. Maximum file size: 20 MB.

Responses
200

Returns the full survey detail with the updated cover image URL (same structure as Get a Survey).

application/json
StatusstringOptional
post/Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}/CoverImage
POST /Advertisers/{AccountSid}/Programs/{ProgramId}/Surveys/{SurveyId}/CoverImage HTTP/1.1
Host: api.impact.com
Content-Type: multipart/form-data
Accept: */*
Content-Length: 27

{
  "CoverImageFile": "binary"
}
{
  "Status": "SUCCESS",
  "Body": {
    "Id": 789,
    "Name": "Partner Onboarding Survey",
    "CoverImageUrl": "https://cdn.example.com/uploaded-cover.png"
  }
}

Last updated