Skip to main content

Neo Platform Inference API (1.0)

Download OpenAPI specification:Download

Public REST API for the NeoSpace platform (inference, chat, and platform management).

admin

List audits (org-wide)

List audit logs across all spaces. space_id is an optional filter from the query string.

query Parameters
limit
integer

Limit

after
string

After

action
Array of strings

Action

resource_type
Array of strings

Resource type

resource_id
Array of strings

Resource ID

space_id
Array of strings

Space ID (optional filter)

status_code
Array of integers

Status code

start_time
string

Start time (RFC3339 or YYYY-MM-DD)

end_time
string

End time (RFC3339 or YYYY-MM-DD)

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Get audit by ID (org-wide)

Get any audit log entry regardless of space.

path Parameters
id
required
string

Audit ID

Responses

Response samples

Content type
application/json
{
  • "action": "string",
  • "api_key": "string",
  • "id": "string",
  • "is_api_key": true,
  • "metadata": {
    },
  • "resource_id": "string",
  • "resource_type": "string",
  • "space_id": "string",
  • "status_code": 0,
  • "tenant": "string",
  • "timestamp": "string",
  • "user_email": "string",
  • "user_id": "string",
  • "user_name": "string"
}

Get users

Retrieve a list of users

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Admin OIDC

List OIDC providers

Returns all configured OIDC providers for admin management

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create OIDC provider

Creates a new OIDC provider with KMS-encrypted client_secret

Request Body schema: application/json
required

Provider configuration

client_id
required
string
client_secret
required
string
display_name
string
issuer
required
string
scopes
string
slug
required
string

Responses

Request samples

Content type
application/json
{
  • "client_id": "string",
  • "client_secret": "string",
  • "display_name": "string",
  • "issuer": "string",
  • "scopes": "string",
  • "slug": "string"
}

Response samples

Content type
application/json
{
  • "client_id": "string",
  • "created_at": "string",
  • "display_name": "string",
  • "enabled": true,
  • "id": "string",
  • "issuer": "string",
  • "scopes": "string",
  • "slug": "string",
  • "updated_at": "string"
}

Delete OIDC provider

Soft-deletes an OIDC provider by slug

path Parameters
slug
required
string

Provider slug

Responses

Get OIDC provider

Returns a single OIDC provider by slug for admin management

path Parameters
slug
required
string

Provider slug

Responses

Response samples

Content type
application/json
{
  • "client_id": "string",
  • "created_at": "string",
  • "display_name": "string",
  • "enabled": true,
  • "id": "string",
  • "issuer": "string",
  • "scopes": "string",
  • "slug": "string",
  • "updated_at": "string"
}

Update OIDC provider

Updates fields of an existing OIDC provider (partial update)

path Parameters
slug
required
string

Provider slug

Request Body schema: application/json
required

Fields to update

client_id
string
client_secret
string
display_name
string
enabled
boolean
issuer
string
scopes
string

Responses

Request samples

Content type
application/json
{
  • "client_id": "string",
  • "client_secret": "string",
  • "display_name": "string",
  • "enabled": true,
  • "issuer": "string",
  • "scopes": "string"
}

Response samples

Content type
application/json
{
  • "client_id": "string",
  • "created_at": "string",
  • "display_name": "string",
  • "enabled": true,
  • "id": "string",
  • "issuer": "string",
  • "scopes": "string",
  • "slug": "string",
  • "updated_at": "string"
}

api-keys

List API keys

Get a paginated list of API keys for the current user

query Parameters
limit
integer
Default: 10

Limit

after
string
Default: "\"\""

After

spaces
Array of strings

Filter by space IDs (can be multiple)

start_date
string

Filter by start date (RFC3339 format, e.g., 2024-01-01T00:00:00Z)

end_date
string

Filter by end date (RFC3339 format, e.g., 2024-12-31T23:59:59Z)

created_by
string

Filter by creator ID or email

name
string

Filter by API key name

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create API key

Create a new API key

Request Body schema: application/json
required

API key creation request

name
required
string
permissions
required
Array of strings (permissions.ApiKeyPermission)
Items Enum: "architectures:create" "architectures:delete" "architectures:get" "architectures:list" "architectures:update" "*" "benchmarks:create" "benchmarks:delete" "benchmarks:get" "benchmarks:list" "benchmarks:update" "clusters:list" "evaluations:create" "leaderboards:list" "inference-servers:create" "inference-servers:delete" "inference-servers:get" "inference-servers:list" "inference-servers:update" "trainings:create" "trainings:cancel" "trainings:delete" "trainings:get" "trainings:list" "trainings:update" "data-models:create" "data-models:delete" "data-models:get" "data-models:list" "data-models:update" "data-enhancements:create" "data-enhancements:delete" "data-enhancements:get" "data-enhancements:list" "data-enhancements:update" "data-images:create" "data-images:delete" "data-images:get" "data-images:list" "data-images:update"
spaces
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "deleted_at": "string",
  • "deleted_by": "string",
  • "id": "string",
  • "key": "string",
  • "last_used": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

Delete API key

Delete an API key by ID

path Parameters
id
required
string

API key ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get API key

Retrieve an API key by ID

path Parameters
id
required
string

API key ID

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "deleted_at": "string",
  • "deleted_by": "string",
  • "id": "string",
  • "key": "string",
  • "last_used": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

Update API key

Update an API key by ID

path Parameters
id
required
string

API key ID

Request Body schema: application/json
required

API key update request

name
string
permissions
Array of strings (permissions.ApiKeyPermission)
Items Enum: "architectures:create" "architectures:delete" "architectures:get" "architectures:list" "architectures:update" "*" "benchmarks:create" "benchmarks:delete" "benchmarks:get" "benchmarks:list" "benchmarks:update" "clusters:list" "evaluations:create" "leaderboards:list" "inference-servers:create" "inference-servers:delete" "inference-servers:get" "inference-servers:list" "inference-servers:update" "trainings:create" "trainings:cancel" "trainings:delete" "trainings:get" "trainings:list" "trainings:update" "data-models:create" "data-models:delete" "data-models:get" "data-models:list" "data-models:update" "data-enhancements:create" "data-enhancements:delete" "data-enhancements:get" "data-enhancements:list" "data-enhancements:update" "data-images:create" "data-images:delete" "data-images:get" "data-images:list" "data-images:update"
spaces
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "deleted_at": "string",
  • "deleted_by": "string",
  • "id": "string",
  • "key": "string",
  • "last_used": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

audits

List audits

List audits

query Parameters
limit
integer

Limit

after
string

After

action
string

Action

resource_type
string

Resource type

resource_id
string

Resource ID

user_id
string

User ID

user_email
string

User email

user_name
string

User name

space_id
string

Space ID

status_code
integer

Status code

start_time
string

Start time (RFC3339 format, e.g. 2024-01-15T10:00:00Z or date only 2024-01-15)

end_time
string

End time (RFC3339 format, e.g. 2024-01-15T18:00:00Z or date only 2024-01-15)

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Get audit by ID

Get audit by ID with all details including metadata

path Parameters
id
required
string

Audit ID

Responses

Response samples

