Docs navigation

Docs / Connectors

API ingestion

For pipelines and scripts: push aggregate and segment results straight into an experiment with an API key. Same canonical evidence model and source lineage as every other method.

1. Create an API key

  1. 1

    Open the API keys page

    Go to app.converise.io/w/<workspace>/api-keys (admin or owner role required) and create a key with a descriptive name.

  2. 2

    Copy the key immediately

    The plaintext key (umk_…) is shown once — it is stored hashed and cannot be recovered later. Rotate by creating a new key and revoking the old one.

Keys can read, create experiments, and upload evidence — they cannot record decisions or manage the workspace.

2. Push evidence

Authenticate with Authorization: Bearer umk_… and POST to the experiment's evidence endpoint:

shell
curl -X POST "https://app.converise.io/api/workspaces/<workspaceId>/experiments/<experimentId>/evidence" \
  -H "Authorization: Bearer umk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "sourceReference": "nightly-pipeline",
    "idempotencyKey": "run-2026-08-14",
    "aggregateResults": [
      { "variantKey": "control",   "kpiName": "checkout_conversion", "numerator": 480, "denominator": 10000 },
      { "variantKey": "variant_a", "kpiName": "checkout_conversion", "numerator": 560, "denominator": 10000 }
    ],
    "segmentResults": []
  }'
  • Row fields are camelCase: variantKey, kpiName, numerator, denominator, value, sampleSize, stdDev, segmentDimension, segmentValue — same rules as the CSV format.
  • Limits per request: 10,000 aggregate rows and 50,000 segment rows; at least one row.
  • Idempotent by design: resending the same payload (same idempotencyKey, or the same content when the key is omitted) returns 200 with the existing import batch instead of creating a duplicate — safe to retry from pipelines.
  • A successful import returns 201 with the created import batch; validation problems return a structured error listing the exact rows and fields.