tenzro-xyz Time API
The Time API from tenzro-xyz — 6 operation(s) for time.
The Time API from tenzro-xyz — 6 operation(s) for time.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/tenzro-xyz:tenzro-xyz-time-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Tenzro Labs Platform Time API
version: 1.0.0
description: Browse the curated catalogue; manage credits, billing, keys, plans and rentals; place and pay orders; run Datasets, Fieldwork, Voices and Forecasts. Chat, embeddings, images, speech and the model list keep the OpenAI-compatible /v1 paths.
servers:
- url: https://api.tenzro.xyz
security:
- apiKey: []
tags:
- name: Time
paths:
/time/status:
get:
tags:
- Time
summary: Which parts of Time are serving now
description: No key needed.
operationId: getTimeStatus
x-tenzro-scope: public
security: []
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/time/models:
get:
tags:
- Time
summary: Forecasting models, licences, what is serving and prices
description: No key needed.
operationId: getTimeModels
x-tenzro-scope: public
security: []
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/time/forecasts:
post:
tags:
- Time
summary: Forecast a time series (same body as /forecasts), with provenance
description: Needs a key with the `inference` permission.
operationId: postTimeForecasts
x-tenzro-scope: inference
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/time/anomalies:
post:
tags:
- Time
summary: Find anomalies in the last window of a series, scored against a forecast band
description: Needs a key with the `inference` permission.
operationId: postTimeAnomalies
x-tenzro-scope: inference
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/time/series:
post:
tags:
- Time
summary: Upload a series (CSV or JSON body) into a time-series Dataset, with units…
description: Needs a key with the `datasets:write` permission.
operationId: postTimeSeries
x-tenzro-scope: datasets:write
parameters:
- name: units
in: query
required: true
description: Units of the values
schema:
type: string
- name: source
in: query
required: true
description: Where the series comes from (sensor, meter, system)
schema:
type: string
- name: sensor_type
in: query
required: false
description: e.g. temperature, accelerometer
schema:
type: string
- name: sample_rate_hz
in: query
required: false
description: Samples per second
schema:
type: string
- name: device
in: query
required: false
description: A device identity you chose
schema:
type: string
- name: dataset_id
in: query
required: false
description: An existing time-series dataset
schema:
type: string
- name: dataset_name
in: query
required: false
description: Or a dataset by name, made on first use
schema:
type: string
- name: lat
in: query
required: false
description: Where readings were taken (kept only with location_consented=true)
schema:
type: string
- name: lon
in: query
required: false
description: Longitude
schema:
type: string
- name: location_consented
in: query
required: false
description: true when the location may be kept
schema:
type: string
requestBody:
required: true
content:
text/csv:
schema:
type: string
format: binary
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/time/series/import:
post:
tags:
- Time
summary: Import a series from a public https CSV or JSON link into a Dataset
description: Needs a key with the `datasets:write` permission.
operationId: postTimeSeriesImport
x-tenzro-scope: datasets:write
responses:
'200':
description: OK
content:
application/json: {}
default:
description: Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
Error:
type: object
properties:
error:
type: object
properties:
code:
type: string
message:
type: string
scope:
type: string
description: 'On a 403: the permission the key lacks.'
securitySchemes:
apiKey:
type: http
scheme: bearer
description: A Tenzro Labs API key (tzl_…).
ingestKey:
type: http
scheme: bearer
description: 'A Fieldwork ingest key (tzi_…): bound to one project and the origins listed on it, able only to run the participant flow. Safe in a browser. Create it with POST /fieldwork/projects/{id}/ingest-keys.'
serviceAssertion:
type: http
scheme: bearer
bearerFormat: JWT
description: 'A Tenzro Labs service''s ES256 assertion: header kid = the RFC 7638 thumbprint of a key in the service''s published JWKS; iss = sub = the service; aud = this endpoint; exp at most 60 s after iat; jti used once.'