Content type
application/json
{
  • "action": "string",
  • "api_key": "string",
  • "id": "string",
  • "is_api_key": true,
  • "metadata": {
    },
  • "resource_id": "string",
  • "resource_type": "string",
  • "space_id": "string",
  • "status_code": 0,
  • "tenant": "string",
  • "timestamp": "string",
  • "user_email": "string",
  • "user_id": "string",
  • "user_name": "string"
}

OIDC

Handle OIDC callback

Handles the callback from OIDC provider after user authentication

query Parameters
code
required
string

Authorization code

state
required
string

State parameter

Responses

Response samples

Content type
application/json
"string"

Initiate OIDC login

Starts the OIDC authentication flow for the requested provider (optional when only one IdP is configured)

Request Body schema: application/json

Login options

provider
string

Responses

Request samples

Content type
application/json
{
  • "provider": "string"
}

Response samples

Content type
application/json
{
  • "auth_url": "string"
}

List OIDC providers

Returns id and display name for each configured OIDC IdP

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Refresh OIDC token

Refreshes the internal JWT token using the stored OIDC refresh token

Responses

Response samples

Content type
application/json
{
  • "token": "string"
}

batch-inference-runs

Get batch inference run

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Batch inference run ID

Responses

Response samples

Content type
application/json
{
  • "cache_dir": "string",
  • "checkpoint_id": "string",
  • "created_at": "string",
  • "created_by": "string",
  • "data_model_id": "string",
  • "event_dataset_ids": [
    ],
  • "finished_at": "string",
  • "flags": {
    },
  • "id": "string",
  • "inference_server_id": "string",
  • "output_dir": "string",
  • "output_summary": {
    },
  • "progress": {
    },
  • "space": "string",
  • "started_at": "string",
  • "status": "string",
  • "status_reason": "string",
  • "time_range": {
    },
  • "training_id": "string",
  • "updated_at": "string"
}

Cancel batch inference run

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Batch inference run ID

Responses

Response samples

Content type
application/json
{
  • "cache_dir": "string",
  • "checkpoint_id": "string",
  • "created_at": "string",
  • "created_by": "string",
  • "data_model_id": "string",
  • "event_dataset_ids": [
    ],
  • "finished_at": "string",
  • "flags": {
    },
  • "id": "string",
  • "inference_server_id": "string",
  • "output_dir": "string",
  • "output_summary": {
    },
  • "progress": {
    },
  • "space": "string",
  • "started_at": "string",
  • "status": "string",
  • "status_reason": "string",
  • "time_range": {
    },
  • "training_id": "string",
  • "updated_at": "string"
}

Batch inference run metrics

Time-series metrics for a batch inference run over the given window.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Batch inference run ID

query Parameters
window
string
Default: "10m"

Metrics window as a Go duration (e.g. 10m, 1h)

Responses

Response samples

Content type
application/json
{
  • "batch_p50_ms": [
    ],
  • "batch_p95_ms": [
    ],
  • "memory_rss_mb": [
    ],
  • "throughput": [
    ],
  • "window": "string",
  • "writer_errors": [
    ],
  • "writer_rows": [
    ]
}

List batch inference runs for a server

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

query Parameters
limit
integer
Default: 10

Page size

after
string

Cursor for pagination

status
string

Comma-separated status filter

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create batch inference run

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Request Body schema: application/json
required

Batch run configuration

event_dataset_ids
required
Array of strings non-empty
object (request.CreateBatchInferenceFlagsBody)
required
object (request.CreateBatchInferenceTimeRange)

Responses

Request samples

Content type
application/json
{
  • "event_dataset_ids": [
    ],
  • "flags": {
    },
  • "time_range": {
    }
}

Response samples

Content type
application/json
{
  • "cache_dir": "string",
  • "checkpoint_id": "string",
  • "created_at": "string",
  • "created_by": "string",
  • "data_model_id": "string",
  • "event_dataset_ids": [
    ],
  • "finished_at": "string",
  • "flags": {
    },
  • "id": "string",
  • "inference_server_id": "string",
  • "output_dir": "string",
  • "output_summary": {
    },
  • "progress": {
    },
  • "space": "string",
  • "started_at": "string",
  • "status": "string",
  • "status_reason": "string",
  • "time_range": {
    },
  • "training_id": "string",
  • "updated_at": "string"
}

Batch inference run KPIs for a server

Aggregated KPIs across batch runs of an inference server over the given window.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

query Parameters
window
string
Default: "24h"

KPIs window as a Go duration (e.g. 24h)

Responses

Response samples

Content type
application/json
{
  • "avg_duration_sec": 0,
  • "avg_rows_per_second": 0,
  • "completed_runs": 0,
  • "failed_runs": 0,
  • "running_runs": 0,
  • "success_rate": 0,
  • "total_rows": 0,
  • "total_runs": 0,
  • "window_hours": 0
}

checkpoints

List checkpoints

List checkpoints by ID

Authorizations:
ApiKeyAuth
query Parameters
limit
integer
Default: 10

Limit

after
string
Default: "\"\""

After

query
string

Case-insensitive substring match on checkpoint name

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Rename checkpoint

Update the display name of a checkpoint

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Checkpoint ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Body

name
required
string [ 1 .. 128 ] characters

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "metrics": {
    },
  • "name": "string",
  • "path": "string",
  • "target_metrics": [
    ],
  • "training_id": "string",
  • "training_kind": "PRETRAIN",
  • "training_name": "string"
}

Inference deploy config for a checkpoint

Resolve the images + tunables an inference server built from this checkpoint would deploy with (checkpoint → training → architecture).

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Checkpoint ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "image_go": "string",
  • "image_gpu": "string",
  • "max_seqlen": 0,
  • "memory_margin": 0,
  • "node_fraction": 0,
  • "token_budget": 0
}

clusters

List clusters

Retrieve a list of clusters

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create cluster

Create a new cluster

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Cluster creation request

description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "nodes": [
    ],
  • "spaces": [
    ],
  • "stats": {
    },
  • "status": "HEALTHY",
  • "updated_at": "string"
}

Delete cluster

Delete a cluster by ID

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

List jobs for a cluster

List all jobs enriched with task details, node info, and CPU/GPU utilization, optionally filtered by state

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

query Parameters
state
string

Filter by job state (Pending, Running, Completed, Failed, Canceled)

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "completed_jobs": 0,
  • "failed_jobs": 0,
  • "items": [
    ],
  • "running_jobs": 0,
  • "total_jobs": 0
}

List queued jobs for a cluster

List all jobs currently in pending/queued state

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "total_jobs": 0
}

Get cluster metrics

Returns aggregated KPIs, per-node utilization, IO history, network traffic, disk and network usage for the cluster overview dashboard

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "disk_usage": {
    },
  • "io_history": [
    ],
  • "kpis": {
    },
  • "network_traffic": [
    ],
  • "network_usage": {
    },
  • "nodes": [
    ]
}

List nodes summary for a cluster

List all nodes with aggregated CPU, GPU, memory and disk metrics, plus cluster-level averages

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "average_cpu": 0,
  • "average_disk": 0,
  • "average_gpu": 0,
  • "average_memory": 0,
  • "average_utilization": 0,
  • "items": [
    ]
}

Assign multiple spaces to a cluster

