# Consumer Surveys API . surveys

## Instance Methods

Removes a survey from view in all user GET requests.

Retrieves information about the specified survey.

Creates a survey.

Lists the surveys owned by the authenticated user.

Begins running a survey.

Stops a running survey.

Updates a survey. Currently the only property that can be updated is the owners property.

### Method Details

`delete(surveyUrlId)`

    Removes a survey from view in all user GET requests.

    Args:
      surveyUrlId: string, External URL ID for the survey. (required)

    Returns:
      An object of the form:

        {
        "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
      }

`get(surveyUrlId)`

    Retrieves information about the specified survey.

    Args:
      surveyUrlId: string, External URL ID for the survey. (required)

    Returns:
      An object of the form:

        { # Representation of an individual survey object.
          "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
            "A String",
          ],
          "description": "A String", # Text description of the survey.
          "title": "A String", # Optional name that will be given to the survey.
          "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
          "state": "A String", # State that the survey is in.
          "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
            "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
            "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
            "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
            "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
              "A String",
            ],
            "populationSource": "A String", # Online population source where the respondents are sampled from.
            "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
              "A String",
            ],
            "gender": "A String", # Optional gender to target.
          },
          "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
            "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
            "currencyCode": "A String", # Currency code that the cost is given in.
            "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
            "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
          },
          "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
          "questions": [ # List of questions defining the survey.
            { # Message defining the question specifications.
              "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
              "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
              "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                "A String",
              ],
              "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
              "question": "A String", # Required question text shown to the respondent.
              "numStars": "A String", # Number of stars to use for ratings questions.
              "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
              "videoId": "A String", # The YouTube video ID to be show in video questions.
              "answers": [ # Required list of answer options for a question.
                "A String",
              ],
              "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
              "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
              "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
              "images": [
                { # Container object for image data and alt_text.
                  "url": "A String", # The read-only URL for the hosted images.
                  "altText": "A String", # The alt text property used in image tags is required for all images.
                  "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                },
              ],
              "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
              "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                "A String",
              ],
              "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
              "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
              "openTextPlaceholder": "A String", # Placeholder text for an open text question.
            },
          ],
          "wantedResponseCount": 42, # Number of responses desired for the survey.
          "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
            "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
            "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
          },
        }

`insert(body)`

    Creates a survey.

    Args:
      body: object, The request body. (required)
        The object takes the form of:

    { # Representation of an individual survey object.
        "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
          "A String",
        ],
        "description": "A String", # Text description of the survey.
        "title": "A String", # Optional name that will be given to the survey.
        "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
        "state": "A String", # State that the survey is in.
        "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
          "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
          "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
          "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
          "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
            "A String",
          ],
          "populationSource": "A String", # Online population source where the respondents are sampled from.
          "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
            "A String",
          ],
          "gender": "A String", # Optional gender to target.
        },
        "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
          "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
          "currencyCode": "A String", # Currency code that the cost is given in.
          "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
          "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
        },
        "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
        "questions": [ # List of questions defining the survey.
          { # Message defining the question specifications.
            "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
            "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
            "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
              "A String",
            ],
            "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
            "question": "A String", # Required question text shown to the respondent.
            "numStars": "A String", # Number of stars to use for ratings questions.
            "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
            "videoId": "A String", # The YouTube video ID to be show in video questions.
            "answers": [ # Required list of answer options for a question.
              "A String",
            ],
            "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
            "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
            "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
            "images": [
              { # Container object for image data and alt_text.
                "url": "A String", # The read-only URL for the hosted images.
                "altText": "A String", # The alt text property used in image tags is required for all images.
                "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
              },
            ],
            "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
            "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
              "A String",
            ],
            "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
            "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
            "openTextPlaceholder": "A String", # Placeholder text for an open text question.
          },
        ],
        "wantedResponseCount": 42, # Number of responses desired for the survey.
        "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
          "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
          "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
        },
      }

    Returns:
      An object of the form:

        { # Representation of an individual survey object.
          "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
            "A String",
          ],
          "description": "A String", # Text description of the survey.
          "title": "A String", # Optional name that will be given to the survey.
          "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
          "state": "A String", # State that the survey is in.
          "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
            "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
            "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
            "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
            "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
              "A String",
            ],
            "populationSource": "A String", # Online population source where the respondents are sampled from.
            "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
              "A String",
            ],
            "gender": "A String", # Optional gender to target.
          },
          "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
            "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
            "currencyCode": "A String", # Currency code that the cost is given in.
            "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
            "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
          },
          "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
          "questions": [ # List of questions defining the survey.
            { # Message defining the question specifications.
              "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
              "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
              "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                "A String",
              ],
              "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
              "question": "A String", # Required question text shown to the respondent.
              "numStars": "A String", # Number of stars to use for ratings questions.
              "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
              "videoId": "A String", # The YouTube video ID to be show in video questions.
              "answers": [ # Required list of answer options for a question.
                "A String",
              ],
              "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
              "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
              "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
              "images": [
                { # Container object for image data and alt_text.
                  "url": "A String", # The read-only URL for the hosted images.
                  "altText": "A String", # The alt text property used in image tags is required for all images.
                  "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                },
              ],
              "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
              "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                "A String",
              ],
              "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
              "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
              "openTextPlaceholder": "A String", # Placeholder text for an open text question.
            },
          ],
          "wantedResponseCount": 42, # Number of responses desired for the survey.
          "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
            "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
            "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
          },
        }

