REST API reference
The REST API is generated from the Tiden gRPC API through grpc-gateway. Public automation should use API tokens and the endpoints listed as public.
Base URL
https://app.tiden.ai
Authentication header
Authorization: Bearer <token>
Public API endpoints
These endpoints are intended for API tokens, CLI, MCP, CI, and customer automation.
Auth, workspace, and product
| Method | Path | Purpose |
|---|---|---|
GET | /v1/auth/me | Current user for the token |
PUT | /v1/auth/onboarding | Update onboarding state |
GET | /v1/workspaces | List workspaces |
POST | /v1/workspaces/{workspace_id}/products | Create product |
GET | /v1/workspaces/{workspace_id}/products | List products |
POST | /v1/products/{product_id}/setup:verify | Verify product setup state |
Requirements
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/requirements | Create requirement |
GET | /v1/products/{product_id}/requirements | List requirements |
GET | /v1/requirements/{id} | Get requirement |
PUT | /v1/requirements/{id} | Update requirement |
DELETE | /v1/requirements/{id} | Delete requirement |
Tests
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/tests | Create suite or case |
PUT | /v1/tests/{id} | Update test |
GET | /v1/products/{product_id}/tests | List tests |
GET | /v1/tests/{id} | Get test |
DELETE | /v1/tests/{id} | Delete test |
POST | /v1/tests/{test_id}/links | Link test to requirement or propose branch link |
DELETE | /v1/tests/{test_id}/links/{requirement_id} | Unlink test and requirement |
GET | /v1/tests/{test_id}/links | List test links |
GET | /v1/branches/{branch_id}/link-proposals | List branch link proposals |
POST | /v1/branches/{branch_id}/link-proposals:review | Review branch link proposals |
POST | /v1/products/{product_id}/tests:ingest | Ingest reporter draft |
Branches and components
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/branches | Create branch |
GET | /v1/products/{product_id}/branches | List branches |
GET | /v1/branches/{id} | Get branch |
DELETE | /v1/branches/{id} | Delete branch |
GET | /v1/branches/{id}/merge-preview | Preview merge |
POST | /v1/branches/{id}/merge | Merge branch |
POST | /v1/products/{product_id}/components | Create component |
GET | /v1/products/{product_id}/components | List components |
Environments and releases
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/environments | Create environment |
GET | /v1/products/{product_id}/environments | List environments |
GET | /v1/environments/{id} | Get environment |
DELETE | /v1/environments/{id} | Delete environment |
POST | /v1/products/{product_id}/releases | Create or update release |
GET | /v1/products/{product_id}/releases | List releases |
GET | /v1/releases/{id} | Get release |
Quality gates
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/quality-gate:compute | Compute verdict |
GET | /v1/products/{product_id}/quality-gate | Get latest verdict |
GET | /v1/products/{product_id}/quality-gate/traceability | Get traceability matrix |
POST | /v1/products/{product_id}/quality-gate:accept-risk | Accept risk |
POST | /v1/products/{product_id}/quality-gate:approve-risk | Approve risk |
Agents
| Method | Path | Purpose |
|---|---|---|
GET | /v1/agent-types | List agent types |
GET | /v1/products/{product_id}/agent-configs | List agent configs |
GET | /v1/agent-configs/{id} | Get agent config |
POST | /v1/products/{product_id}/agent-configs | Create agent config |
DELETE | /v1/agent-configs/{id} | Delete agent config |
POST | /v1/agent-configs/{agent_config_id}/runs | Start agent run |
POST | /v1/agent-runs/{id}:cancel | Cancel agent run |
GET | /v1/agent-runs/{id} | Get agent run |
GET | /v1/agent-configs/{agent_config_id}/runs | List runs |
GET | /v1/agent-runs/{run_id}/events | List run events |
GET | /v1/agent-runs/{run_id}/events:stream | Stream run events |
Agent retrieval and intent
| Method | Path | Purpose |
|---|---|---|
GET | /v1/products/{product_id}/coverage-gaps | Get coverage gaps |
GET | /v1/products/{product_id}/requirements/{requirement_id}/test-context | Get test generation context |
POST | /v1/products/{product_id}/test-generation-context:prepare | Prepare test generation context |
POST | /v1/products/{product_id}/intent:distill | Distill intent into branch |
Source map upload
| Method | Path | Purpose |
|---|---|---|
POST | /v1/products/{product_id}/sourcemaps | Create source map upload |
POST | /v1/sourcemaps/{id}:confirm | Confirm source map upload |
Web-only endpoint groups
These are primarily for the Tiden web app and browser sessions:
- Signup, login, refresh, logout, profile, password, avatar, MFA, and passkeys.
- API token create/list/revoke.
- Organization members, invites, roles, statuses, workspace scopes, and invite links.
- Workspace create/update/delete, members, invites, and invite links.
- Product get/update/delete and product setup read.
- Component get/update/delete.
- Environment update.
- Requirement/test move, history, and restore.
- Attachment upload/download.
- Credential create/list/delete/test.
- Billing overview, checkout, portal, and pricing.
- Issue DSN key management, issue lists/details/events/status, release issues, source map list/delete.
- Quality gate overview history and mark-seen.
- Agent config update, memory, triggers, and artifacts.
Error tracking ingest endpoint
SDK event ingest is not a proto REST endpoint. It is a separate DSN-authenticated HTTP surface:
POST /api/{product_id}/envelope/?tiden_key=<publicKey>
POST /api/{product_id}/store/?tiden_key=<publicKey>
Use Custom ingest only when an official SDK is not available.