Assign one or more spaces to the given cluster (each space's cluster pointer is set).

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Spaces to assign

space_ids
required
Array of strings non-empty

Responses

Request samples

Content type
application/json
{
  • "space_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "cluster_id": "string",
  • "space_ids": [
    ]
}

nodes

List nodes

Retrieve a list of nodes

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create node

Create a new node

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Node creation request

object
name
string

Responses

Request samples

Content type
application/json
{
  • "labels": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "apiserver_url": "string",
  • "cluster": "string",
  • "enroll_token": "string",
  • "enroll_token_expires_at": "string",
  • "id": "string",
  • "job_labels": [
    ],
  • "labels": {
    },
  • "name": "string",
  • "node_cidr": "string",
  • "setup_url": "string",
  • "spire_join_token": "string",
  • "spire_server_address": "string",
  • "spire_trust_domain": "string",
  • "status": "CONNECTED",
  • "token": "string"
}

Delete node

Delete a node by ID

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Update node job labels

Set the job-routing label set on a node. Removing a currently-applied label triggers cordon-by-matchLabel followed by drain-by-matchLabel on neocore, using the requested drain strategy. Enabling train or inference on a node without GPUs is rejected.

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

id
required
string

Node ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Labels and drain options

drain_strategy
required
string
Enum: "graceful" "hard"
grace_period_seconds
integer [ 0 .. 300 ]
labels
required
Array of strings

Responses

Request samples

Content type
application/json
{
  • "drain_strategy": "graceful",
  • "grace_period_seconds": 300,
  • "labels": [
    ]
}

Response samples

Content type
application/json
{
  • "added": [
    ],
  • "drained_tasks": 0,
  • "labels": [
    ],
  • "node_id": "string",
  • "removed": [
    ]
}

Move node to another cluster

Reassign a node from its current cluster to a target cluster. Hard-drains every running workload off the node first (cordon + force drain), then flips the node's cluster selector label on neocore, updates both clusters' membership, and uncordons the node so it lands schedulable in the target cluster.

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Source cluster ID

id
required
string

Node ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Target cluster and drain options

grace_period_seconds
integer [ 0 .. 300 ]
targetClusterId
required
string

Responses

Request samples

Content type
application/json
{
  • "grace_period_seconds": 300,
  • "targetClusterId": "string"
}

Response samples

Content type
application/json
{
  • "apiserver_url": "string",
  • "cluster": "string",
  • "enroll_token": "string",
  • "enroll_token_expires_at": "string",
  • "id": "string",
  • "job_labels": [
    ],
  • "labels": {
    },
  • "name": "string",
  • "node_cidr": "string",
  • "setup_url": "string",
  • "spire_join_token": "string",
  • "spire_server_address": "string",
  • "spire_trust_domain": "string",
  • "status": "CONNECTED",
  • "token": "string"
}

Re-enroll node

Generate a fresh enroll token + setup command for an existing node

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

id
required
string

Node ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "apiserver_url": "string",
  • "cluster": "string",
  • "enroll_token": "string",
  • "enroll_token_expires_at": "string",
  • "id": "string",
  • "job_labels": [
    ],
  • "labels": {
    },
  • "name": "string",
  • "node_cidr": "string",
  • "setup_url": "string",
  • "spire_join_token": "string",
  • "spire_server_address": "string",
  • "spire_trust_domain": "string",
  • "status": "CONNECTED",
  • "token": "string"
}

Reconcile node labels from hardware

Force-runs the on-connect label reconciliation for a node. Bootstraps hardware-derived labels (CPU cores, GPU count) from neocore metrics when the node has no labels yet, then pushes the resulting label set to neocore. Use this to backfill nodes that connected before the node.metrics_ready webhook was deployed.

Authorizations:
ApiKeyAuth
path Parameters
cluster
required
string

Cluster ID

id
required
string

Node ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Generate node token

Generate a new token for a node

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "token": "string"
}

connectors

List connectors

Retrieve a list of connectors with pagination

Authorizations:
ApiKeyAuth
query Parameters
limit
integer
Default: 10

limit

after
string

after

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create connector

Create a new connector

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Connector creation request

external_secret_id
string
index_interval_seconds
integer >= 0

IndexIntervalSeconds: how often the catalog re-scans this connector for new/changed data; forwarded to the neocore datasource spec. Nil/0 disables automatic re-indexing. The UI defaults to 300 (5 min).

object (request.LocalConfig)
name
required
string
object (request.OracleDefaultConfigReq)
object (request.OracleInstancePrincipalConfig)
object (request.OracleS3Config)
object (request.S3Config)
object (request.S3InstanceProfileConfig)
type
required
string
Enum: "aws-s3" "aws-s3-instance-profile" "oracle_s3" "oracle_instance_principal" "oracle" "local"

Responses

Request samples

Content type
application/json
{
  • "external_secret_id": "string",
  • "index_interval_seconds": 0,
  • "local": {
    },
  • "name": "string",
  • "oracle": {
    },
  • "oracle_instance_principal": {
    },
  • "oracle_s3": {
    },
  • "s3": {
    },
  • "s3_instance_profile": {
    },
  • "type": "aws-s3"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "endpoint": "string",
  • "external_secret_id": "string",
  • "extraction_id": "string",
  • "id": "string",
  • "index": {
    },
  • "index_status": "not_indexed",
  • "indexed_at": "string",
  • "name": "string",
  • "namespace": "string",
  • "paths": [
    ],
  • "prefix": "string",
  • "profile_status": "not_profiled",
  • "provider": "aws-s3",
  • "region": "string"
}

Compare connector files

Compare connector files by ID

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Compare connector files request

required
Array of objects (request.CompareConnector)
Array
files
Array of strings
id
string

Responses

Request samples

Content type
application/json
{
  • "compare": [
    ]
}

Response samples

Content type
application/json
{
  • "schema_groups": [
    ]
}

Delete connector

Delete a connector by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get connector

Retrieve a connector by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "endpoint": "string",
  • "external_secret_id": "string",
  • "extraction_id": "string",
  • "id": "string",
  • "index": {
    },
  • "index_status": "not_indexed",
  • "indexed_at": "string",
  • "name": "string",
  • "namespace": "string",
  • "paths": [
    ],
  • "prefix": "string",
  • "profile_status": "not_profiled",
  • "provider": "aws-s3",
  • "region": "string"
}

List files in a connector (S3)

List files for a connector by ID (currently supports S3 connectors)

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

query Parameters
prefix
string

File prefix filter

limit
integer

Maximum number of files to return

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
[
  • [
    ]
]

List connector index runs

Returns the persisted index runs for a connector (history fed by webhooks).

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

query Parameters
limit
integer
Default: 10

limit

after
string

after

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

List connector parquet scans

Returns the persisted parquet scans for a connector (history fed by webhooks).

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

query Parameters
limit
integer
Default: 10

limit

after
string

after

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

List connector partitions

Returns hive partitions for a connector by proxying neocore.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "datetime_detected": true,
  • "partition_keys": [
    ],
  • "partitions": [
    ],
  • "sorted_by": "string",
  • "total": 0
}

Trigger reindex for a connector

Triggers a reindex on neocore for the given connector.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Reindex request

scope
required
string
Enum: "full" "parquets"

Responses

Request samples

Content type
application/json
{
  • "scope": "full"
}

Response samples

Content type
application/json
{
  • "run_id": "string",
  • "scope": "string"
}

List connector schema refs

