Skip to main content
Unlike every other endpoint in this section, this is a POST request with a JSON body rather than a GET with query parameters, even though it’s a listing/search operation. Treat this as directional pending confirmation, consistent with the open questions already flagged on Discovery Endpoints and Filter Options.
Ids below are presented two ways, matching how the rest of this documentation treats ids. Catalog/lookup ids that are already documented elsewhere as small integers or fixed strings — resourceType (resource.id), buildingType, pointType, status, dataReception, and unit ids (sourceUnit.id, storageUnit.id) — are kept as given, since they match the ids already listed on Filter Options and Filter For List. Ids that identify one specific real-world record — organizations, building/monitoredEntities, integrations, and the variable’s own id — are shown below as anonymized 8-character placeholders instead of the literal values in the source example, consistent with how Organizations ids are presented. Where an organization repeats a name already used on the Organizations page (Oberlin College), the same placeholder id is reused for consistency.

Endpoint

Query parameters

Request body

Filters mirror the facet ids returned by GET /variable/get-variable-filter-data and GET /monitored-entity/get-filters:
Open — not fully decided: whether any of these filters are required vs. optional, whether an empty or omitted filter means “no filter” or “match nothing,” and the exact behavior of showHiddenVariables when false or omitted, aren’t confirmed.

Example request

Response shape

Top-level fields

Pagination fields

Variable object

Example item from data:

Variable object fields

Open — not fully decided:
  • integration vs. integrations: both fields appear with identical content in the example. Which is authoritative, or whether one is being deprecated, isn’t documented.
  • metadata, displayUnit, consumptionUnit, isUsed, visibilityStatus, and qdisplayName have no documented meaning beyond what’s inferable from their name and the single example provided.
  • Which columns are valid for orderColumn beyond the displayName shown in defaultOrderColumn isn’t documented.
  • The error response shape for invalid filters or pagination isn’t documented.
  • This example represents building/monitoredEntities ids as 8-character strings, while Get Monitored Entity’s own example path uses a plain numeric id (250) — which format is actually correct isn’t confirmed; treat both as illustrative until settled.

Connected Variables

A common use case is fetching every variable connected to one or more specific monitored/metered entities — for example, everything reporting for a single building. Do this by passing the entity’s id(s) in the building filter:
This returns every variable whose monitoredEntities array includes that id. Omit every other filter to get the full set of connected variables regardless of type, resource, status, or reception state — or combine building with any of the other filters (resourceType, status, dataReception, and so on) to narrow further. Pass more than one id in building to fetch variables connected to any of several entities at once (an OR across the listed ids, matching the array-filter pattern used throughout this endpoint’s other fields — though this specific behavior isn’t independently confirmed). See Get Monitored Entity to look up an entity’s id first, and Filter For List to discover which entities exist within an organization before doing so.