System Atlas

Overview

Base URL, request and response format, and how the API maps to the MCP tools.

Base URL

https://systematlas.org/api/v1

Requests

  • Authenticate with Authorization: Bearer sa_…. Public endpoints work without it. See Authentication.
  • Send bodies as JSON with content-type: application/json. Unknown fields are ignored.
  • Slugs in paths are the workspace slug and the company slug; the client company is always client.

Responses

Success wraps the result in data; failure wraps a code and message in error, with the matching HTTP status.

Success
{
  "data": [
    {
      "slug": "acme-builders",
      "name": "Acme Builders",
      "status": "active",
      "companies": 5
    }
  ]
}
Error
{
  "error": {
    "code": "UNAUTHORIZED",
    "message": "A valid API key is required."
  }
}

Endpoints

Every REST endpoint has an MCP tool that does the same thing. The full reference, with parameters and examples, is generated from the router.

Upload from a checkout

To post JSON or NDJSON files in batches from a checkout of the System Atlas repo, use the upload script. It calls the upload endpoints for you.

SYSTEMATLAS_URL=https://systematlas.org SYSTEMATLAS_API_KEY=sa_… \
  pnpm atlas:upload ./atlas --workspace <slug>