Returns schema refs for a connector by proxying neocore.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Set a name for a connector schema hash

Creates or updates the user-defined name for a schema hash.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

hash
required
string

Schema hash

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

Name

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "hash": "string",
  • "name": "string"
}

List files for a connector schema

Returns the files associated with a schema hash by proxying neocore.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

hash
required
string

Schema hash

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "next_offset": 0,
  • "total": 0
}

Get connector live status

Returns the live status (latest/active runs, schema count) for a connector by proxying neocore.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Connector ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "active_index_run": {
    },
  • "active_parquet_scan": {
    },
  • "index_status": "string",
  • "is_indexing": true,
  • "is_profiling": true,
  • "latest_index_run": {
    },
  • "latest_parquet_scan": {
    },
  • "profile_status": "string",
  • "schema_count": 0
}

data-enhancements

List data enhancements

Paginated list of data enhancement workspaces in the current space

query Parameters
limit
integer
Default: 10

Page size

after
string

Cursor

name
string

Filter by name (substring)

status
string

Filter by status

header Parameters
Space
required
string

Space ID (spa_*)

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create data enhancement workspace

Create a new data enhancement workspace scoped to the Space header (source datasets, status, audit). Requires JWT or API key and data-enhancements:create.

header Parameters
Space
required
string

Space ID (spa_*)

Request Body schema: application/json
required

Create request

description
string
name
required
string
raw_dataset_ids
Array of strings
status
string
Enum: "DRAFT" "PROCESSING" "READY" "FAILED"

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "raw_dataset_ids": [
    ],
  • "status": "DRAFT"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "description": "string",
  • "facts_count": 0,
  • "id": "string",
  • "last_updated": "string",
  • "name": "string",
  • "predictions_count": 0,
  • "raw_dataset_ids": [
    ],
  • "status": "DRAFT",
  • "transformations_count": 0
}

Delete data enhancement

Delete a data enhancement workspace by ID in the current space

path Parameters
id
required
string

Data enhancement ID (enh_*)

header Parameters
Space
required
string

Space ID (spa_*)

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get data enhancement

Get a data enhancement workspace by ID in the current space

path Parameters
id
required
string

Data enhancement ID (enh_*)

header Parameters
Space
required
string

Space ID (spa_*)

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "description": "string",
  • "facts_count": 0,
  • "id": "string",
  • "last_updated": "string",
  • "name": "string",
  • "predictions_count": 0,
  • "raw_dataset_ids": [
    ],
  • "status": "DRAFT",
  • "transformations_count": 0
}

Update data enhancement

Partial update of a data enhancement workspace in the current space

path Parameters
id
required
string

Data enhancement ID (enh_*)

header Parameters
Space
required
string

Space ID (spa_*)

Request Body schema: application/json
required

Update body

description
string
name
string
raw_dataset_ids
Array of strings
status
string
Enum: "DRAFT" "PROCESSING" "READY" "FAILED"

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "raw_dataset_ids": [
    ],
  • "status": "DRAFT"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "description": "string",
  • "facts_count": 0,
  • "id": "string",
  • "last_updated": "string",
  • "name": "string",
  • "predictions_count": 0,
  • "raw_dataset_ids": [
    ],
  • "status": "DRAFT",
  • "transformations_count": 0
}

data-extractions

List data extractions

Returns the data extractions in the current space. Deleted

query Parameters
limit
integer
Default: 10

limit

after
string

after

status
string

comma-separated statuses

include_deleted
boolean

include soft-deleted extractions

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create data extraction

Submit a new extraction job. Returns the extraction in PENDING status.

Request Body schema: application/json
required

Data extraction creation request

description
string
name
required
string
required
object (request.ExtractionSource)

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "source": {
    }
}

Response samples

Content type
application/json
{
  • "connector_id": "string",
  • "created_at": "string",
  • "deleted": true,
  • "deleted_at": "string",
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "output_dir": "string",
  • "source": {
    },
  • "status": "PENDING",
  • "status_reason": "string",
  • "updated_at": "string"
}

Delete data extraction

Soft-delete a data extraction. The underlying neocore job is

path Parameters
id
required
string

Data extraction ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get data extraction

Retrieve a data extraction by ID.

path Parameters
id
required
string

Data extraction ID

Responses

Response samples

Content type
application/json
{
  • "connector_id": "string",
  • "created_at": "string",
  • "deleted": true,
  • "deleted_at": "string",
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "output_dir": "string",
  • "source": {
    },
  • "status": "PENDING",
  • "status_reason": "string",
  • "updated_at": "string"
}

Rename / update data extraction

Update name and/or description. Source config is immutable.

path Parameters
id
required
string

Data extraction ID

Request Body schema: application/json
required

Update body

description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "connector_id": "string",
  • "created_at": "string",
  • "deleted": true,
  • "deleted_at": "string",
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "output_dir": "string",
  • "source": {
    },
  • "status": "PENDING",
  • "status_reason": "string",
  • "updated_at": "string"
}

data-models

Get all data models

Retrieve a list of data models with pagination

query Parameters
limit
integer
Default: 10

limit

after
string

after

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create data model

Create a new data model

Request Body schema: application/json
required

Data model creation request

description
string
kind
required
string
Enum: "PRETRAIN" "POST_TRAINING"
name
required
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "kind": "PRETRAIN",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "description": "string",
  • "id": "string",
  • "kind": "PRETRAIN",
  • "name": "string",
  • "updated_at": "string"
}

Delete data model

Delete a data model by ID

path Parameters
id
required
string

Data model ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get data model

Retrieve a data model by ID

path Parameters
id
required
string

Data model ID

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "description": "string",
  • "id": "string",
  • "kind": "PRETRAIN",
  • "name": "string",
  • "updated_at": "string"
}

Update data model

Update a data model by ID

path Parameters
id
required
string

Data model ID

Request Body schema: application/json
required

Data model update request

description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "description": "string",
  • "id": "string",
  • "kind": "PRETRAIN",
  • "name": "string",
  • "updated_at": "string"
}

data-preprocesses

List data preprocesses

query Parameters
profile_id
string

filter by parent profile

status
string

comma-separated statuses (include ARCHIVED to pull archived rows)

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create data preprocess

Create a preprocess from a parent profile. Send EITHER

Request Body schema: application/json
required

Preprocess creation

excluded_columns
Array of strings
feature_columns
Array of strings
included_columns
Array of strings
name
required
string
object

Options is the optional advanced-settings block. Any field left nil falls back to the server-side default in mapper.DefaultPreprocessDatasetConfig.

profile_id
required
string
target_columns
Array of strings
timestamp_column
string

Responses

Request samples

Content type
application/json
{
  • "excluded_columns": [
    ],
  • "feature_columns": [
    ],
  • "included_columns": [
    ],
  • "name": "string",
  • "options": {
    },
  • "profile_id": "string",
  • "target_columns": [
    ],
  • "timestamp_column": "string"
}

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "excluded_columns": [
    ],
  • "feature_columns": [
    ],
  • "id": "string",
  • "max_event_ts": "string",
  • "min_event_ts": "string",
  • "n_cols": 0,
  • "n_rows": 0,
  • "name": "string",
  • "processed_output": "string",
  • "profile_id": "string",
  • "profile_name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "target_columns": [
    ],
  • "target_metric_columns": [
    ],
  • "timestamp_column": "string",
  • "updated_at": "string"
}

