Ingest API reference

Exact HTTP ingest and discovery request shapes, content types, status behavior, and response fields.

Last verified 2026-08-02

Submit records

POSThttps://ingest.reportplane.com/ingest

JSON body:

FieldTypeRequiredDescription
schemastringYesData-model key
dataarray of objectsYesOne or more records for that model
{
  "schema": "api_request",
  "data": [
    {
      "occurred_at": "2026-08-02T12:00:00Z",
      "route": "/v1/orders",
      "status_code": 200,
      "duration_ms": 41
    }
  ]
}

Accepted response data:

FieldTypeDescription
ingest_idstringCorrelation ID when produced
statusstringAcceptance state
acceptedintegerNumber of accepted records

The HTTP status is 202 for acceptance.

Browser requests

POST /ingest supports direct browser submission from any origin. The runtime answers CORS preflight with Access-Control-Allow-Origin: * and permits the Authorization and Content-Type request headers. Send Runtime API Keys as Authorization: ApiKey rp_ak_...; runtime JWTs use Authorization: Bearer .... Browser cookies are not part of runtime authentication.

An API key deliberately embedded in browser code is visible to every visitor. Create a dedicated ingest-only Runtime API Key, restrict it to the required models, and rely on the normal schema, quota and usage controls. Do not reuse a server credential or a key with query access.

NDJSON

Set Content-Type to application/x-ndjson or application/ndjson. Lines may wrap records in data or provide a direct object. All lines must resolve to one schema. The scanner supports lines up to the configured 10 MB buffer ceiling.

Discovery

POSThttps://ingest.reportplane.com/discover

The discovery body is either one object or an array of objects. The request is limited to 10 MB and requires an active waiting discovery session for the authenticated ingest client.

WebSocket

The configured WebSocket path accepts text messages using the JSON ingest envelope. Successful messages return type: ack; failed messages return type: error. The discovery socket uses /ws/discover when enabled.

Authentication context

The runtime can use the authorization header, source IP, mTLS URI/certificate, user agent, and transport. Exact requirements come from the resolved client/key policy.

Generated contract

Generate OpenAPI for one ingest client and its allowed models from the client detail page in the console. OpenAPI generation is not part of Management API v1.

Was this page helpful?Send feedback