API Overview
Optra Prism exposes two backend services with REST APIs.
Services
Section titled “Services”| Service | Purpose |
|---|---|
| Ingest | Receives OTLP telemetry (logs, metrics, traces) |
| Prism Engine | Queries telemetry, scoring, intelligence, insights |
Base URLs
Section titled “Base URLs”| Service | Base URL |
|---|---|
| Ingest | https://ingest.prism.optra-ai.com |
| Engine | Internal (private) |
The engine is not publicly exposed in deployed environments — the dashboard reaches it over internal networking, and a small subset of engine endpoints (/v1/telemetry/logs, /v1/insights/report, /v1/insights/report/generate) are proxied out through the ingest service for plugin / external callers.
Authentication
Section titled “Authentication”See Authentication for details on API key usage.
Response format
Section titled “Response format”All endpoints return JSON, but the response shape varies per endpoint — there is no uniform envelope. For example, /v1/intelligence/worst-prompts returns { "prompts": [...], "total": N }, while /prism/promptiq/score returns a PromptIqResult object directly. See the individual endpoint pages for concrete shapes.
Errors use a consistent shape in both services:
{ "code": 401, "message": "Invalid API key"}HTTP status codes
Section titled “HTTP status codes”Common (both services):
| Code | Meaning |
|---|---|
| 200 | Success |
| 400 | Bad request (validation error) |
| 401 | Unauthorized (missing or invalid API key) |
| 500 | Internal server error |
Ingest-only:
| Code | Meaning |
|---|---|
| 413 | Payload too large (OTLP body exceeds limit) |
| 503 | Service unavailable — NATS backpressure; response includes Retry-After: 5 |