Delete data preprocess

Hard-delete a data preprocess. Only FAILED preprocesses can be

path Parameters
id
required
string

Data preprocess ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get data preprocess

path Parameters
id
required
string

Data preprocess ID

Responses

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "excluded_columns": [
    ],
  • "feature_columns": [
    ],
  • "id": "string",
  • "max_event_ts": "string",
  • "min_event_ts": "string",
  • "n_cols": 0,
  • "n_rows": 0,
  • "name": "string",
  • "processed_output": "string",
  • "profile_id": "string",
  • "profile_name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "target_columns": [
    ],
  • "target_metric_columns": [
    ],
  • "timestamp_column": "string",
  • "updated_at": "string"
}

Rename data preprocess

path Parameters
id
required
string

Data preprocess ID

Request Body schema: application/json
required

Update body

name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "excluded_columns": [
    ],
  • "feature_columns": [
    ],
  • "id": "string",
  • "max_event_ts": "string",
  • "min_event_ts": "string",
  • "n_cols": 0,
  • "n_rows": 0,
  • "name": "string",
  • "processed_output": "string",
  • "profile_id": "string",
  • "profile_name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "target_columns": [
    ],
  • "target_metric_columns": [
    ],
  • "timestamp_column": "string",
  • "updated_at": "string"
}

Archive data preprocess

path Parameters
id
required
string

Data preprocess ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get data preprocess columns

Returns the persisted column snapshot — the columns the user

path Parameters
id
required
string

Data preprocess ID

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Unarchive data preprocess

Restore an archived data preprocess to its active state.

path Parameters
id
required
string

Data preprocess ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

data-profiles

List data profiles

Returns the data profiles in the current space. Archived

query Parameters
limit
integer
Default: 10

limit

after
string

after

status
string

comma-separated statuses (include ARCHIVED to pull archived rows)

structure
string

comma-separated structures

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create data profile

Submit a new profiling job. Returns the profile in PENDING status.

Request Body schema: application/json
required

Data profile creation request

description
string
required
Array of objects (request.DataProfileFile) non-empty
name
required
string
object

Options is the optional advanced-settings block. Any field left nil falls back to the server-side default in mapper.DefaultProfileScanBaseConfig.

structure
required
string (model.DataProfileStructure)
Enum: "EVENT_BASED" "FEATURE_BASED" "FILTER_BASED"

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "files": [
    ],
  • "name": "string",
  • "options": {
    },
  • "structure": "EVENT_BASED"
}

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "description": "string",
  • "files": [
    ],
  • "id": "string",
  • "name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "updated_at": "string"
}

Delete data profile

Hard-delete a data profile. Only FAILED profiles can be deleted —

path Parameters
id
required
string

Data profile ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get data profile

Retrieve a data profile by ID.

path Parameters
id
required
string

Data profile ID

Responses

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "description": "string",
  • "files": [
    ],
  • "id": "string",
  • "name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "updated_at": "string"
}

Rename / update data profile

Update name and/or description. Files and structure are immutable.

path Parameters
id
required
string

Data profile ID

Request Body schema: application/json
required

Update body

description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "archived": true,
  • "archived_at": "string",
  • "created_at": "string",
  • "description": "string",
  • "files": [
    ],
  • "id": "string",
  • "name": "string",
  • "status": "PENDING",
  • "status_reason": "string",
  • "structure": "EVENT_BASED",
  • "updated_at": "string"
}

Archive data profile

Soft-archive a data profile. Profiles are never hard-deleted —

path Parameters
id
required
string

Data profile ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get data profile stats

Live column statistics from neocore. Used for the

path Parameters
id
required
string

Data profile ID

query Parameters
search
string

Substring filter

regex
string

Regex filter (takes precedence over search)

limit
integer

Page size

offset
integer

Page offset

Responses

Response samples

Content type
application/json
{
  • "after": "string",
  • "data": [
    ],
  • "has_more": true,
  • "rows_count": 0,
  • "sampled_rows_count": 0,
  • "total": 0
}

Unarchive data profile

Restore an archived data profile to its active state.

path Parameters
id
required
string

Data profile ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

evaluations

Create evaluation

Create a new evaluation

Request Body schema: application/json
required

Evaluation creation request

benchmark_id
required
string
checkpoint_id
required
string
gpu_count
required
integer

Responses

Request samples

Content type
application/json
{
  • "benchmark_id": "string",
  • "checkpoint_id": "string",
  • "gpu_count": 0
}

Response samples

Content type
application/json
{
  • "benchmark_id": "string",
  • "checkpoint_id": "string",
  • "created_at": "string",
  • "created_by": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "result": {
    },
  • "updated_at": "string",
  • "updated_by": "string"
}

external-secrets

List external secrets

Retrieve a list of external secrets

Authorizations:
ApiKeyAuth
query Parameters
limit
integer
Default: 10

Max items to return

after
string

Cursor for pagination

name
string

Case-insensitive substring match on the secret name

backend_type
string
Enum: "AWSSecretsManager" "Vault" "OCIVault"

Filter by backend type

sync_state
string
Enum: "Pending" "Synced" "Error"

Filter by sync state

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create external secret

Create a new external secret

Authorizations:
ApiKeyAuth
header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Request Body schema: application/json
required

External secret creation request

object
name
required
string
required
object (request.ExternalSecretSpec)

Responses

Request samples

Content type
application/json
{
  • "labels": {
    },
  • "name": "string",
  • "spec": {
    }
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "labels": {
    },
  • "name": "string",
  • "spec": {
    },
  • "sync_status": {
    }
}

Delete external secret

Delete an external secret by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

External secret ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get external secret

Get an external secret by ID

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

External secret ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "labels": {
    },
  • "name": "string",
  • "spec": {
    },
  • "sync_status": {
    }
}

Resync external secret

Trigger a resync for an external secret

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

External secret ID

header Parameters
Authorization
required
string
Default: Bearer <Add access token here>

Insert your access token

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

inference-servers

List inference servers

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create inference server

Request Body schema: application/json
required

Body

checkpoint_id
required
string
required
object (model.InferenceServerConnectors)
data_model_id
required
string
inference_type
required
string
Enum: "batch" "online"
instances
integer
object (model.InferenceServerSchedule)
space
required
string
tag
string
training_id
required
string

Responses

Request samples

Content type
application/json
{
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "data_model_id": "string",
  • "inference_type": "batch",
  • "instances": 0,
  • "schedule": {
    },
  • "space": "string",
  • "tag": "string",
  • "training_id": "string"
}

Response samples

Content type
application/json
{
  • "checkpoint": 0,
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "inference_type": "string",
  • "instances": 0,
  • "job_state_reasons": {
    },
  • "job_states": {
    },
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "status_reason": "string",
  • "tag": "string",
  • "training_id": "string",
  • "updated_at": "string"
}

/v1/inference-servers/{id}

path Parameters
id
required
string

Inference server ID

/v1/inference-servers/{id}

path Parameters
id
required
string

Inference server ID

Patch inference server (lifecycle status)

path Parameters
id
required
string

Inference server ID

Request Body schema: application/json
required

Body (status canceled = undeploy; running = activate, may persist as awaiting_inference when instances is 0)

