Skip to main content

API changelog

The Spectral API uses a two-tier version scheme: a major (v1, v2, …) for breaking resets, and dated revisions within a major for additive, migratable changes. Pin a specific revision with the Spectral-Version header; this page records what changed at each dated revision.

v1

2026-08-04: target reshape, closed enums, ElevenLabs targets

Pin Spectral-Version: 2026-08-04 or later to get these shapes; earlier pins keep working against the 2026-06-15 shapes below.

Added

  • ElevenLabs conversational-agent targets (type: "elevenlabs_agent"). Create and manage them like any other target.

Changed

  • API targets: the api and responses_api target types merge into a single type: "api", distinguished by a new protocol field (completions or responses). A request with the old responses_api type, or one missing protocol, is rejected.
  • Target type is now a closed set of values instead of any string.
  • These fields are now closed enums instead of free-form strings (existing values are unchanged except where noted): classification type, knowledge-base entry type, job resource type, and connection-test status (the cancellation value is now spelled canceled, not cancelled).
  • Job status gains canceled. This value is not reachable yet (job cancellation isn't supported), added ahead of that support so the shape is already in place.
  • Build-step status (on knowledge-base creation, task generation, persona generation, principle generation, and evaluation steps) uses the same status vocabulary as the rest of the API: queued, running, succeeded, failed, canceled. Steps are now cancel-aware: the step in-flight when an evaluation is canceled reports canceled too, instead of the older vocabulary's ambiguous states.
  • Evaluations: the list feed (including the create/cancel/rerun job envelopes) and the get-by-id read are now separate shapes. The list feed returns current_step only; the by-id read returns steps only.

Removed

  • GET /reports/{rid}/pdf. Use POST /reports/{rid}/pdf, which lets you select report sections.
  • The from_evaluation and from_executions report-create request variants. Requests using either are migrated automatically to the equivalent based_on shape ({"kind": "evaluation" | "execution", "ids": [...]}), with one behavior change: based_on only resolves succeeded executions, where the legacy variants included executions of any status. A request naming non-succeeded or unknown executions/evaluations may now 422 with "based_on sources resolved to no succeeded executions" instead of returning a report built from in-progress data (or, for an unknown evaluation, the old 404); that 422 doesn't distinguish "no such evaluation" from "not finished yet." Migrate to based_on directly to avoid relying on this automatic translation.

2026-06-15: initial version

First public release of the Spectral API. See the API reference.