Definition

PUT - 3/surveys/{surveyId}/sso

Set the SSO settings of a survey.

Required roles: Survey (write)
  • The owner of the API key needs a survey SSO permission. With only the non-PII permission, a survey cannot be set to on_all_attributes. * The account's SSO configuration must be saved and validated. * Not possible while a targeted panel distribution is active, or for a survey that does not use the current survey interface. * Allowed on a live survey: each response records whether it was collected with SSO.

Request information

surveyId

The id of the survey.


Type integer
Additional info
Required

The SSO settings. Every field is set as sent.

SsoStatus

The SSO state: off, on_no_attributes, on_non_pii_attributes or on_all_attributes. Required.


IdentityMatchEnabled

Whether a respondent on a personalised link must be the invited contact. Requires SSO to be on, and both fields below.


Type boolean
IdentityMatchContactField

The contact field compared when identity match is enabled.


Type string
IdentityMatchClaimName

The identity provider claim compared when identity match is enabled. Must be one of the account's mapped claims.


Type string
Sample:
{
  "SsoStatus": "off",
  "IdentityMatchEnabled": true,
  "IdentityMatchContactField": "sample string 2",
  "IdentityMatchClaimName": "sample string 3"
}
Sample:
<SetSurveySsoRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <IdentityMatchClaimName>sample string 3</IdentityMatchClaimName>
  <IdentityMatchContactField>sample string 2</IdentityMatchContactField>
  <IdentityMatchEnabled>true</IdentityMatchEnabled>
  <SsoStatus>off</SsoStatus>
</SetSurveySsoRequest>

Response information

Payload containing the survey's SSO settings as stored.


Meta

The metadata such as paging parameters, status code, timestamp,... which are related to this request.


Type MetaData
Data

The actual data returned by the request.


Links

HATEOAS related to this object. It wil contain relevant url's such as previous and next page for paged results, create/update/delete action. These url's can be used in your application for the next steps in your application logic.


Type Hateoas
Note about API metadata
The API uses the same metadata structure for all endpoints, but not every field applies to every endpoint. Fields such as paging details (for example Limit, Offset and TotalRowCount) and IsFiltered are only returned by endpoints that support them. Fields that do not apply are not included in the actual response.
Sample:
{
  "Meta": {
    "Status": 1,
    "TotalRowCount": 1,
    "Limit": 1,
    "Offset": 1,
    "TotalPageCount": 1,
    "StartRec": 1,
    "StopRec": 1,
    "Timestamp": "2026-11-13T20:04:51.8592408Z",
    "IsFiltered": true
  },
  "Data": {
    "SurveyId": 1,
    "Title": "sample string 2",
    "OwnerUserId": 3,
    "OwnerDisplayName": "sample string 4",
    "SsoStatus": "off",
    "IdentityMatchEnabled": true,
    "IdentityMatchContactField": "sample string 6",
    "IdentityMatchClaimName": "sample string 7"
  }
}
Sample:
<Payload xmlns:i="http://www.w3.org/2001/XMLSchema-instance" z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
  <Data z:Id="i2">
    <IdentityMatchClaimName>sample string 7</IdentityMatchClaimName>
    <IdentityMatchContactField>sample string 6</IdentityMatchContactField>
    <IdentityMatchEnabled>true</IdentityMatchEnabled>
    <OwnerDisplayName>sample string 4</OwnerDisplayName>
    <OwnerUserId>3</OwnerUserId>
    <SsoStatus>off</SsoStatus>
    <SurveyId>1</SurveyId>
    <Title>sample string 2</Title>
  </Data>
  <Meta>
    <IsFiltered>true</IsFiltered>
    <Limit>1</Limit>
    <Offset>1</Offset>
    <StartRec>1</StartRec>
    <Status>1</Status>
    <StopRec>1</StopRec>
    <Timestamp>2026-11-13T20:04:51.8592408+00:00</Timestamp>
    <TotalPageCount>1</TotalPageCount>
    <TotalRowCount>1</TotalRowCount>
  </Meta>
</Payload>