Quotas Sub-Object v5

The following API calls are currently available for the Quotas object:

GET LIST - Get a list of all of your survey quotas. 

https://restapi.surveygizmo.com/v5/survey/123456/quotas
Parameters
Example
Required
Authentication Credentials
api_token=5D685159B6964FB69B044D3E7D2676D1
True

GET QUOTAS - Get information about a specified quota. 

https://restapi.surveygizmo.com/v5/survey/123456/quotas/1
Parameters
Example
Required
Authentication Credentials
api_token=5D685159B6964FB69B044D3E7D2676D1
True

CREATE QUOTAS - Create a new quotas. 

https://restapi.surveygizmo.com/v5/survey/123456/quotas?_method=PUT
Parameters
Example
Required
Authentication Credentials
api_token=5D685159B6964FB69B044D3E7D2676D1
True
name
This is my quota name
True
description
This is my quota description
False
limit
50
True
distributed
true
False
groups
json file see examples
True

UPDATE QUOTAS - Update a specified quota. 

https://restapi.surveygizmo.com/v5/survey/123456/quotas/12345?_method=POST
Parameters
Example
Required
Authentication Credentials
api_token=5D685159B6964FB69B044D3E7D2676D1
True
name
This is my quota name
False
description
This is my quota description
False
limit
50
False
distributed
false
False
groups
json file - see examples
False

Groups JSON Examples and Reference

In order to specify groups you will need to send a JSON file with your rules. Each rule has the following parameters:

input_value 

This is the type of field you are referencing. Most often, this will be the Question ID. 

If you wish to specify groups based on something other than the a question this will be equivalent to the left dropdown menu in the logic builder in the UI. Field types can be found by referencing the below list or by inspecting element within the logic builder in the UI.

Possible Values for input_value

  • Survey Question: {Question ID}
  • Time Taken On Survey: 15_timetaken
  • Current Date: 6_date
  • Is Mobile (true/false): 21_mobile
  • IP Address: 5_ip
  • Country: 8_country 
  • Region: 9_region
  • Postal Code: 19_postal
  • City: 10_city
  • Contact ID: 13_id
  • Email Address: 13_emailaddress
  • First Name: 13_firstname
  • Last Name: 13_lastname
  • Organization: 13_organization
  • Department: 13_department
  • Division: 13_division
  • Team: 13_team
  • Group: 13_group
  • Role: 13_role
  • Is Manager: 13_isManager
  • Home Phone: 13_homephone
  • Fax Number: 13_fax
  • Business Phone: 13_workphone
  • Mailing Address: 13_street
  • State/Region: 13_region
  • Postal Code: 13_postal
  • Country: 13_country
  • Title: 13_jobtitle
  • Custom 1-10: 13_custom1-10
  • Mailing Address 2: 13_suite
  • City: 13_city

operator

This is the operator used in the logic rule.

Possible Values for operator

  • is exactly equal to: 4
  • is not exactly equal to: 22
  • is one of the following answers: 12
  • us not one of the following answers: 5
  • greater than: 6
  • greater than or equal to: 7
  • less than: 9
  • less than or equal to: 8
  • Date after or equal to: 23
  • Date before or equal to: 24
  • is answered: 20
  • is not answered: 21
  • matches regex pattern: 14
  • does not match regex pattern: 15
  • is true: 26
  • is false: 27
  • contains: 10
  • is always true: 25

answers_type

This is the type of data that is contained in the field specified in input_type.

Possible Values for answers_type

  • Open-text Field: 2
  • Input Field (Radio, Checkboxes, Drop-down Menus, etc.): 17

answers_values

These are the actual values you wish to filter by.

Possible Values for answers_values

  • QID-OPTIONID - i.e. 27-10021 for question with QID 27 and answer option with OptionID 10021
  • String  - open-text questions and system data such as city, region, country, IP, etc. 

next_operator

This is the next operator you wish to use to group your conditions.

Possible Values for next_operator (distributed=false)

  • "and"
  • "or"

Example json file for the groups parameter with distributed=false (_method=PUT):

[
    {
      "rules": [
        {
          "input_value": "26",
          "operator": "12",
          "answers_type": "17",
          "answers_values": [
            "26-10019"
          ],
          "next_operator": "and"
        },
        {
          "input_value": "27",
          "operator": "12",
          "answers_type": "17",
          "answers_values": [
            "27-10021"
          ],
          "next_operator": ""
        }
      ],
      "next_operator": "or"
    },
    {
      "rules": [
        {
          "input_value": "19_postal",
          "operator": "4",
          "answers_type": "2",
          "answers_values": "82334",
          "next_operator": ""
        }
      ],
      "next_operator": "and"
    },
    {
      "rules": [
        {
          "input_value": "10_city",
          "operator": "4",
          "answers_type": "2",
          "answers_values": "Sinclair",
          "next_operator": "or"
        },
        {
          "input_value": "8_country",
          "operator": "4",
          "answers_type": "2",
          "answers_values": "USA",
          "next_operator": "or"
        },
        {
          "input_value": "5_ip",
          "operator": "4",
          "answers_type": "2",
          "answers_values": "192.169.0.1",
          "next_operator": ""
        }
      ],
      "next_operator": "and"
    },
    {
      "rules": [
        {
          "input_value": "13_region",
          "operator": "4",
          "answers_type": "2",
          "answers_values": "WY",
          "next_operator": ""
        }
      ],
      "next_operator": ""
    }
  ]

Example json file for the groups parameter with distributed=true (_method=PUT):

[
  {
    "rules": [
      {
        "input_value": "26",
        "operator": "12",
        "answers_type": "17",
        "answers_values": [
          "26-10019"
        ],
        "rule_percentage": "80"
      },
      {
        "input_value": "26",
        "operator": "12",
        "answers_type": "17",
        "answers_values": [
          "26-10020"
        ],
        "rule_percentage": "20"
      }
    ]
  },
  {
    "rules": [
      {
        "input_value": "27",
        "operator": "12",
        "answers_type": "17",
        "answers_values": [
          "27-10021"
        ],
        "rule_percentage": "90"
      },
      {
        "input_value": "27",
        "operator": "12",
        "answers_type": "17",
        "answers_values": [
          "27-10022"
        ],
        "rule_percentage": "10"
      }
    ]
  }
]

Example json file for the groups parameter with distributed=false (_method=POST):

[
  {
    "id": "58891b4ea7b14",
    "rules": [
      {
        "id": "58891b4ea7b63",
        "input_value": "20",
        "operator": "12",
        "answers_type": "17",
        "answers_values": [
          "20-10021"
        ]
      }
    ]
  }
]

Note: id value (highlighted above) is required to update quota rules using the POST method.

DELETE QUOTA - Delete a specified quota. 

https://restapi.surveygizmo.com/v5/survey/123456/quotas/12345?_method=DELETE
Parameters
Example
Required
Authentication Credentials
api_token=5D685159B6964FB69B044D3E7D2676D1
True

Back to the Top