﻿# The Agents API moved the harness into the service boundary

The Agents API beta moved orchestration into a managed service; applications still own task identity, access, artifact handling and acceptance.

Author: Retrivium editorial team
Language: en
Analysis published: 2026-11-03
Event date: 2026-09-10
Original announcement: https://openai.com/index/introducing-the-agents-api/
Canonical URL: https://retrivium.ai/retrospectives/agents-api-managed-harness-shift/

Moving an agent harness into an API changes which failures an application must implement and which it must observe through a service boundary. The Agents API beta made that shift explicit. It did not turn the surrounding product into a stateless wrapper around an intelligent endpoint.

## The harness had visible predecessors

[Codex's May 16, 2025 introduction](https://openai.com/index/introducing-codex/) described cloud software tasks. The [February 11, 2026 execution primitives](https://developers.openai.com/blog/skills-shell-tips) connected reusable procedures, execution and compaction. The [September 10, 2026 Agents API announcement](https://openai.com/index/introducing-the-agents-api/) then offered a managed Codex harness in public beta. The product sequence moved more orchestration into the provider's service rather than inventing the need for orchestration.

## Ownership changes more than the call shape

Consider an application that previously assembled context, invoked tools and decided when another turn was necessary. A managed harness can take over parts of that loop. The application still chooses the task, supplies appropriate access and decides whether the resulting work meets its own requirements.

A simpler initial call therefore does not imply a smaller operational contract. An application must still identify the session, locate its artifacts and interpret progress or failure. These responsibilities become integrations with a service rather than disappearing entirely.

## Observe the service at meaningful boundaries

A model response is not the same object as a managed work session. A session may contain intermediate actions and outputs before reaching an outcome. Treating every progress event as a final answer can expose incomplete artifacts or incorrectly mark work as accepted.

Preserve the relationships among the user task, service session and final deliverable. If the application retries after losing a connection, it needs to distinguish continuing existing work from initiating another independent task. The correct policy depends on the documented operation, not on an assumption that every API call is interchangeable.

## A migration fixture for ownership

Use an illustrative document-analysis job that creates an intermediate table before a final report. Interrupt the client connection after the table exists. Inspect which service state remains discoverable and what the application shows when it reconnects.

The useful test asks whether the user sees one coherent job with recoverable evidence. Duplicate reports, an orphaned table and an unexplained completed status are separate defects. This fixture examines the new ownership boundary without requiring the application to reconstruct the managed harness internally.

## The beta's practical meaning

The release made a managed execution option available for developers. It did not establish universal recovery guarantees, eliminate environment choices or define application acceptance.

A defensible adoption record names the orchestration responsibilities transferred to the service and the task responsibilities retained by the application. That distinction explains the architectural change more accurately than describing the launch as a single call that does everything.

## Related reading

- [Identifying related work across services](/journal/provider-request-id-trace-context/)
- [Migrating an execution contract](/journal/provider-api-contract-deprecation-migration/)