`list(startIndex=None, maxResults=None, token=None)`

    Lists the surveys owned by the authenticated user.

    Args:
      startIndex: integer, A parameter
      maxResults: integer, A parameter
      token: string, A parameter

    Returns:
      An object of the form:

        {
        "tokenPagination": {
          "nextPageToken": "A String",
          "previousPageToken": "A String",
        },
        "pageInfo": {
          "totalResults": 42,
          "startIndex": 42,
          "resultPerPage": 42,
        },
        "resources": [ # An individual survey resource.
          { # Representation of an individual survey object.
              "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
                "A String",
              ],
              "description": "A String", # Text description of the survey.
              "title": "A String", # Optional name that will be given to the survey.
              "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
              "state": "A String", # State that the survey is in.
              "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
                "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
                "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
                "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
                "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
                  "A String",
                ],
                "populationSource": "A String", # Online population source where the respondents are sampled from.
                "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
                  "A String",
                ],
                "gender": "A String", # Optional gender to target.
              },
              "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
                "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
                "currencyCode": "A String", # Currency code that the cost is given in.
                "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
                "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
              },
              "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
              "questions": [ # List of questions defining the survey.
                { # Message defining the question specifications.
                  "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
                  "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
                  "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                    "A String",
                  ],
                  "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
                  "question": "A String", # Required question text shown to the respondent.
                  "numStars": "A String", # Number of stars to use for ratings questions.
                  "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
                  "videoId": "A String", # The YouTube video ID to be show in video questions.
                  "answers": [ # Required list of answer options for a question.
                    "A String",
                  ],
                  "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
                  "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
                  "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
                  "images": [
                    { # Container object for image data and alt_text.
                      "url": "A String", # The read-only URL for the hosted images.
                      "altText": "A String", # The alt text property used in image tags is required for all images.
                      "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                    },
                  ],
                  "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
                  "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                    "A String",
                  ],
                  "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
                  "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
                  "openTextPlaceholder": "A String", # Placeholder text for an open text question.
                },
              ],
              "wantedResponseCount": 42, # Number of responses desired for the survey.
              "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
                "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
                "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
              },
            },
        ],
        "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
      }

