The Prometheux platform exposes a REST API that lets you drive every part of the platform from your own application — create projects, connect data, define and run concepts, read results, build knowledge graphs, schedule runs, and more. This page covers the conventions shared by all endpoints. Read it once, then jump into the per-resource references in the API Reference section.
Looking for the low-level Vadalog engine API (/evaluate, /config-info/set)? That is a separate, lower-level interface — see Vadalog Engine API. The platform API documented here is what external tools should integrate against.

Base URL

All endpoints are versioned under /api/v1. On Prometheux Cloud, each workspace is addressed by organization and username:
For a self-hosted instance, the base URL is your host plus the API prefix:
Throughout the API Reference, paths are written relative to the base URL — e.g. POST /ontologies/save means POST https://api.prometheux.ai/jarvispy/{org}/{user}/api/v1/ontologies/save.

Authentication

Every request must carry a bearer token:
Tokens are JarvisPy API keys (JWTs). See Authentication for how to obtain, list, and revoke them.

Response envelope

Every JSON response uses the same envelope:
Read your result from data. On errors, status is "error" (or "conflict"), message describes the problem, and data is null.
A few endpoints do not use this envelope: file downloads return the raw file, and streaming endpoints return NDJSON. These are called out explicitly on their pages.

Status codes

A typical error response:

Scope

Most resources exist in one of two scopes, selected with a scope parameter (query or body, depending on the endpoint): Endpoints that read across scopes accept a comma-separated scopes parameter instead — e.g. ?scopes=user,organization.

Pagination

Endpoints that return tabular data (concept results, table previews) are paginated with a consistent set of parameters: Paginated responses include the page metadata alongside the rows:

Streaming responses

Some endpoints stream their output as NDJSON (newline-delimited JSON): the response body is a sequence of JSON objects, one per line, emitted as work progresses. Read the stream line by line and parse each line independently rather than waiting for the whole body. Endpoints that stream say so on their page.

Compute

Execution endpoints accept an optional compute object to target a specific backend (local engine, Databricks, or Snowflake). When omitted, your workspace default is used. Unless you manage multiple compute backends, you can leave it out.

API Reference