status
required
string
Enum: "canceled" "running"

canceled: soft undeploy. running: activate (stored as running or awaiting_inference when instances is 0).

Responses

Request samples

Content type
application/json
{
  • "status": "canceled"
}

Response samples

Content type
application/json
{
  • "checkpoint": 0,
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "inference_type": "string",
  • "instances": 0,
  • "job_state_reasons": {
    },
  • "job_states": {
    },
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "status_reason": "string",
  • "tag": "string",
  • "training_id": "string",
  • "updated_at": "string"
}

/v1/inference-servers/{id}

path Parameters
id
required
string

Inference server ID

Request Body schema: application/json
required

Body

checkpoint_id
required
string
required
object (model.InferenceServerConnectors)
data_model_id
required
string
inference_type
required
string
Enum: "batch" "online"
instances
integer
object (model.InferenceServerSchedule)
space
required
string
tag
string
training_id
required
string

Request samples

Content type
application/json
{
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "data_model_id": "string",
  • "inference_type": "batch",
  • "instances": 0,
  • "schedule": {
    },
  • "space": "string",
  • "tag": "string",
  • "training_id": "string"
}

Inference server dashboard

Aggregated dashboard metrics for an inference server over the given window.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

query Parameters
window
string
Default: "1h"

Dashboard window as a Go duration (e.g. 1h)

Responses

Response samples

Content type
application/json
{
  • "alerts": [
    ],
  • "engines": {
    },
  • "kpis": {
    },
  • "recent_runs": [
    ],
  • "resources": {
    },
  • "time_series": {
    },
  • "window": "string",
  • "writer": {
    }
}

Get inference server model

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Responses

Response samples

Content type
application/json
{
  • "info": {
    },
  • "input_views": [
    ],
  • "target_views": [
    ]
}

Get inference server model layout

Returns the raw model layout JSON for the server's deployed model.

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Responses

Response samples

Content type
application/json
{ }

Start online inference server

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Responses

Response samples

Content type
application/json
{
  • "checkpoint": 0,
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "inference_type": "string",
  • "instances": 0,
  • "job_state_reasons": {
    },
  • "job_states": {
    },
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "status_reason": "string",
  • "tag": "string",
  • "training_id": "string",
  • "updated_at": "string"
}

Get online server connection details

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Responses

Response samples

Content type
application/json
{
  • "health_check": {
    },
  • "http_endpoint": {
    },
  • "inference_server_id": "string",
  • "job_name": "string",
  • "leader_task": "string",
  • "metrics_endpoint": {
    },
  • "node_ip": "string",
  • "node_name": "string"
}

Stop online inference server

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Responses

Response samples

Content type
application/json
{
  • "checkpoint": 0,
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "inference_type": "string",
  • "instances": 0,
  • "job_state_reasons": {
    },
  • "job_states": {
    },
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "status_reason": "string",
  • "tag": "string",
  • "training_id": "string",
  • "updated_at": "string"
}

Test online inference

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Request Body schema: application/json
required

Test inference payload

body
required
Array of integers
path
required
string

Responses

Request samples

Content type
application/json
{
  • "body": [
    ],
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "body": [
    ],
  • "body_text": "string",
  • "elapsed_ms": 0,
  • "status": 0,
  • "truncated": true
}

Configure inference server output destination

Authorizations:
ApiKeyAuth
path Parameters
id
required
string

Inference server ID

Request Body schema: application/json
required

Output destination configuration

connector_id
string
path
string

Responses

Request samples

Content type
application/json
{
  • "connector_id": "string",
  • "path": "string"
}

Response samples

Content type
application/json
{
  • "checkpoint": 0,
  • "checkpoint_id": "string",
  • "connectors": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_model_id": "string",
  • "epoch": 0,
  • "id": "string",
  • "inference_type": "string",
  • "instances": 0,
  • "job_state_reasons": {
    },
  • "job_states": {
    },
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "status_reason": "string",
  • "tag": "string",
  • "training_id": "string",
  • "updated_at": "string"
}

leaderboards

List leaderboards

Retrieve a paginated list of checkpoints grouped with their metrics for leaderboard display

query Parameters
limit
integer
Default: 10

Limit

after
string

Cursor for pagination (checkpoint ID of last item, required with after_metric_value)

model_id
string

Filter by model/checkpoint ID

benchmarks
Array of strings

Filter by benchmark IDs (can be multiple)

trainings
Array of strings

Filter by training IDs (can be multiple)

start_date
string

Filter by start date (RFC3339 format, e.g., 2024-01-01T00:00:00Z)

end_date
string

Filter by end date (RFC3339 format, e.g., 2024-12-31T23:59:59Z)

order_by_metric.metric_name
string

Order by this metric name (requires dataset_name and target_name)

order_by_metric.dataset_name
string

Dataset name for metric ordering (required when ordering by metric)

order_by_metric.target_name
string

Target name for metric ordering (required when ordering by metric)

order_by_metric.after_metric_value
number

Metric value of last item for cursor pagination (requires after param)

order_by_metric.direction
string
Default: "desc"

Order direction: asc or desc

name
string

Filter by checkpoint name

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "has_more": true
}

users

Get logged user informations

Get logged user informations

Responses

Response samples

Content type
application/json
{
  • "email": "string",
  • "external_id": "string",
  • "first_name": "string",
  • "id": "string",
  • "is_admin": true,
  • "language": "string",
  • "last_name": "string",
  • "login_type": "email",
  • "role": "designer",
  • "seats": [
    ],
  • "theme": "string"
}

Get users

Get users

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Update user

Update user

Request Body schema: application/json
required

Update user request

first_name
string
last_name
string
role
string (model.UserRole)
Enum: "designer" "developer"

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "role": "designer"
}

Response samples

Content type
application/json
{
  • "email": "string",
  • "external_id": "string",
  • "first_name": "string",
  • "id": "string",
  • "last_name": "string",
  • "login_type": "email",
  • "role": "designer",
  • "spaces": [
    ]
}

Get user panel settings

Get user panel settings for the authenticated user

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "id": "string",
  • "language": "string",
  • "notification_toasts_enabled": true,
  • "pinned_space_id": "string",
  • "role": "string",
  • "theme": "string",
  • "updated_at": "string",
  • "user_id": "string"
}

Create user panel settings

Create user panel settings with language and theme preferences

Request Body schema: application/json
required

Create user panel request

language
required
string
notification_toasts_enabled
boolean

NotificationToastsEnabled toggles the new-notification toast; nil = on.

pinned_space_id
string
role
string
theme
required
string

Responses

Request samples

Content type
application/json
{
  • "language": "string",
  • "notification_toasts_enabled": true,
  • "pinned_space_id": "string",
  • "role": "string",
  • "theme": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "id": "string",
  • "language": "string",
  • "notification_toasts_enabled": true,
  • "pinned_space_id": "string",
  • "role": "string",
  • "theme": "string",
  • "updated_at": "string",
  • "user_id": "string"
}

Update user panel settings

Update user panel settings (language and/or theme) for the authenticated user

Request Body schema: application/json
required

Update user panel request

language
string
notification_toasts_enabled
boolean
pinned_space_id
string
role
string
theme
string

Responses

Request samples

