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:
https://api.prometheux.ai/jarvispy/{organization}/{username}/api/v1
SegmentDescription
{organization}Your organization identifier.
{username}Your username.
For a self-hosted instance, the base URL is your host plus the API prefix:
https://<your-host>/api/v1
Throughout the API Reference, paths are written relative to the base URL — e.g. POST /projects/save means POST https://api.prometheux.ai/jarvispy/{org}/{user}/api/v1/projects/save.

Authentication

Every request must carry a bearer token:
Authorization: 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:
{
  "status": "success",   // "success", "error", or "conflict"
  "message": "Success",  // human-readable label
  "data": { }            // the payload — shape depends on the endpoint
}
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

CodestatusMeaning
200successThe request succeeded.
400errorBad request — malformed body or invalid parameters.
401errorMissing, invalid, expired, or revoked token.
403errorAuthenticated but not allowed to perform this action.
404errorThe referenced resource does not exist.
409conflictThe request conflicts with current state (e.g. a name already exists).
422errorWell-formed request, but the entity could not be processed.
500errorServer-side error during processing.
A typical error response:
{
  "status": "error",
  "message": "Project not found",
  "data": null
}

Scope

Most resources exist in one of two scopes, selected with a scope parameter (query or body, depending on the endpoint):
ScopeMeaning
user (default)Private to your user.
organizationShared across your organization.
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:
ParameterTypeDefaultDescription
pageinteger11-based page number.
page_sizeinteger30Rows per page (max 1000).
order_bystringComma-separated column_index:direction, e.g. 0:asc,2:desc.
Paginated responses include the page metadata alongside the rows:
{
  "status": "success",
  "message": "Success",
  "data": {
    "rows": [ /* ... */ ],
    "count": 1240,
    "page": 1,
    "page_size": 30
  }
}

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

ResourceWhat it covers
AuthenticationObtain, list, and revoke API tokens
ProjectsCreate, load, list, export/import, snapshot projects
ConceptsDefine, run, and read results from concepts
Data SourcesConnect data sources, infer schema, upload and preview data
Knowledge GraphBuild graphs and run graph analytics over concept output
VadalogAnalyze and evaluate Vadalog programs directly
VadalingoTranslate NL, SQL, RDF, and OWL into Vadalog
DashboardsManage dashboards programmatically
SchedulesAutomate concept runs on a cron or data-change trigger
Context LayerManage and semantically search the agent knowledge base