GET /scores
Used to get survey response aggregates.
URL parameters
| Parameter | Required | Requirements | Description | 
|---|---|---|---|
| start_date | No | YYYY:MM:DD (time assumed midnight) or YYYY:MM:DDTHH:MM:SS. Timezone inferred from survey setting. | Start date. | 
| end_date | No | YYYY:MM:DD (time assumed midnight) or YYYY:MM:DDTHH:MM:SS. Timezone inferred from survey setting. | End date. | 
| interval | No | Day or Week or Month | Default is Day. | 
| where | No | string | Segmentation conditions. | 
“where” expression Format
Single
- property[“property name”] (operator) (value)
Multiple
- (property[“property name”] (operator) (value)) and (property[“property name”] (operator) (value)) and (property[“property name”] (operator) (value))
- (property[“property name”] (operator) (value)) or (property[“property name”] (operator) (value)) or (property[“property name”] (operator) (value))
Supported operators
| Property type | Operator | Operator notation | Example | 
|---|---|---|---|
| Number, Number set | less than | < | property[“refund_amount”] < 500 | 
| Number, Number set | less than or equal to | <= | property[“refund_amount”] <= 500 | 
| Number, Number set | greater than | > | property[“refund_amount”] > 500 | 
| Number, Number set | greater than or equal to | >= | property[“refund_amount”] >= 500 | 
| Number, Number set | exactly equal | == | property[“refund_amount”] == 500 | 
| Number, Number set | is set | isset | property[“refund_amount”] isset | 
| Number, Number set | is not set | isnotset | property[“refund_amount”] isnotset | 
| String, String set | contains | contain | property[“name”] contain “john” | 
| String, String set | exactly equal | == | property[“name”] == “Joe John” | 
| String, String set | is set | isset | property[“name”] isset | 
| String, String set | is not set | isnotset | property[“name”] isnotset | 
| Boolean | equal to | is | property[“new_customer”] is true | 
| Boolean | is set | isset | property[“new_customer”] isset | 
| Boolean | is not set | isnotset | property[“new_customer”] isnotset | 
| Date | less than | < | property[“delivery_date”] < 2016-02-26 | 
| Date | less than or equal to | <= | property[“delivery_date”] <= 2016-02-26 | 
| Date | more than | > | property[“delivery_date”] > 2016-02-26 | 
| Date | more than or equal to | >= | property[“delivery_date”] >= 2016-02-26 | 
| Date | on | == | property[“delivery_date”] == 2016-02-22 | 
| Date | is set | isset | property[“delivery_date”] isset | 
| Date | is not set | isnotset | property[“delivery_date”] isnotset | 
Notes
- 
    Operators for “Number Set” and “String Set” apply on individual items in the set. 
- 
    Operator “contains” for string and string set supports partial and full word matches. It is case insensitive. 
- 
    Operator “exactly equal” for string and string set supports only exact matches. It is case sensitive. 
- 
    Combination of “and” and “or” cannot be used in a single expression. 
- 
    Add a space before and after operator. 
- 
    When aggregating by month/week the first day of the month/week will represent the month/week. If the start date is in the middle of month/week then data will be provided for partial month/week, but label in API response will be of first day of month/week. 
- 
    Following formats are allowed for date properties: YYYY:MM:DD (time assumed midnight) or YYYY:MM:DDTHH:MM:SS. Timezone will be inferred from survey setting. 
Example
GET /scores?pretty
Response
HTTP1/1.1 200
{
  "request_id": "1e439af1-503b-4d97-a32e-4267faaa818f",
  "success": true,
  "errors": [],
  "response": {
    "positive_score": null,
    "boolean_score": null,
    "positive_responses": 0,
    "negative_responses": 0,
    "has_score": false,
    "data": [
      {
        "interval_date": "2017-05-24T00:00:00+05:30",
        "epoch": 1495564200,
        "positive_responses": 0,
        "negative_responses": 0,
        "positive_score": null,
        "boolean_score": null,
        "has_score": false
      },
      {
        "interval_date": "2017-05-25T00:00:00+05:30",
        "epoch": 1495650600,
        "positive_responses": 0,
        "negative_responses": 0,
        "positive_score": null,
        "boolean_score": null,
        "has_score": false
      }
    ]
  }
Example
GET /scores?start_date=2017-05-24&end_date=2017-05-25&where=(property["city"] == "San Francisco")&pretty
Response
HTTP1/1.1 200
{
  "request_id": "012e4acd-7ff1-4c5a-b6b4-e18ddddb4294",
  "success": true,
  "errors": [],
  "response": {
    "positive_score": 100,
    "boolean_score": 10,
    "positive_responses": 1,
    "negative_responses": 0,
    "has_score": true,
    "data": [
      {
        "interval_date": "2017-05-24T00:00:00+05:30",
        "epoch": 1495564200,
        "positive_responses": 1,
        "negative_responses": 0,
        "positive_score": 100,
        "boolean_score": 10,
        "has_score": true
      },
      {
        "interval_date": "2017-05-25T00:00:00+05:30",
        "epoch": 1495650600,
        "positive_responses": 0,
        "negative_responses": 0,
        "positive_score": null,
        "boolean_score": null,
        "has_score": false
      }
    ]
  }
}
Example
GET /scores?start_date=2017-05-24&end_date=2017-05-25&where=(property["city"] == "San Francisco" and property["first_time_customer"] is false)&pretty
Response
HTTP1/1.1 200
{
  "request_id": "e6f7e00f-a91f-4d71-b768-3fdc63f2b853",
  "success": true,
  "errors": [],
  "response": {
    "positive_score": 100,
    "boolean_score": 10,
    "positive_responses": 1,
    "negative_responses": 0,
    "has_score": true,
    "data": [
      {
        "interval_date": "2017-05-24T00:00:00+05:30",
        "epoch": 1495564200,
        "positive_responses": 1,
        "negative_responses": 0,
        "positive_score": 100,
        "boolean_score": 10,
        "has_score": true
      },
      {
        "interval_date": "2017-05-25T00:00:00+05:30",
        "epoch": 1495650600,
        "positive_responses": 0,
        "negative_responses": 0,
        "positive_score": null,
        "boolean_score": null,
        "has_score": false
      }
    ]
  }
}
Error codes
| Code | Message | Description | 
|---|---|---|
| 1001 | Invalid format | Invalid format of data. | 
| 1006 | Required property missing | One or more required property is missing. | 
| 1009 | Invalid Value | Value is incorrect for a given field. | 
