All queries should use POST to return a calculated index. Using the index endpoint Index is the most straight forward way to calculate your index. This will give you a calculation based on the query that you provide.
You can either query a specific date range, or a specific survey round (sendout).
- For date range queries, provide
startandendparameters to define the range. The range is inclusive. - For survey round queries, provide
surveyRoundId. This will get all results for that survey round, regardless of when they were submitted.
Note that it's an either-or choice: date range and survey round parameters cannot be combined in the same query.
In order to find out which survey round ids are available, first query the surveys endpoint:
https://developer.winningtemp.com/reference/get_survey-v1-surveys
It will provide a list of all your surveys and their respective survey rounds.
If neither date range or survey round id is provided, the query will default to a date period representing the 90 days preceding the current date. It is thus possible to POST an empty body and still get a result.
Using query filters
Using query filters you may filter the calculation to only include temperatures based on the filters that you provide. You may use multiple filters in the same query, and each filter will be applied on the result set before calculating the index.
Filters can accept multiple values. For example, passing two group ids will get the temperature data for those groups and combine their results.
Below you can see two examples that fetch temperatures for January 2026 - one filtering by one specific group, and one filtering by two groups at the same time to combine their results (boolean OR logic):
{
"start": "2026-01-01",
"end": "2026-01-31",
"filters": [
{
"filter": "Group",
"values": ["4a06e2e2-e29a-405c-8601-2b31e889b382"]
}
]
}
{
"start": "2026-01-01",
"end": "2026-01-31",
"filters": [
{
"filter": "Group",
"values": ["4a06e2e2-e29a-405c-8601-2b31e889b382", "0969bfe0-2381-452a-bb24-0337a7eee4e8"]
}
]
}
Filters can accept multiple values. The following query will fetch the results for two specific groups and combine their temperatures.
Using multiple query filters
When using multiple filters, each separate filter will be applied using the AND operator and for each value in the separate filters the OR operator will be applied. The following example will include all temperatures where a Male gender has responded AND the respondent has an age between 0-17 OR 35-44.
{
"start": "2026-01-01",
"end": "2026-01-31",
"filters": [
{
"filter": "Gender",
"values": ["Male"]
},
{
"filter": "AgeDistribution",
"values": ["0 - 17","35 - 44"]
}
]
}
