Push snapshots via API — developer portal

Developer API

Build with Inlytic

Your app keeps its database. Query your own data, POST a snapshot, and get recommendations you can show in your product — the same run appears in the Inlytic portal.

Open the developer portal

What the API does

  • Push a JSON snapshot or CSV — Inlytic never connects to your live database.
  • Receive ranked actions and insights you can render immediately.
  • Every call is saved to history so your team can review it in the portal.

Authentication

Create a live key in the developer portal. Send it on every request. Keys are shown once at creation.

Header

Authorization: Bearer inl_live_…

Alias: X-Api-Key: inl_live_…

Base URL: https://api.inlytic.xyz

Quickstart

From API key to a recommendation in one request. Copy a snippet, replace the key, and run it against a small snapshot.

curl -X POST https://api.inlytic.xyz/api/v1/analyze \
  -H "Authorization: Bearer inl_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "dataset_name": "orders_today",
    "rows": [
      {"product": "Widget A", "units": 40, "revenue": 1200},
      {"product": "Widget B", "units": 8, "revenue": 160}
    ]
  }'
POST/api/v1/analyze

Analyze a snapshot

Send rows as JSON, or upload a CSV file as file. Inlytic cleans the data, generates insights, and stores the run.

Body

dataset_namestring

Label shown in history and the portal.

rowsobject[]

Array of records. Required unless you upload a file.

include_mlboolean

Run ML on top of the standard pipeline. Pro/Team only.

project_idstring

Optional project to attach this run to.

Response

{
  "analysis_id": "a1b2c3d4-...",
  "status": "ready",
  "dataset_name": "orders_today",
  "created_at": "2026-08-13T15:02:11.000Z",
  "summary": { "rows": 2, "columns": 3, "processing_time": 1.24 },
  "insights": [
    "Widget A accounts for most revenue in this snapshot."
  ],
  "recommendations": [
    {
      "priority": "high",
      "action": "Restock Widget A before the next cycle",
      "reason": "Units and revenue are concentrated on one SKU.",
      "category": "inventory"
    }
  ]
}
GET/api/v1/analyses

List recent analyses

Returns the latest 50 runs for the authenticated account.

curl https://api.inlytic.xyz/api/v1/analyses \
  -H "Authorization: Bearer inl_live_YOUR_KEY"
GET/api/v1/analyses/:id

Get one analysis

Fetch the stored insights and recommendations for a previous snapshot.

curl https://api.inlytic.xyz/api/v1/analyses/ANALYSIS_ID \
  -H "Authorization: Bearer inl_live_YOUR_KEY"
GET/api/v1/usage

Check quota

Returns the current plan, feature flags, monthly API call count, and row limits.

curl https://api.inlytic.xyz/api/v1/usage \
  -H "Authorization: Bearer inl_live_YOUR_KEY"

Errors

Failures return JSON. Quota and plan errors include an upgrade flag.

StatusWhen
401Missing or invalid API key
403Plan does not include API access, or quota exceeded
400No rows / file, or payload over the row limit
404Analysis or project not found
{
  "error": "API access is not included on your plan.",
  "upgrade_required": true
}

Limits

API access is on Pro and Team. Call volume and max rows per snapshot follow the active plan. Check GET /api/v1/usage before a large push.

View plans