AI Catchup

Gemini Interactions API Breaking Changes: Steps Schema, `response_format`, and the June 8, 2026 Legacy Sunset

By 4 min read

Google's May 2026 breaking changes to the Gemini Interactions API replaced the `outputs` array with a `steps` timeline and `response_mime_type` with a polymorphic `response_format`. The new schema became the REST default on May 26, and Google's timeline removed the legacy schema on June 8, 2026. The API has been Generally Available since June.

Google shipped breaking changes to the Gemini v1beta Interactions API in May and June 2026: the response moved from a loosely structured outputs array to a steps timeline, output-format controls were consolidated into a polymorphic response_format, and streaming event types were renamed. For REST users the new schema became the default on May 26, 2026, and Google's timeline removed the legacy schema on June 8, 2026 (Google migration guide). Google's Interactions API page now says the API has been Generally Available since June 2026 (Gemini API docs).

Key Takeaways

  • outputs became steps. The response uses a steps array representing a structured timeline of each interaction.
  • response_mime_type was removed. Output formatting lives in a polymorphic response_format object (or array).
  • Streaming event names changed. New SSE event types (e.g. interaction.created, step.delta) replaced the deprecated ones.
  • Both deadlines have passed. The REST default flipped on May 26, 2026, and the June 8, 2026 sunset removed the legacy schema and broke 1.x SDKs for Interactions API calls.
  • The API is now GA. Google says the Interactions API has been Generally Available since June 2026, and its SDK page lists Python and JavaScript 2.3.0 or later.

What Changed

1) Steps schema (outputs replaced by steps)

The guide describes a steps array that acts as a timeline of interaction steps, replacing the older outputs array.

  • POST /interactions returns only output steps.
  • GET /interactions/{id} returns the full step timeline including the initial user_input step.

Google's current Interactions page describes each Interaction as "a chronological sequence of execution steps" covering model thoughts, tool calls and results, and the final model output (Gemini API docs).

2) Output format configuration (response_format)

Instead of a single response_mime_type, the new approach uses response_format entries with a type discriminator (for example text, audio, or image) and format-specific configuration:

  • response_mime_type is removed.
  • MIME types are specified inside each response_format entry.
  • Image generation moves image_config out of generation_config and into the response_format entry for type: "image".

Google's structured output guide for the Interactions API now passes JSON schemas this way, as a response_format with type: "text" and a mime_type of application/json (Gemini API structured output docs).

3) Streaming event types

Google listed new streaming event types and mapped deprecated names to their replacements.

DeprecatedReplacement
interaction.startinteraction.created
content.startstep.start
content.deltastep.delta
content.stopstep.stop
interaction.completeinteraction.completed
errorinteraction.error

The weekly AI Catchup

Get the week's AI coding news, distilled.

One email each week: the tools, releases, and workflows that matter for Claude Code, Codex, Cursor, and the agent stack.

Timeline (Per Google's Guide)

DatePhaseREST API usersPython/JS SDK users
May 7, 2026Opt-inApi-Revision: 2026-05-20 opted inPython ≥2.0.0 / JS ≥2.0.0 returned the new schema automatically
May 26, 2026Default flipNew schema became the default; Api-Revision: 2026-05-07 opted out temporarilyOlder 1.x SDKs kept returning legacy responses until June 8
June 8, 2026SunsetLegacy schema removed; Api-Revision ignoredPython 1.x / JS 1.x SDKs break for Interactions API calls

Google's guide also noted that features shipped after May 7 appear only in steps responses, so code on the legacy shape stopped receiving new capabilities before the sunset.

If Your Code Still Uses the Old Shape

  • Read response content from steps instead of outputs.
  • Use response_format rather than response_mime_type.
  • If you stream, update your SSE event handlers to the new event names.
  • Upgrade the Python or JavaScript SDK: Google's Interactions page lists version 2.3.0 or later for access to the Interactions API.

Corrections and Updates

  • October 9, 2026: This page described the May 26 default flip and the June 8 legacy removal as upcoming; both dates have passed, and Google's docs now say the Interactions API has been Generally Available since June 2026, with Python and JavaScript SDK 2.3.0 or later.

Sources

Related coverage

Frequently Asked Questions

What was the biggest Interactions API breaking change?

Google replaced the `outputs` array with a `steps` array that records each interaction as a structured timeline, and moved output formatting into a polymorphic `response_format`, removing `response_mime_type`. Streaming event names changed at the same time, for example `content.delta` became `step.delta`.

When did legacy Interactions API responses stop working?

Google's migration guide set June 8, 2026 as the sunset: the legacy schema was removed for the Interactions API, the `Api-Revision` header is ignored, and Python 1.x and JavaScript 1.x SDKs break for Interactions API calls. The new schema had been the REST default since May 26.

What should I do if my code still reads `outputs`?

Read response content from the `steps` array, move format settings into `response_format`, and update streaming handlers to the new event names. Google's Interactions docs now say the Python and JavaScript SDKs need version 2.3.0 or later to access the Interactions API.

Is the Interactions API still in beta?

No. Google's Interactions API page says that as of June 2026 it is Generally Available and recommended for all new projects, while the original generateContent API is now considered legacy but remains fully supported. REST examples still call the `v1beta/interactions` endpoint.

Get the weekly AI Catchup

Tools, practices, and what matters, in your inbox every week.