Arundo Foundation compute plug-in contract
JSON Schema derived faithfully from Arundo's own published Foundation compute plug-in contract: the request/response specification at https://github.com/arundo/foundation-compute-example/blob/main/API_SCHEMA.md and the Pydantic models at src/schema.py in the same repository. This is the contract a THIRD PARTY implements so a compute can be executed by Arundo Foundation compute workers — it is not a description of a hosted Arundo API endpoint. Arundo publishes no OpenAPI for the Foundation APIs.
CompanyIndustrial AIIndustrial IoTAnalyticsMachine LearningTime SeriesAsset Performance ManagementAnomaly DetectionEnergyMaritimeOil and GasManufacturing
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/arundo-analytics/refs/heads/main/json-schema/arundo-analytics-foundation-compute.json",
"title": "Arundo Foundation compute plug-in contract",
"description": "JSON Schema derived faithfully from Arundo's own published Foundation compute plug-in contract: the request/response specification at https://github.com/arundo/foundation-compute-example/blob/main/API_SCHEMA.md and the Pydantic models at src/schema.py in the same repository. This is the contract a THIRD PARTY implements so a compute can be executed by Arundo Foundation compute workers — it is not a description of a hosted Arundo API endpoint. Arundo publishes no OpenAPI for the Foundation APIs.",
"x-generated": "2026-08-06",
"x-method": "derived",
"x-source": [
"https://github.com/arundo/foundation-compute-example/blob/main/API_SCHEMA.md",
"https://raw.githubusercontent.com/arundo/foundation-compute-example/main/src/schema.py",
"https://raw.githubusercontent.com/arundo/foundation-compute-example/main/src/main.py"
],
"$defs": {
"TimeseriesData": {
"title": "TimeseriesData",
"description": "Timestamp -> value mapping. Keys are epoch-millisecond timestamps expressed as strings or integers; values are numbers or null.",
"type": "object",
"additionalProperties": {
"type": ["number", "null"]
}
},
"ComputeRequest": {
"title": "ComputeRequest",
"description": "Body POSTed by a Foundation compute worker to /execute/{compute_name}.",
"type": "object",
"required": ["data", "tick", "uwid"],
"properties": {
"data": {
"description": "Input sensor and constant data, keyed by sensor name.",
"type": "object",
"additionalProperties": { "$ref": "#/$defs/TimeseriesData" }
},
"parameters": {
"description": "Compute parameters used to tune the compute internals (e.g. window_size for rolling_mean). Defaults to an empty object.",
"type": "object",
"default": {}
},
"tick": {
"description": "Current execution timestamp — the time the compute is executed.",
"type": "integer"
},
"uwid": {
"description": "Unique work identifier, used to identify the work item and track it through the compute lifecycle.",
"type": "string"
}
}
},
"ComputeResponse": {
"title": "ComputeResponse",
"description": "Successful 200 response body returned by a Foundation compatible compute.",
"type": "object",
"required": ["data", "uwid"],
"properties": {
"data": {
"description": "Computed output data, keyed by output sensor name.",
"type": "object",
"additionalProperties": { "$ref": "#/$defs/TimeseriesData" }
},
"uwid": {
"description": "The unique work identifier echoed back from the request.",
"type": "string"
}
}
},
"ErrorResponse": {
"title": "ErrorResponse",
"description": "Error envelope returned with HTTP 400 (invalid compute name or request validation failure) and HTTP 500 (computation failure). Note this is NOT RFC 9457 application/problem+json.",
"type": "object",
"required": ["issues"],
"properties": {
"issues": {
"type": "array",
"items": {
"type": "object",
"required": ["code", "message", "path"],
"properties": {
"code": {
"type": "string",
"description": "Issue code. Observed values in the published example: invalid_compute_name, internal_error, plus Pydantic validation error types."
},
"message": { "type": "string" },
"path": {
"type": "array",
"description": "Location of the offending value.",
"items": { "type": ["string", "integer"] }
}
}
}
}
}
}
},
"oneOf": [
{ "$ref": "#/$defs/ComputeRequest" },
{ "$ref": "#/$defs/ComputeResponse" },
{ "$ref": "#/$defs/ErrorResponse" }
]
}