Developers

Consume the contract, not the source mess.

Every serving interface exposes the same approved, spec-ordered dataset. Use paginated REST records, download complete CSV or JSON exports, or connect an agent through MCP.

Authentication

Bearer API keys

Create a live key in the dashboard and send it in the Authorization header. Keys can cover the organization or be restricted to a single dataset, and can be revoked at any time.

Authorization: Bearer cvg_live_...
Request
curl -H "Authorization: Bearer cvg_live_..." \
  "https://api.example.com/api/v1/datasets/DATASET_ID/records?limit=100"

HTTP API

Stable interfaces for approved data.

GET/api/v1/datasets/{dataset_id}/records

Read spec-ordered records with cursor or offset pagination.

GET/api/v1/datasets/{dataset_id}/records.csv

Stream the complete approved dataset as CSV with no row cap.

GET/api/v1/datasets/{dataset_id}/records.json

Stream the complete approved dataset as one JSON document.

GET/api/v1/external/datasets/{dataset_id}/rows

Compatibility path returning the same page as the records API.

Records response

Schema and records travel together.

Each page includes the approved fields, specification version, and a snapshot token alongside ordered record payloads. Use the cursor for stable key-based pagination, or offset for simpler consumers.

application/json
{
  "success": true,
  "data": {
    "dataset_id": "...",
    "name": "Weekly sales",
    "spec_version": 3,
    "snapshot": "3:1482:...",
    "fields": [
      { "name": "date", "type": "date", "required": true },
      { "name": "revenue", "type": "decimal", "required": true }
    ],
    "records": [
      { "date": "2026-09-24", "revenue": 1842.50 }
    ],
    "total": 1482,
    "limit": 100,
    "offset": 0,
    "next_cursor": "..."
  }
}

Full exports

Download every approved record.

CSV and JSON exports stream internally in 500-row pages with no total row cap. Responses include the specification version and snapshot token in headers.

curl -L -H "Authorization: Bearer cvg_live_..." \
  "https://api.example.com/api/v1/datasets/DATASET_ID/records.csv" \
  --output weekly-sales.csv

Approval gate

Unapproved datasets return 404 and are never exposed.

Pagination

Choose 1–500 records and follow next_cursor until it is null.

Rate limit

120 requests per 60 seconds for each tenant and dataset.

MCP

Agents can inspect schema, query rows, and review ingest runs.

Integrate once

Start with the shape your downstream system already expects.

Define the target contract first, normalize representative company data into it, and test the exact REST, export, or agent interface your team will use.

Run a data pilot