Endpoints
The resources and endpoints of the THMI public API — projects, tags, values, history, and pages.
All endpoints are under /api/v1 and authenticated with a bearer
access token. Paths shown with
{projectId} are scoped to one project; {format} is json or csv. For the
authoritative, machine-readable definition, use the
OpenAPI specification.
Projects
| Method | Path | Returns |
|---|---|---|
| GET | /v1/projects/list | The projects the token can access. |
| GET | /v1/{projectId}/project | A single project’s details. |
Tags
A tag’s definition and metadata (not its value).
| Method | Path | Returns |
|---|---|---|
| GET | /v1/{projectId}/tag/list | All tags in the project. |
| GET | /v1/{projectId}/tag/by-id/{tagId} | One tag, by id. |
| GET | /v1/{projectId}/tag/by-path?tagPath=… | One tag, by its path. |
Tag values
The current value of tags.
| Method | Path | Returns |
|---|---|---|
| GET | /v1/{projectId}/tag/values/list | The current value of every tag. |
| GET | /v1/{projectId}/tag/values/by-id/{tagId} | One tag’s current value, by id. |
| GET | /v1/{projectId}/tag/values/by-path?tagPath=… | One tag’s current value, by path. |
| POST | /v1/{projectId}/tag/values/export/csv | The current values as a CSV export. |
History
Aggregated historical values over a time range. The request body carries the
query — the time range (timeFrom, timeTo, in epoch milliseconds), the
timeZone, which tags (tagList), the groupingType
(MINUTES · HOURS · DAYS · MONTHS · YEARS), and the valueType
(ACTUAL or DELTA). See Using the API for
the full body and an example.
| Method | Path | Returns |
|---|---|---|
| POST | /v1/{projectId}/history/aggregate/{format} | Aggregated history, as JSON or CSV. |
| POST | /v1/{projectId}/history/aggregate/by-id/{format} | The same, selecting tags by id. |
| POST | /v1/{projectId}/history/aggregate/by-path/{format} | The same, selecting tags by path. |
| GET | /v1/{projectId}/history/snapshot | A snapshot of values at a point in time. |
Pages
A project’s pages, rendered as SVG.
| Method | Path | Returns |
|---|---|---|
| GET | /v1/{projectId}/page/tree | The page folder hierarchy. |
| GET | /v1/{projectId}/page/{fileId} | A page as an SVG document. |
| GET | /v1/{projectId}/page/{fileId}/stream | The same page, streamed. |
Time zones
| Method | Path | Returns |
|---|---|---|
| GET | /v1/timezone/available | The time-zone identifiers the API accepts. |