Content type
application/json
{
  • "language": "string",
  • "notification_toasts_enabled": true,
  • "pinned_space_id": "string",
  • "role": "string",
  • "theme": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "id": "string",
  • "language": "string",
  • "notification_toasts_enabled": true,
  • "pinned_space_id": "string",
  • "role": "string",
  • "theme": "string",
  • "updated_at": "string",
  • "user_id": "string"
}

model-designs

List design models

query Parameters
kind
string

model_input or model_output

status
string

draft or published

name
string

name substring filter

Responses

Response samples

Content type
application/json
{
  • "data": [
    ]
}

Create design model

Create a new design model (input or output). The created_by

Request Body schema: application/json
required

Create body

data_preprocesses
required
Array of strings
description
string <= 300 characters
kind
required
string
Enum: "model_input" "model_output"
name
required
string <= 100 characters
object

TimeRanges is only required for model_input; model_output designs may omit it.

Responses

Request samples

Content type
application/json
{
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "kind": "model_input",
  • "name": "string",
  • "time_ranges": {
    }
}

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

Delete a design model

Soft-deletes the design (stamps deleted_at). The row is kept

path Parameters
id
required
string

Design model ID

Responses

Response samples

Content type
application/json
{
  • "error": "string"
}

Get design model

path Parameters
id
required
string

Design model ID

Responses

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

Archive a design model

Marks the design as archived. Archived designs remain in the

path Parameters
id
required
string

Design model ID

Responses

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

Save draft config snapshot

Persists config_snapshot on a draft design without changing

path Parameters
id
required
string

Design model ID

Request Body schema: application/json
required

Snapshot body

required
object
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "config_snapshot": {
    }
}

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

Publish a design model

Flips a draft design to published, persists the snapshot and

path Parameters
id
required
string

Design model ID

Request Body schema: application/json
required

Snapshot body

required
object
property name*
additional property
any

Responses

Request samples

Content type
application/json
{
  • "config_snapshot": {
    }
}

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

Unarchive a design model

Clears the archived flag, returning the design to its active

path Parameters
id
required
string

Design model ID

Responses

Response samples

Content type
application/json
{
  • "archived_at": "string",
  • "config_snapshot": {
    },
  • "created_at": "string",
  • "created_by": {
    },
  • "data_preprocesses": [
    ],
  • "description": "string",
  • "id": "string",
  • "kind": "model_input",
  • "name": "string",
  • "published_at": "string",
  • "status": "draft",
  • "time_ranges": {
    },
  • "updated_at": "string",
  • "used_in_training": true
}

seats

Get all seats

Retrieve a list of seats with pagination

query Parameters
limit
integer
Default: 10

limit

after
string

after

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create seat

Create a new seat

Request Body schema: application/json
required

Seat creation request

name
required
string
permissions
required
Array of strings (permissions.Permission) non-empty
Items Enum: "audits:get" "audits:list" "api-keys:create" "api-keys:delete" "api-keys:get" "api-keys:list" "api-keys:update" "architectures:create" "architectures:delete" "architectures:get" "architectures:list" "architectures:update" "benchmarks:create" "benchmarks:delete" "benchmarks:get" "benchmarks:list" "benchmarks:update" "checkpoints:list" "checkpoints:update" "clusters:create" "clusters:delete" "clusters:get-stats" "clusters:list" "connectors:create" "connectors:files:compare" "connectors:delete" "connectors:files" "connectors:get" "connectors:list" "connectors:reindex" "data-models:create" "data-models:delete" "data-models:get" "data-models:list" "data-models:update" "data-enhancements:create" "data-enhancements:delete" "data-enhancements:get" "data-enhancements:list" "data-enhancements:update" "data-profiles:create" "data-profiles:archive" "data-profiles:delete" "data-profiles:get" "data-profiles:stats" "data-profiles:list" "data-profiles:update" "data-preprocesses:create" "data-preprocesses:archive" "data-preprocesses:delete" "data-preprocesses:get" "data-preprocesses:columns" "data-preprocesses:list" "data-preprocesses:update" "data-extractions:create" "data-extractions:delete" "data-extractions:get" "data-extractions:list" "data-extractions:update" "data-images:create" "data-images:delete" "data-images:get" "data-images:list" "data-images:update" "model-designs:create" "model-designs:get" "model-designs:list" "model-designs:update" "model-designs:publish" "model-designs:archive" "model-designs:delete" "evaluations:create" "inference-servers:create" "inference-servers:delete" "inference-servers:get" "inference-servers:list" "inference-servers:update" "leaderboards:list" "neocore:read" "neocore:write" "spaces:create" "spaces:delete" "spaces:get" "spaces:list" "spaces:get-members" "spaces:assign-cluster" "spaces:update" "trainings:create" "trainings:cancel" "trainings:delete" "trainings:get" "trainings:get-metrics" "trainings:get-logs" "trainings:list" "trainings:update" "users:list" "seats:create" "seats:delete" "seats:get" "seats:list" "seats:update" "admin:users:list" "admin:oidc:manage" "admin:audits:list" "admin:audits:get" "notifications:list" "notifications:update" "nodes:list" "nodes:create" "nodes:delete" "nodes:update" "nodes:move" "nodes:token:generate" "external-secrets:create" "external-secrets:delete" "external-secrets:get" "external-secrets:list" "external-secrets:resync" "*"
spaces
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

List valid seat permissions

Return the set of permission keys that can be assigned to a seat. Derived from the same enum the backend uses to authorize requests.

Responses

Response samples

Content type
application/json
{
  • "permissions": [
    ]
}

Delete seat

Delete a seat by ID

path Parameters
id
required
string

Seat ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get seat

Retrieve a seat by ID

path Parameters
id
required
string

Seat ID

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

Update seat

Update a seat by ID

path Parameters
id
required
string

Seat ID

Request Body schema: application/json
required

Seat update request

name
string
permissions
Array of strings (permissions.Permission)
Items Enum: "audits:get" "audits:list" "api-keys:create" "api-keys:delete" "api-keys:get" "api-keys:list" "api-keys:update" "architectures:create" "architectures:delete" "architectures:get" "architectures:list" "architectures:update" "benchmarks:create" "benchmarks:delete" "benchmarks:get" "benchmarks:list" "benchmarks:update" "checkpoints:list" "checkpoints:update" "clusters:create" "clusters:delete" "clusters:get-stats" "clusters:list" "connectors:create" "connectors:files:compare" "connectors:delete" "connectors:files" "connectors:get" "connectors:list" "connectors:reindex" "data-models:create" "data-models:delete" "data-models:get" "data-models:list" "data-models:update" "data-enhancements:create" "data-enhancements:delete" "data-enhancements:get" "data-enhancements:list" "data-enhancements:update" "data-profiles:create" "data-profiles:archive" "data-profiles:delete" "data-profiles:get" "data-profiles:stats" "data-profiles:list" "data-profiles:update" "data-preprocesses:create" "data-preprocesses:archive" "data-preprocesses:delete" "data-preprocesses:get" "data-preprocesses:columns" "data-preprocesses:list" "data-preprocesses:update" "data-extractions:create" "data-extractions:delete" "data-extractions:get" "data-extractions:list" "data-extractions:update" "data-images:create" "data-images:delete" "data-images:get" "data-images:list" "data-images:update" "model-designs:create" "model-designs:get" "model-designs:list" "model-designs:update" "model-designs:publish" "model-designs:archive" "model-designs:delete" "evaluations:create" "inference-servers:create" "inference-servers:delete" "inference-servers:get" "inference-servers:list" "inference-servers:update" "leaderboards:list" "neocore:read" "neocore:write" "spaces:create" "spaces:delete" "spaces:get" "spaces:list" "spaces:get-members" "spaces:assign-cluster" "spaces:update" "trainings:create" "trainings:cancel" "trainings:delete" "trainings:get" "trainings:get-metrics" "trainings:get-logs" "trainings:list" "trainings:update" "users:list" "seats:create" "seats:delete" "seats:get" "seats:list" "seats:update" "admin:users:list" "admin:oidc:manage" "admin:audits:list" "admin:audits:get" "notifications:list" "notifications:update" "nodes:list" "nodes:create" "nodes:delete" "nodes:update" "nodes:move" "nodes:token:generate" "external-secrets:create" "external-secrets:delete" "external-secrets:get" "external-secrets:list" "external-secrets:resync" "*"
spaces
Array of strings

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ]
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

