Skip to main content
The Terminus Hub Public API is a RESTful HTTP API that gives you programmatic access to your Terminus Hub data. All requests and responses use JSON, every endpoint is versioned under /api/v1/, and the API is designed to be predictable: consistent resource structures, a unified error envelope, and standard pagination across every list endpoint.

Base URL

All API requests go to https://hub.terminus.app, and every endpoint is versioned under /api/v1/.
https://hub.terminus.app
If your team is on a dedicated Terminus Hub deployment, use its host in place of hub.terminus.app.

Authentication

Every request to the Public API must include a valid API key in the Authorization header using the Bearer scheme:
Authorization: Bearer thub_xxxxx
API keys are prefixed with thub_ so they are easy to identify. See the Authentication page for full details on creating keys, using them in code, and handling auth errors.
Never embed your API key in client-side code or commit it to a public repository. Treat it like a password.

Request Format

All requests must include the Content-Type: application/json header when sending a request body (e.g., POST requests). Responses are always returned as JSON.
Content-Type: application/json

Rate Limiting

Each API key may make up to 100 requests per minute. When you exceed the limit, the API returns 429 with a rate_limit_error and a Retry-After header telling you how long to wait. Implement exponential back-off to handle these gracefully. See Pagination & Errors for the headers and full error schema.

Example Request

The following example fetches the list of Workspaces your API key has access to. It is a good first request to verify that your key is working correctly.
curl https://hub.terminus.app/api/v1/workspaces \
  -H "Authorization: Bearer thub_xxxxx" \
  -H "Content-Type: application/json"
A successful response returns a paginated envelope with a list of workspace objects:
{
  "items": [
    {
      "id": "3f9a7c21-5b8e-4d6a-9c2f-1e7b4a8d6c30",
      "name": "My Workspace",
      "description": "Primary workspace for the data team."
    }
  ],
  "has_more": false,
  "total_count": 1
}

Available Resources

The Public API exposes four resource groups. Use the cards below to navigate to each section.

Workspaces

List and retrieve Workspaces, the top-level containers that group your submissions and records.

Governance Models

Browse the Governance Models available in your hub, including their names and descriptions.

Submissions

Create new Submissions and list existing ones filtered by Workspace and Taxonomy.

Records

Query individual Records within a Workspace, including their status and attached data payload.