---
updatedAt: 2025-10-20T18:32:01.000Z
agentTools:
  projectIndex: https://marketing.developer.dotdigital.com/llms.txt
---

# GetSurveyFields

Gets a list of survey pages, each containing a list of the fields on that page

<span class="callRateHigh"></span>

This method retrieves a list of a survey's pages, with each one containing a list of the fields on that page.

**SOAP action:** [http://apiconnector.com/v2/ApiService/GetSurveyFields](https://marketing.developer.dotdigital.com/docs/getsurveyfields)

> 📘 Input and output parameters
>
> The input and output parameters for this method are:
>
> **Input parameters**
>
> * Survey ID - *required; integer*
>
> **Output parameters**
>
> * GetSurveyFieldsResult - *array of SurveyPage*
>   * SurveyPage
>     * Id - *integer*
>     * Name - *string*
>     * Fields - *array of SurveyField*
>       * SurveyField
>         * Id - *integer*
>         * Type - *string*
>         * Text - *string*
>         * IsRequired - *boolean*
>         * DefaultValue - *string*
>         * Mode - *string*
>         * Choices - *array of SurveyQuestionChoice*
>           * SurveyQuestionChoice
>             * Id - *integer*
>             * Text - *string*
>       * SubFields - *array of SurveyField*
>         * SurveyField
>           * Id - *integer*
>           * Type - *string*
>           * Text - *string*
>           * IsRequired - *boolean*
>           * DefaultValue - *string*
>           * Mode - *string*
>           * Choices - *array of SurveyQuestionChoice*
>             * SurveyQuestionChoice
>               * Id - *integer*
>               * Text - *string*
>           * SubFields - *array of SurveyField*
>             * SurveyField
>               * Id - *integer*
>               * Type - *string*
>               * Text - *string*
>               * IsRequired - *boolean*
>               * DefaultValue - *string*
>               * Mode - *string*
>               * Choices - *array of SurveyQuestionChoice*
>                 * SurveyQuestionChoice
>                   * Id - *integer*
>                   * Text - *string*
>               * SubFields - *array of SurveyField...is recursive*
>               * HasOtherOption - *boolean*
>               * OtherOptionChoiceId - *integer*
>               * OtherOptionSubFieldId - *integer*
>               * OtherOptionTextFieldId - *integer*
>               * IsAssignedToContactDataField - *boolean*
>               * AssignedContactDataFieldName - *string*
>               * AssignedContactDataExistsAction - *string ('OverwriteData', 'HideField')*
>           * HasOtherOption - *boolean*
>           * OtherOptionChoiceId - *integer*
>           * OtherOptionSubFieldId - *integer*
>           * OtherOptionTextFieldId - *integer*
>           * IsAssignedToContactDataField - *boolean*
>           * AssignedContactDataFieldName - *string*
>           * AssignedContactDataExistsAction - *string ('OverwriteData', 'HideField')*

**Example**

```csharp
using (var client = new ApiServiceClient())
{
	client.ClientCredentials.UserName.UserName = "username";
	client.ClientCredentials.UserName.Password = "password";

	var surveyId = 1;
	var surveyFields = client.GetSurveyFields(surveyId);
}
```

# Sibling pages

* [GetSurveys](https://marketing.developer.dotdigital.com/reference/getsurveys.md)
* [GetSurveyById](https://marketing.developer.dotdigital.com/reference/getsurveybyid.md)
* [GetSurveyResponses](https://marketing.developer.dotdigital.com/reference/getsurveyresponses.md)
* [GetSurveyResponsesWithActivitySinceDate](https://marketing.developer.dotdigital.com/reference/getsurveyresponseswithactivitysincedate.md)
* [GetSurveysWithActivitySinceDate](https://marketing.developer.dotdigital.com/reference/getsurveyswithactivitysincedate.md)