Add space to seat

Add a space to a specific seat

path Parameters
id
required
string

Seat ID

Request Body schema: application/json
required

Add space to seat request

space_id
required
string

Responses

Request samples

Content type
application/json
{
  • "space_id": "string"
}

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "created_by": "string",
  • "id": "string",
  • "name": "string",
  • "permissions": [
    ],
  • "spaces": [
    ],
  • "updated_at": "string",
  • "updated_by": "string"
}

spaces

Get all spaces

Retrieve all spaces

query Parameters
limit
integer
Default: 10

Limit

after
string
Default: "\"\""

After

name
string

Filter by space name

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create space

Create a new space

Request Body schema: application/json
required

Space creation request

description
required
string
name
required
string
seat_id
required
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string",
  • "seat_id": "string"
}

Response samples

Content type
application/json
{
  • "cluster_id": "string",
  • "created_at": "string",
  • "created_by": {
    },
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Delete space

Delete a space by ID

path Parameters
id
required
string

Space ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get space

Retrieve a space by ID

path Parameters
id
required
string

Space ID

Responses

Response samples

Content type
application/json
{
  • "cluster_id": "string",
  • "created_at": "string",
  • "created_by": {
    },
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Update space

Update a space by ID

path Parameters
id
required
string

Space ID

Request Body schema: application/json
required

Space update request

description
string
name
string

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "cluster_id": "string",
  • "created_at": "string",
  • "created_by": {
    },
  • "description": "string",
  • "id": "string",
  • "name": "string",
  • "updated_at": "string",
  • "updated_by": "string"
}

Get space members

List members of a space with cursor pagination and optional email substring filter

path Parameters
id
required
string

Space ID

query Parameters
limit
integer
Default: 10

Limit

after
string

Cursor — user ID of the last item from the previous page

email
string

Email substring filter (case-insensitive)

seatType
string

Seat type filter

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Restore space

Restore a deleted space by ID

path Parameters
id
required
string

Space ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

trainings

Get all trainings

Retrieve a list of training jobs with cursor pagination and optional filters

query Parameters
limit
integer
Default: 10

Page size

after
string

Cursor: last training ID from the previous page

kind
string

Filter by training kind

data_model_id
string

Filter by data model ID

status
string

Filter by job status

name
string

Filter by training name (case-insensitive substring)

start_date
string

Lower bound for created_at (RFC3339 or RFC3339Nano)

end_date
string

Upper bound for created_at (RFC3339 or RFC3339Nano)

Responses

Response samples

Content type
application/json
{
  • "count": 0,
  • "data": [
    ],
  • "has_more": true
}

Create training

Create a new training job

Request Body schema: application/json
required

Training creation request

object
architecture_id
required
string
base_checkpoint
string
data_model_id
required
string
description
string
model_input_id
string

Design-driven training: when set, the service resolves TrainingDatasets / TargetDatasets and TimeRanges from the referenced Model Design's snapshot, so the client doesn't have to duplicate that mapping.

model_output_id
string
name
required
string
recipe_preset
required
string
required
object (request.RequestedResources)
object

Schedule, when set with a start_at, defers the training: it is persisted as Scheduled and dispatched by the reconciler instead of immediately.

Array of objects (model.TargetDataset)
required
object (model.TimeRanges)
Array of objects (model.TrainingDataset)

Responses

Request samples

Content type
application/json
{
  • "advanced_fields": {
    },
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "requested_resources": {
    },
  • "schedule": {
    },
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ]
}

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Delete training

Delete a training job by ID

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "id": "string"
}

Get training

Retrieve a training job by ID

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Update training

Update a training job by ID

path Parameters
id
required
string

Training ID

Request Body schema: application/json
required

Training update request

architecture
string
benchmark_ids
Array of strings
configuration
object
object (request.UpdateConnectorTraining)
name
string

Responses

Request samples

Content type
application/json
{
  • "architecture": "string",
  • "benchmark_ids": [
    ],
  • "configuration": { },
  • "connector": {
    },
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Cancel training

Cancel a training job by ID (stops the job but preserves the training record)

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Get logs

Retrieve logs for a training job by ID

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "created_at": "string",
  • "id": "string",
  • "job_id": "string",
  • "text": "string"
}

Download logs as TXT

Download all logs for a training job as a plain text file

path Parameters
id
required
string

Training ID

Responses

Get metrics

Retrieve metrics for a training job by ID

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "benchmark": "string",
  • "checkpoint": "string",
  • "checkpoint_name": "string",
  • "created_at": "string",
  • "data_model": "string",
  • "dataset": "string",
  • "dataset_name": "string",
  • "epoch": 0,
  • "id": "string",
  • "name": "string",
  • "step": 0,
  • "target": "string",
  • "training": "string",
  • "training_name": "string",
  • "type": "BENCHMARK",
  • "values": {
    }
}

Pause training

Pause a running training: the neocore job is deleted but checkpoints persist, so the training can be resumed later

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Resume training

Resume a paused training from its last periodic checkpoint by re-creating the neocore job

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Update a scheduled training's start time

Replace the deferred start time of a Scheduled (not yet started) training

path Parameters
id
required
string

Training ID

Request Body schema: application/json
required

New schedule

required
object (model.TrainingSchedule)
start_at
string
timezone
string

Responses

Request samples

Content type
application/json
{
  • "schedule": {
    }
}

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}

Start a scheduled training now

Dispatch a Scheduled training immediately instead of waiting for its start time

path Parameters
id
required
string

Training ID

Responses

Response samples

Content type
application/json
{
  • "architecture": "string",
  • "architecture_id": "string",
  • "base_checkpoint": "string",
  • "config": "string",
  • "created_at": "string",
  • "data_model_id": "string",
  • "description": "string",
  • "gpu_count": 0,
  • "id": "string",
  • "kind": "PRETRAIN",
  • "model_input_id": "string",
  • "model_output_id": "string",
  • "name": "string",
  • "recipe_preset": "string",
  • "schedule": {
    },
  • "space": "string",
  • "status": "string",
  • "target_datasets": [
    ],
  • "time_ranges": {
    },
  • "training_datasets": [
    ],
  • "updated_at": "string"
}