Changelog

Changelog

What's new in the Sprouts Data Platform — API, SDKs, MCP server, and dashboard.

Release notes for the Sprouts Data Platform are published here: new endpoints, SDK releases, and any change that affects what your integration can do.

Within v1, changes are additive, so most entries here are news rather than work for you. If something has to be removed or changed incompatibly, it is announced here at least 90 days before, and the old behaviour keeps working until then. See Versioning.

1.0.0 — Release candidate#

The first versioned API contract. No release date yet.

Changed

  • Error type URLs moved. Every error's type is now https://dashboard.sproutsdata.ai/errors/<slug> on every deployment, and the link opens that code's entry in the error codes. Branch on code, as before; the code values are unchanged.
  • The published OpenAPI document lists only the routes an API key can call. Dashboard-only routes are no longer in it. Its info.version is 1.0.0.
  • Cancelling an agent run needs dsp.agents.write. POST /v1/agents/runs/{run_id}/cancel used to accept dsp.agents.read.
  • POST /v1/similar publishes category as company only. Anything else was already refused with a 422; the schema now says so.
  • updated_after is no longer documented. It could not be served yet, so it has been taken out of the docs and the published schema.

Added

  • The spec declares what it used to leave implicit. Every billed route declares the optional Idempotency-Key header, and every operation lists the scopes it accepts in x-scopes. Each reference page now shows those scopes in its header.
  • Agent runs are fully typed. The spec now carries the effort and category enums, the server-sent events stream at GET /v1/agents/runs/{run_id}/events, and the full error set for each route. See Agent runs.
  • A run read after its credit hold lapsed reports credits_charged: 0. If nobody reads a finished run within 35 minutes of starting it, the hold lapses and the run is never charged. Its first read used to report the tier price anyway; it now reports the 0 that was charged.
  • Semantic person queries say they weren't ranked by meaning. People have no embeddings yet, so a person search that describes the people in words now carries a degradation[] entry with reason mode_downgraded and impact precision. See Search.
  • New years_worked person filter. Whole years worked across every job held, as a range (gte / lte). See Filter values.
  • Newly documented routes. Saved lists, feedback votes on Feedback, and members resolve on Credits, top-ups and members.

Removed

These were removed before this release candidate:

  • The prior_company filter. Use employment_history, which describes each past job as its own group (company, title and dates), so two past jobs in one query no longer blur into one. See the filters guide.
  • The from_my_company relation on POST /v1/relationships. Use between_companies and put your own company first: the first company's people are what comes back. See Relationships.