Export
Build a queryable REST API from your processed outputs.
The Export tab is where the whole processing pipeline comes together. Each output defined in Process can be exposed as an endpoint in your workspace's data API. You configure which outputs to expose, who can access them, and how they are served.
Endpoints
Each endpoint maps one output to a URL. Creating an endpoint requires:
- Output — the transformation output from Process that this endpoint serves.
- Required scope — optionally require a scope to access this endpoint. Leave blank for public read access.
Creating an endpoint
- Click + New endpoint.
- Select the output to expose.
- Optionally select a Required scope from the scopes defined in Access. If set, callers must present a Bearer token carrying this scope. Leave blank for public read access.
- Click Create. The endpoint URL is shown immediately.
Requires Editor or Admin role.
Removing an endpoint
Click the delete button. The URL stops responding immediately. The underlying output and data are not affected.
Requires Editor or Admin role.
Querying an endpoint
For public endpoints, no credentials are needed. For endpoints with a required scope, include a Bearer token:
GET <endpoint-url>?from=<ts>&to=<ts>&limit=<n>
Authorization: Bearer <token>Tokens are issued by IoTMan's OAuth2 token endpoint. See the Authorization guide for how to obtain one.
GET <endpoint-url>?from=<ts>&to=<ts>&limit=<n>| Parameter | Description |
|---|---|
from | Start of time range (Unix timestamp). Optional. |
to | End of time range (Unix timestamp). Optional. |
limit | Records per page. Default 100. |
Response:
{
"data": [ { ...output-shape... }, ... ],
"next_page": "<endpoint-url>?to=<ts>&limit=<n>"
}next_page is a ready-to-use URL for the next page of older records. It is null when there are no more results.
Each item in data has the shape defined by the JSON constructor in the output's transformation rule.
CORS origins
To allow browsers to query your data API directly (e.g. from a Grafana panel or a custom dashboard), add the permitted origins to the CORS allowlist.
- Enter one or more origins separated by commas (e.g.
https://mydashboard.example.com), or*to allow all origins (not recommended for production). - Click Save.
Requires Editor or Admin role.
WebSocket stream
Each data endpoint also exposes a WebSocket for real-time delivery:
wss://iotman.io/data/out/<id>/streamNew datapoints are pushed to connected clients as they arrive, with the same shape as the REST response items.
For public endpoints no credentials are required. For restricted endpoints, pass the Bearer token in the Authorization header of the WebSocket upgrade request:
Authorization: Bearer <token>Browser clients using the native WebSocket API cannot set custom headers. Pass the token as a query parameter instead:
wss://iotman.io/data/out/<id>/stream?access_token=<token>