Oden Technologies Dashboards API
The Dashboards API from Oden Technologies — 1 operation(s) for dashboards.
The Dashboards API from Oden Technologies — 1 operation(s) for dashboards.
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/oden-technologies-dashboards-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:
version: 2.0.0
title: Oden Dashboards API
contact:
name: Oden Support
email: support@oden.io
url: https://oden.io/contact/
description: The Oden Private Partner API exposes RESTful API endpoints for clients to get, create and update data on the Oden Platform.
servers:
- url: https://api.oden.app
description: Oden API server
security:
- APIKeyAuth: []
tags:
- name: Dashboards
paths:
/v2/dashboard/execute:
post:
operationId: execute_dashboard
summary: Execute a dashboard
tags:
- Dashboards
description: 'Execute every module in a dashboard with shared time-range and filter
overrides, returning the columns and rows produced by each module.
Modules execute in parallel and are reported in the dashboard''s stored
module order. Per-module failures (parse, dispatch) land in the
`error` field of that module''s result; siblings continue to run.
Known v1 limitations:
- Template variables (`{var_name}` in stored OQL) are not substituted
server-side. Modules containing unsubstituted placeholders will
fail at parse time.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DashboardExecuteRequest'
responses:
'200':
description: 'Dashboard loaded and each module executed. Individual modules may still report `error` in their result; this is not a 200/non-200 distinction.
'
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/DashboardExecuteResult'
'400':
$ref: '#/components/responses/ParameterError'
'401':
$ref: '#/components/responses/UnauthorizedError'
'403':
$ref: '#/components/responses/ForbiddenError'
'404':
$ref: '#/components/responses/NotFoundError'
'429':
$ref: '#/components/responses/TooManyRequestsError'
'500':
$ref: '#/components/responses/InternalError'
'501':
$ref: '#/components/responses/UnimplementedError'
components:
responses:
NotFoundError:
description: Entity not found
content:
application/json:
schema:
$ref: '#/components/schemas/GenericError'
ParameterError:
description: An error occurred regarding one of the input parameters
content:
application/json:
schema:
type: object
required:
- error
- name
- retryable
properties:
error:
type: string
name:
type: string
retryable:
type: boolean
UnauthorizedError:
description: User has provided either no credentials or invalid credentials
content:
application/json:
schema:
$ref: '#/components/schemas/GenericError'
TooManyRequestsError:
description: Too many requests
content:
application/json:
schema:
$ref: '#/components/schemas/GenericError'
UnimplementedError:
description: Endpoint is not yet implemented
content:
application/json:
schema:
$ref: '#/components/schemas/GenericError'
ForbiddenError:
description: 'User has provided valid credentials but is not authorized to access the entity
'
content:
application/json:
schema:
$ref: '#/components/schemas/GenericError'
InternalError:
description: 'An internal server error has occurred. If reporting the error to Oden, include the ID returned in this response to aid in debugging.
'
content:
application/json:
schema:
type: object
required:
- error
- retryable
- id
properties:
error:
type: string
retryable:
type: boolean
id:
type: string
format: uuid
schemas:
DashboardExecuteRequest:
type: object
description: 'Request envelope for executing every module in a dashboard.
'
required:
- dashboard
properties:
dashboard:
type: object
required:
- id
properties:
id:
type: string
format: uuid
range:
$ref: '#/components/schemas/DashboardExecuteRange'
filters:
$ref: '#/components/schemas/DashboardExecuteFilters'
DashboardColumnSpec:
type: object
required:
- name
- type
properties:
name:
type: string
type:
type: string
enum:
- string
- number
- boolean
- datetime
DashboardExecuteFilters:
type: object
description: 'Optional filter overrides applied to every module. Every field is optional; omitting one means "no override on that dimension".
'
properties:
lines:
type: array
description: 'Lines to restrict to. Each entry must supply `id`, `name`, or both; entries that supply neither are rejected. Other Line fields (factory, secondary_name, match) are not used here and are intentionally omitted so generated clients don''t suggest them as inputs.
'
items:
type: object
anyOf:
- required:
- id
- required:
- name
properties:
id:
type: string
format: uuid
name:
type: string
shifts:
type: array
items:
type: integer
format: int32
product_ids:
type: array
items:
type: string
format: uuid
product_attribute_value_ids:
type: array
items:
type: string
format: uuid
scrap_categories:
type: array
items:
type: string
format: uuid
states:
type: object
properties:
state_types:
type: array
items:
type: string
state_category_and_reasons:
type: array
items:
type: object
required:
- state_category
properties:
state_category:
type: integer
format: int32
state_reason:
type: string
custom_intervals:
type: array
items:
type: object
required:
- type
- value_contains
properties:
type:
type: string
value_contains:
type: string
DashboardExecuteRange:
type: object
description: 'Time window applied to every module. Either supply an absolute window (`start` and `end`) OR a relative window (`anchor` and `offset`, optionally with `timezone`), not both.
'
properties:
start:
type: string
format: date-time
end:
type: string
format: date-time
anchor:
type: string
description: Anchor expression for a relative range, e.g. `now`.
offset:
type: string
description: Offset expression for a relative range, e.g. `-7D`.
timezone:
type: string
description: IANA timezone identifier (defaults to UTC).
GenericError:
type: object
required:
- error
- retryable
properties:
error:
type: string
retryable:
type: boolean
DashboardExecuteResult:
type: object
description: Executed output of a single dashboard module.
required:
- module_id
- module_name
- module_type
properties:
module_id:
type: string
format: uuid
module_name:
type: string
module_type:
type: string
description: 'The module''s stored visualization (e.g. `table`, `line_chart`, `bar_chart`). Type label only — does not change the response shape.
'
range:
type: object
description: 'Resolved absolute time window the executed query actually covers. For relative requests this is the concrete window the anchor/offset resolved to.
'
properties:
start:
type: string
format: date-time
end:
type: string
format: date-time
filters_applied:
type: object
description: 'Echo of the filter dimensions that were applied, resolved to human-readable values where possible (e.g. line names instead of IDs).
'
additionalProperties: true
columns:
type:
- array
- 'null'
description: 'Column metadata. `type` is derived from the first non-null cell in the column. Null when the module errored.
'
items:
$ref: '#/components/schemas/DashboardColumnSpec'
rows:
type:
- array
- 'null'
description: 'Row data as objects keyed by column name (not positional arrays). Values are typed JSON natively. Null when the module errored.
'
items:
type: object
additionalProperties: true
error:
type:
- string
- 'null'
description: 'Set to a short message when the module failed to parse or execute. Null on success.
'
securitySchemes:
APIKeyAuth:
type: apiKey
in: header
name: Authorization
description: Prefix the value with \"Token\" to indicate the custom authorization type