`start(resourceId, body)`

    Begins running a survey.

    Args:
      resourceId: string, A parameter (required)
      body: object, The request body. (required)
        The object takes the form of:

    {
        "maxCostPerResponseNanos": "A String", # Threshold to start a survey automically if the quoted prices is less than or equal to this value. See Survey.Cost for more details.
      }

    Returns:
      An object of the form:

        {
        "resource": { # Representation of an individual survey object. # Survey object containing the specification of the started Survey.
            "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
              "A String",
            ],
            "description": "A String", # Text description of the survey.
            "title": "A String", # Optional name that will be given to the survey.
            "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
            "state": "A String", # State that the survey is in.
            "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
              "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
              "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
              "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
              "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
                "A String",
              ],
              "populationSource": "A String", # Online population source where the respondents are sampled from.
              "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
                "A String",
              ],
              "gender": "A String", # Optional gender to target.
            },
            "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
              "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
              "currencyCode": "A String", # Currency code that the cost is given in.
              "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
              "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
            },
            "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
            "questions": [ # List of questions defining the survey.
              { # Message defining the question specifications.
                "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
                "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
                "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                  "A String",
                ],
                "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
                "question": "A String", # Required question text shown to the respondent.
                "numStars": "A String", # Number of stars to use for ratings questions.
                "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
                "videoId": "A String", # The YouTube video ID to be show in video questions.
                "answers": [ # Required list of answer options for a question.
                  "A String",
                ],
                "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
                "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
                "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
                "images": [
                  { # Container object for image data and alt_text.
                    "url": "A String", # The read-only URL for the hosted images.
                    "altText": "A String", # The alt text property used in image tags is required for all images.
                    "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                  },
                ],
                "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
                "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                  "A String",
                ],
                "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
                "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
                "openTextPlaceholder": "A String", # Placeholder text for an open text question.
              },
            ],
            "wantedResponseCount": 42, # Number of responses desired for the survey.
            "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
              "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
              "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
            },
          },
        "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
      }

`stop(resourceId)`

    Stops a running survey.

    Args:
      resourceId: string, A parameter (required)

    Returns:
      An object of the form:

        {
        "resource": { # Representation of an individual survey object. # Survey object containing the specification of the stopped Survey.
            "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
              "A String",
            ],
            "description": "A String", # Text description of the survey.
            "title": "A String", # Optional name that will be given to the survey.
            "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
            "state": "A String", # State that the survey is in.
            "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
              "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
              "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
              "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
              "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
                "A String",
              ],
              "populationSource": "A String", # Online population source where the respondents are sampled from.
              "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
                "A String",
              ],
              "gender": "A String", # Optional gender to target.
            },
            "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
              "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
              "currencyCode": "A String", # Currency code that the cost is given in.
              "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
              "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
            },
            "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
            "questions": [ # List of questions defining the survey.
              { # Message defining the question specifications.
                "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
                "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
                "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                  "A String",
                ],
                "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
                "question": "A String", # Required question text shown to the respondent.
                "numStars": "A String", # Number of stars to use for ratings questions.
                "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
                "videoId": "A String", # The YouTube video ID to be show in video questions.
                "answers": [ # Required list of answer options for a question.
                  "A String",
                ],
                "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
                "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
                "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
                "images": [
                  { # Container object for image data and alt_text.
                    "url": "A String", # The read-only URL for the hosted images.
                    "altText": "A String", # The alt text property used in image tags is required for all images.
                    "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                  },
                ],
                "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
                "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                  "A String",
                ],
                "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
                "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
                "openTextPlaceholder": "A String", # Placeholder text for an open text question.
              },
            ],
            "wantedResponseCount": 42, # Number of responses desired for the survey.
            "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
              "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
              "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
            },
          },
        "requestId": "A String", # Unique request ID used for logging and debugging. Please include in any error reporting or troubleshooting requests.
      }

