Public API

The CI/CD Watch REST API lets you access your pipeline data programmatically. Build custom dashboards, integrate with internal tools, or automate reporting.

Authentication

API requests are authenticated with API keys. Create one from Settings > API Keys.

Creating a key
Give the key a name (e.g. “MCP Server” or “Dashboard Script”), choose a scope (read or read-write), and optionally set an expiry date. The full key is shown once at creation — copy it immediately.
Using the key
Pass the key in the Authorization header:
curl -H "Authorization: Bearer cw_your_key_here" \
  https://api.cicd.watch/v1/runs

Keys are scoped to your organisation. All data returned is limited to repositories your team has connected.

Rate Limiting

API key requests are rate-limited to 60 requests per minute per key. When the limit is exceeded, the API returns 429 Too Many Requests with a Retry-After header indicating when you can retry.

Response Format

All responses are JSON. Successful responses wrap data in a data envelope. Error responses use an error envelope with code and message fields.

// Success
{ "data": [ ... ] }

// Error
{ "error": { "code": "UNAUTHORIZED", "message": "Invalid API key" } }

Endpoints

All endpoints are under api.cicd.watch/v1. For the full schema including request parameters and response types, see the interactive API reference.

MethodEndpointDescription
GET/runsList pipeline runs with optional filters
GET/runs/:idGet a single run with job details
GET/connectionsList CI/CD provider connections
GET/reposList tracked repositories
GET/metrics/doraDORA metrics for a given period
GET/metrics/costsCost breakdown and waste analysis
GET/metrics/performancePipeline performance analysis

Common Parameters

Most endpoints accept query parameters for filtering:

periodDays
Number of days to look back (1–365). Used by metrics and run listing endpoints.
provider, org, repo
Filter metrics by provider, organisation, or repository.