Docs menu

Summarix developer docs

Everything you need to integrate Summarix into your product, your data pipeline or your phone system.

Base URL #

https://api.summarix.co.za

All endpoints are versioned under /v1, use JSON, and require HTTPS. API access is included on the Starter, Professional and Business plans. Import every endpoint into Postman in one step with the Postman collection. There is also an OpenAPI 3.1 spec for Insomnia or code generators.

Quickstart #

  1. In Dashboard → API keys, create a key and choose its scopes. You get a secret key (smx_sk_live_…, shown once) and a public key (smx_pk_live_…).
  2. Check the key works:
    export SUMMARIX_SECRET_KEY=smx_sk_live_…
    
    curl https://api.summarix.co.za/v1/whoami -H "Authorization: Bearer $SUMMARIX_SECRET_KEY"
  3. Send some data:
    curl https://api.summarix.co.za/v1/datasets \
      -H "Authorization: Bearer $SUMMARIX_SECRET_KEY" \
      -H "Content-Type: application/json" \
      -d '{"name":"Sales","rows":[{"month":"2026-07","region":"Gauteng","revenue":410000},
                                 {"month":"2026-08","region":"Gauteng","revenue":452000}]}'
  4. Generate an AI report and collect the result:
    curl https://api.summarix.co.za/v1/reports -H "Authorization: Bearer $SUMMARIX_SECRET_KEY" \
      -H "Content-Type: application/json" -d '{"datasetId":"DATASET_ID"}'
    # → 202 {"data":{"id":"REPORT_ID","status":"QUEUED"}}
    
    curl https://api.summarix.co.za/v1/reports/REPORT_ID -H "Authorization: Bearer $SUMMARIX_SECRET_KEY"
    # poll until status is COMPLETED — or subscribe to the report.completed webhook

Node.js and Python #

node (18+)
const res = await fetch("https://api.summarix.co.za/v1/reports", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.SUMMARIX_SECRET_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ datasetId: "DATASET_ID", prompt: "Focus on margin by region" }),
});
const { data } = await res.json(); // { id, status: "QUEUED" }
python (requests)
import os, requests

r = requests.post("https://api.summarix.co.za/v1/reports",
    headers={"Authorization": f"Bearer {os.environ['SUMMARIX_SECRET_KEY']}"},
    json={"datasetId": "DATASET_ID"})
r.raise_for_status()
print(r.json()["data"])

Core concepts #

ConceptWhat it is
WorkspaceA team account. Every key, dataset, report and call belongs to one workspace.
DatasetTabular data from an upload, database query, app integration, push or the API. It's profiled on arrival, and a representative sample is kept for analysis.
ReportAn AI analysis of a dataset: KPIs and charts computed from the data, plus a narrative. Numbers are never made up by the AI.
CallA recorded phone call: transcript, summary, sentiment, outcome, action items and coaching.
IntegrationA connection to a third-party app that pulls data in or pushes results out.
Building a partner integration or listing Summarix in your marketplace? Email [email protected] for a sandbox workspace.