Product updates

Follow along with the latest Steep releases and improvements, or grab our RSS feed to stay in the loop.

July 23, 2026

API & MCP improvements

The Steep API and MCP keep expanding. Reports join the programmatic surface, metrics get more precise endpoints and filters, and server-to-server integrations get a dedicated way to authenticate - all still governed by your semantic model.

Reports in the API and MCP: Create, list, and read reports programmatically - the same capabilities that power Reports in Steep AI.

Individual metric endpoint: Fetch a single metric with GET /metrics/:id, also available as a tool in the MCP.

Filter what you fetch: Filter the metrics list by an array of identifiers across list endpoints, and use the new parameters on /targets to get just the target series you need.

Explore the API reference →

Steep in the ChatGPT app store

Steep is now available directly in the ChatGPT app store - connect your workspace and query your governed metrics without leaving ChatGPT.

Steep in ChatGPT app store →

New authentication options

OAuth clients

Confidential OAuth clients: A new way to authorize server-to-server integrations. Create a client with an ID and secret to connect trusted backend services to the Steep API or MCP server - no user in the loop. This also enables the Steep MCP server to be used with Gemini Enterprise.

Multiple API keys: Create several API keys per workspace, each with its own permissions - one key per integration, scoped to exactly what it needs.

Improvements & fixes
  • MCP Reduced MCP token footprint for metrics and targets, so agents spend their context on analysis instead of payloads
  • API The API now accepts standard Authorization: Bearer headers alongside API keys
  • API API rate limits are now per workspace, tiered by plan
  • API Improved and more specific API error messages
  • API Requests with deleted API keys return a proper 401
  • API Derived ratios are no longer exposed as malformed custom-ratio
  • Athena Multi-schema support
  • Athena Date filters cast properly instead of failing with type errors
  • dbt When using dbt as the semantic layer, to-date comparisons now work correctly