RunMat
  • Pricing
RunMat
GitHub
GitHub
DownloadSign InTry in Browser
DesktopRuntimeServer
RunMat

Run math blazing fast

GitHubX (Twitter)LinkedIn

Company

  • About
  • Pricing
  • Contact
  • License
  • Privacy

Learn

  • Docs
  • Blog
  • Benchmarks
  • RunMat vs MATLAB Online

Get product updates and release notes from the RunMat team.

© 2026 Dystr · Made withfor the scientific community.

RunMat™ is a registered trademark of Dystr, Inc. MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.

/
    • API Reference
Docs>Server>API

API reference

RunMat Server exposes versioned HTTP APIs for identity context, organizations, projects, files and versions, event streams, packages, usage, and remote execution. The deployment's generated OpenAPI document is authoritative for exact paths and schemas.

Send credentials through the documented authorization header over HTTPS. Resource operations are organization- and project-scoped. Use request or idempotency identifiers for retried mutations where the endpoint supports them, and retain the returned trace identifier when reporting a failure.

Clients must handle structured errors, pagination, rate limits, conditional or version-aware writes, and reconnectable event streams. Machine-readable codes form the stable error contract; human-readable text supports diagnosis. Large objects use the upload-session and commit flow returned by Server.

API compatibility follows the versioned public contract. Internal crate and database changes remain implementation details. Generate clients from the OpenAPI artifact associated with your deployed Server version.

Request conventions

The generated OpenAPI document defines paths, methods, schemas, operation IDs, and security. Send Authorization: Bearer <token-or-api-key>. Preserve or record the response request/trace ID. Use JSON for ordinary control requests and streaming bodies or signed URLs for large content.

List endpoints use explicit pagination. Clients retain the returned cursor and treat display order as presentation state. Conditional or version-aware writes include the current etag or version where required. Mutations that advertise idempotency accept one stable key for the logical attempt, reused across network retries.

Resource groups

  • Auth: login resolution, current identity/preferences, API keys, SSO, and SCIM where enabled.
  • Organizations/projects: memberships, project lifecycle, roles, and policy context.
  • Filesystem/data: metadata, ranged reads, writes, upload sessions, versions, snapshots, storage summaries, and dataset manifests.
  • Events: cursor-based Server-Sent Events for project and organization signals.
  • Packages: namespace, publication, version, and resolution operations.
  • Execution: optional remote targets, run submission/status/cancel, worker coordination, logs, and artifacts.
  • Usage/admin: plan-dependent usage, billing, and restricted administrative operations.

Error contract

Errors return a stable code and human message, with validation details and request/trace identity when available. Use the HTTP status and stable code in client logic. Messages can change.

{
  "error": {
    "code": "project_write_conflict",
    "message": "The file changed since the supplied version.",
    "details": { "path": "/analysis.m" },
    "requestId": "req_…"
  }
}

Typical mappings are 400 malformed input, 401 invalid authentication, 403 denied policy, 404 absent scoped resource, 409 version/idempotency conflict, 413 body too large, 422 semantic validation, 429 rate limit, and 5xx server/dependency failure. SSE delivers stream errors as documented event payloads before close when possible.

Client implementation

Generate types from the matching deployment OpenAPI artifact and wrap transport concerns centrally: base URL, bearer credentials, retries, idempotency, pagination, request IDs, and structured errors. Retry connection failures, 429, and selected 5xx responses only when the method and idempotency contract allow it. An ambiguous timeout on an unkeyed mutation requires reconciliation before another attempt.

On this page
  • Request conventions
  • Resource groups
  • Error contract
  • Client implementation