Docs/REST API

REST API

The Shingo API gives you programmatic access to findings, connectors, and the causal model. Use it to build custom integrations, internal dashboards, or automated workflows.

The API is currently in early access. Book a demo to get API credentials.

Base URL

https://api.getshingo.com/v1

Authentication

All API requests require a Bearer token in the Authorization header:

# Include in every request

Authorization: Bearer shg_xxxxxxxxxxxxxxxxxxxxxxxx

Endpoints

GET/findings

List all findings, ordered by revenue impact. Supports pagination and filtering by severity, status, and date range.

GET/findings/:id

Get a single finding with full details: root cause, revenue impact, regression timeline, and suggested fix.

GET/connectors

List all configured connectors with their status (active, error, syncing).

POST/connectors

Add a new connector. Requires the connector type and API credentials.

DELETE/connectors/:id

Remove a connector and stop data ingestion from that source.

GET/model/status

Check the status of the causal model: last analysis run, sessions processed, and next scheduled run.

POST/model/analyze

Trigger an on-demand analysis run. Returns a job ID for tracking progress.

GET/model/graph

Export the causal graph as JSON. Includes nodes (events, behaviors, outcomes) and edges (causal links with confidence scores).

Example: List findings

# Get all critical findings from the last 7 days

curl -H "Authorization: Bearer shg_..." \

"https://api.getshingo.com/v1/findings?severity=critical&days=7"

Response format

All responses are JSON. Findings include the full execution package:

{
  "id": "shg_2847",
  "severity": "critical",
  "confidence": 0.94,
  "root_cause": "JS lib v2.4.0 broke mobile validation",
  "file": "checkout.tsx",
  "line": 142,
  "revenue_impact": {
    "annual": 1800000,
    "currency": "USD",
    "sessions_affected": 12847
  },
  "suggested_fix": "Revert to v2.3.1",
  "delivery": {
    "github_issue": "#2847",
    "slack_channel": "#eng-revenue"
  },
  "created_at": "2026-03-10T14:30:00Z"
}

Rate limits

API requests are rate-limited to 100 requests per minute per API key. Rate limit headers are included in every response:

X-RateLimit-Limit: 100

X-RateLimit-Remaining: 98

X-RateLimit-Reset: 1711800000