Skip to main content
The Tiro API gives you programmatic access to notes, transcripts, summaries, and folders.

Base URL

All API requests should be made to:
https://api.tiro.ooo

Workspaces

Every Tiro API request runs inside a single workspace. Your API key is scoped to one workspace and reaches only that workspace’s resources — its notes, transcripts, summaries, and folders. A key never crosses into another workspace. Call GET /v1/external/workspaces to list the workspaces your account can reach; each entry carries a guid, a name, and isWikiEnabled. Call GET /v1/external/workspaces/me to resolve the workspace your current key maps to. Workspace-scoped resources expose a workspaceGuid. Folder endpoints take it in the path — POST /v1/external/workspaces/{workspaceGuid}/folders creates a folder inside a specific workspace. If your integration spans several workspaces, create one key per workspace.

Rate Limits

To ensure fair usage and system stability, the Tiro API allows up to 600 requests per 60 seconds per API key. When you exceed it, the response includes Retry-After and X-RateLimit-* headers telling you when to retry.

Rate Limit Exceeded

When rate limits are exceeded, you receive a 429 Too Many Requests response:
{
  "error": {
    "code": 429001,
    "message": "Rate limit exceeded. Try again in 60 seconds",
    "detail": "Limit of 600 requests per 60 seconds exceeded"
  }
}

Response Format

All API responses follow a consistent JSON format:

Success Response (List)

{
  "content": [...],
  "nextCursor": "opaque-cursor-string"
}

Success Response (Single Resource)

{
  "id": "resource-id",
  "createdAt": "2024-01-01T00:00:00Z",
  ...
}

Error Response

Errors include detailed information for debugging:
{
  "error": {
    "code": 400000,
    "message": "Human readable error message",
    "detail": null
  }
}