`update(surveyUrlId, body)`

    Updates a survey. Currently the only property that can be updated is the owners property.

    Args:
      surveyUrlId: string, External URL ID for the survey. (required)
      body: object, The request body. (required)
        The object takes the form of:

    { # Representation of an individual survey object.
        "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
          "A String",
        ],
        "description": "A String", # Text description of the survey.
        "title": "A String", # Optional name that will be given to the survey.
        "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
        "state": "A String", # State that the survey is in.
        "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
          "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
          "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
          "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
          "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
            "A String",
          ],
          "populationSource": "A String", # Online population source where the respondents are sampled from.
          "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
            "A String",
          ],
          "gender": "A String", # Optional gender to target.
        },
        "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
          "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
          "currencyCode": "A String", # Currency code that the cost is given in.
          "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
          "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
        },
        "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
        "questions": [ # List of questions defining the survey.
          { # Message defining the question specifications.
            "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
            "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
            "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
              "A String",
            ],
            "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
            "question": "A String", # Required question text shown to the respondent.
            "numStars": "A String", # Number of stars to use for ratings questions.
            "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
            "videoId": "A String", # The YouTube video ID to be show in video questions.
            "answers": [ # Required list of answer options for a question.
              "A String",
            ],
            "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
            "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
            "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
            "images": [
              { # Container object for image data and alt_text.
                "url": "A String", # The read-only URL for the hosted images.
                "altText": "A String", # The alt text property used in image tags is required for all images.
                "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
              },
            ],
            "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
            "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
              "A String",
            ],
            "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
            "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
            "openTextPlaceholder": "A String", # Placeholder text for an open text question.
          },
        ],
        "wantedResponseCount": 42, # Number of responses desired for the survey.
        "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
          "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
          "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
        },
      }

    Returns:
      An object of the form:

        { # Representation of an individual survey object.
          "owners": [ # List of email addresses for survey owners. Must contain at least the address of the user making the API call.
            "A String",
          ],
          "description": "A String", # Text description of the survey.
          "title": "A String", # Optional name that will be given to the survey.
          "customerData": "A String", # Additional information to store on behalf of the API consumer and associate with this question. This binary blob is treated as opaque. This field is limited to 64K bytes.
          "state": "A String", # State that the survey is in.
          "audience": { # Specifications for the target audience of a survey run through the API. # Targeting-criteria message containing demographic information
            "countrySubdivision": "A String", # Country subdivision (states/provinces/etc) that surveys should be targeted to. For all countries except GB, ISO-3166-2 subdivision code is required (eg. 'US-OH' for Ohio, United States). For GB, NUTS 1 statistical region codes for the United Kingdom is required (eg. 'UK-UKC' for North East England).
            "mobileAppPanelId": "A String", # Key for predefined panel that causes survey to be sent to a predefined set of Opinion Rewards App users. You must set PopulationSource to ANDROID_APP_PANEL to use this field.
            "country": "A String", # Required country code that surveys should be targeted to. Accepts standard ISO 3166-1 2 character language codes. For instance, 'US' for the United States, and 'GB' for the United Kingdom.
            "ages": [ # Optional list of age buckets to target. Supported age buckets are: ['18-24', '25-34', '35-44', '45-54', '55-64', '65+']
              "A String",
            ],
            "populationSource": "A String", # Online population source where the respondents are sampled from.
            "languages": [ # Language code that surveys should be targeted to. For instance, 'en-US'. Surveys may target bilingual users by specifying a list of language codes (for example, 'de' and 'en-US'). In that case, all languages will be used for targeting users but the survey content (which is displayed) must match the first language listed. Accepts standard BCP47 language codes. See specification.
              "A String",
            ],
            "gender": "A String", # Optional gender to target.
          },
          "cost": { # Message defining the cost to run a given survey through API. # Cost to run the survey and collect the necessary number of responses.
            "nanos": "A String", # Cost of survey in nano units of the given currency. DEPRECATED in favor of cost_per_response_nanos
            "currencyCode": "A String", # Currency code that the cost is given in.
            "costPerResponseNanos": "A String", # Cost per survey response in nano units of the given currency. To get the total cost for a survey, multiply this value by wanted_response_count.
            "maxCostPerResponseNanos": "A String", # Threshold to start a survey automatically if the quoted price is at most this value. When a survey has a Screener (threshold) question, it must go through an incidence pricing test to determine the final cost per response. Typically you will have to make a followup call to start the survey giving the final computed cost per response. If the survey has no threshold_answers, setting this property will return an error. By specifying this property, you indicate the max price per response you are willing to pay in advance of the incidence test. If the price turns out to be lower than the specified value, the survey will begin immediately and you will be charged at the rate determined by the incidence pricing test. If the price turns out to be greater than the specified value the survey will not be started and you will instead be notified what price was determined by the incidence test. At that point, you must raise the value of this property to be greater than or equal to that cost before attempting to start the survey again. This will immediately start the survey as long the incidence test was run within the last 21 days.
          },
          "surveyUrlId": "A String", # Unique survey ID, that is viewable in the URL of the Survey Creator UI
          "questions": [ # List of questions defining the survey.
            { # Message defining the question specifications.
              "highValueLabel": "A String", # For rating questions, the text for the higher end of the scale, such as 'Best'. For numeric questions, a string representing a floating-point that is the maximum allowed number for a response.
              "mustPickSuggestion": True or False, # Option to force the user to pick one of the open text suggestions. This requires that suggestions are provided for this question.
              "thresholdAnswers": [ # The threshold/screener answer options, which will screen a user into the rest of the survey. These will be a subset of the answer option strings.
                "A String",
              ],
              "sentimentText": "A String", # Used by the Rating Scale with Text question type. This text goes along with the question field that is presented to the respondent, and is the actual text that the respondent is asked to rate.
              "question": "A String", # Required question text shown to the respondent.
              "numStars": "A String", # Number of stars to use for ratings questions.
              "lowValueLabel": "A String", # For rating questions, the text for the lower end of the scale, such as 'Worst'. For numeric questions, a string representing a floating-point that is the minimum allowed number for a response.
              "videoId": "A String", # The YouTube video ID to be show in video questions.
              "answers": [ # Required list of answer options for a question.
                "A String",
              ],
              "lastAnswerPositionPinned": True or False, # Currently only support pinning an answer option to the last position.
              "hasOther": True or False, # Option to allow open-ended text box for Single Answer and Multiple Answer question types. This can be used with SINGLE_ANSWER, SINGLE_ANSWER_WITH_IMAGE, MULTIPLE_ANSWERS, and MULTIPLE_ANSWERS_WITH_IMAGE question types.
              "unitOfMeasurementLabel": "A String", # Optional unit of measurement for display (for example: hours, people, miles).
              "images": [
                { # Container object for image data and alt_text.
                  "url": "A String", # The read-only URL for the hosted images.
                  "altText": "A String", # The alt text property used in image tags is required for all images.
                  "data": "A String", # Inline jpeg, gif, tiff, bmp, or png image raw bytes for an image question types.
                },
              ],
              "singleLineResponse": True or False, # Option to allow multiple line open text responses instead of a single line response. Note that we don't show auto-complete suggestions with multiple line responses.
              "openTextSuggestions": [ # A list of suggested answers for open text question auto-complete. This is only valid if single_line_response is true.
                "A String",
              ],
              "type": "A String", # Required field defining the question type. For details about configuring different type of questions, consult the question configuration guide.
              "answerOrder": "A String", # The randomization option for multiple choice and multi-select questions. If not specified, this option defaults to randomize.
              "openTextPlaceholder": "A String", # Placeholder text for an open text question.
            },
          ],
          "wantedResponseCount": 42, # Number of responses desired for the survey.
          "rejectionReason": { # Message representing why the survey was rejected from review, if it was. # Reason for the survey being rejected. Only present if the survey state is 'rejected'.
            "explanation": "A String", # A human-readable explanation of what was wrong with the survey.
            "type": "A String", # Which category of rejection this was. See the GCS Help Center for additional details on each category.
          },
        }