Parameters/api_get_vehicle_parameter_values

api_get_vehicle_parameter_valuestoken required

Returns telemetry parameter values (`telemetry.unit_parameter`) for a vehicle in a time window of up to 72 hours.

POST/api— body field action.name = "api_get_vehicle_parameter_values"

Parameters

NameTypeRequiredDescription
vehicle_idnumberoptionalVehicle id. Required if `license_nmbr` is not provided.e.g. 555
license_nmbrstringoptionalLicense plate. `License_NMBR` is also accepted as an alias. Required if `vehicle_id` is not provided.e.g. AB-123-CD
param_typestringoptionalOptional parameter-type code to filter on. If omitted, all types are returned.e.g. speed
start_timedaterequiredStart of the time window (inclusive).e.g. 2026-04-26T00:00:00Z
end_timedaterequiredEnd of the time window (exclusive). Must be after `start_time` and within 72 hours.e.g. 2026-04-27T00:00:00Z
intervalnumberoptionalSampling interval in seconds. Thins the returned series to one value per interval.e.g. 60

Pagination

This action is paginated. The two parameters below are accepted on every call (both optional); omitting them yields page 1 with 100 rows. The response carries a pagination envelope alongside data; iterate while has_more === true.

page, page_size and has_more are present on every paginated response. total_count and total_pages are returned only by some actions — treat them as optional and drive iteration from has_more rather than from a page count worked out in advance.

NameTypeRequiredDescription
page_numbernumberoptional1-based page index. Defaults to 1 if omitted. Page 1 pins a snapshot for stateful actions (events, telemetry) — subsequent pages reuse that snapshot until the session expires (~30 minutes).e.g. 1
page_sizenumberoptionalRows per page. Defaults to 2000, which is also the maximum — larger values are silently capped to 2000, and a response of exactly 2000 rows usually means there are more pages. For stateful actions (events, telemetry) only the value sent with page 1 is honored, because later pages reuse the size pinned by the snapshot; stateless actions read it on every request.e.g. 2000
Iterate every page
curl
# Iterate every page until pagination.has_more is false.
# page_size "100" is a deliberate small page so the loop is visible — the
# default is 2000, which is also the maximum. Raise it to fetch fewer,
# larger pages; you still stop on has_more either way.
# Requires: jq (https://stedolan.github.io/jq/).
page=1
while :; do
  body=$(curl -s -X POST 'https://private.stage.questar.io/v2/private-questar-units/api' \
    -H 'Content-Type: application/json' \
    -H 'Authorization: Bearer YOUR_TOKEN' \
    -d '{"action":{"name":"api_get_vehicle_parameter_values","parameters":[{"vehicle_id":555,"license_nmbr":"AB-123-CD","param_type":"speed","start_time":"2026-04-26T00:00:00Z","end_time":"2026-04-27T00:00:00Z","interval":60,"page_number":"'$page'","page_size":"100"}]}}')
  echo "$body" | jq '.response.properties.data[]'
  has_more=$(echo "$body" | jq -r '.response.properties.pagination.has_more // false')
  [ "$has_more" = "true" ] || break
  page=$((page + 1))
done

Page 1 pins a snapshot for stateful actions (events, telemetry). If the session expires (~30 min) the API returns action_value="3" with description pagination_session_expired — restart from page_number=1.

Notes

Either `vehicle_id` or `license_nmbr`/`License_NMBR` must be provided. Window > 72h returns action_value '3'. Permissions enforced via auth.v_user_vehicle.

Request

curl
curl -X POST 'https://private.stage.questar.io/v2/private-questar-units/api' \
  -H 'Content-Type: application/json' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  --data '{"action":{"name":"api_get_vehicle_parameter_values","parameters":[{"vehicle_id":555,"license_nmbr":"AB-123-CD","param_type":"speed","start_time":"2026-04-26T00:00:00Z","end_time":"2026-04-27T00:00:00Z","interval":60}]}}'
Body
{
  "action": {
    "name": "api_get_vehicle_parameter_values",
    "parameters": [
      {
        "vehicle_id": 555,
        "license_nmbr": "AB-123-CD",
        "param_type": "speed",
        "start_time": "2026-04-26T00:00:00Z",
        "end_time": "2026-04-27T00:00:00Z",
        "interval": 60
      }
    ]
  }
}

Response

Successful responses always wrap the action's payload in response.properties. The action_value field reports the handler outcome: "0" for success, "1" for invalid params, "2" for not allowed, "3" for limit-exceeded /pagination-session-expired, "999" for general error.

200 OK
{
  "response": {
    "properties": {
      "action_name": "api_get_vehicle_parameter_values",
      "action_value": "0",
      "description": "success",
      "data": [
        {
          "vehicle_id": "555",
          "parameter_type": "speed",
          "parameter_type_description": "Vehicle speed",
          "value": "62.4",
          "time": "2026-04-27T08:14:55.0000000+00:00"
        }
      ],
      "pagination": {
        "page": 1,
        "page_size": 100,
        "has_more": true
      }
    }
  }
}