---
title: "OpenAI Agents API: Migration, Costs and Data Checks"
canonical: https://wavect.io/blog/openai-agents-api-managed-harness-review/
language: en
description: "Evaluate OpenAI Agents API vs Agents SDK: launch benchmarks, managed Codex harness costs, EU data checks and a controlled migration plan."
image: "https://wavect.io/img/blog/headers/header_openai-agents-api-managed-harness-review.png"
---

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

11 min read · 13 Sep 2026 Last reviewed September 13, 2026

[**Next**](/blog/agent-harness-engineering/)

# OpenAI Agents API Review: Migration, Costs and Data Controls

TL;DR

OpenAI Agents API provides a managed Codex harness, not a replacement for your business permissions or acceptance tests. Ciridae, SafetyKit and Hypha report different workflow improvements, not one universal benchmark. Compare the managed API with an application-operated Agents SDK or a custom Responses API loop. Evaluate model, tool, execution and review costs per accepted task. Confirm endpoint-specific residency, retention and environment controls before production; this review could not independently retrieve the new endpoint overview and does not assert US-only or Zero Data Retention restrictions as verified facts. Start with synthetic data, a reversible workflow, explicit acceptance tests and a reconciled fallback.

**The OpenAI Agents API makes the Codex agent loop a managed service. It does not make your product's permissions, acceptance tests or data obligations disappear.** That is the useful buying question: which infrastructure can you stop maintaining without giving up controls your customers require?

OpenAI announced the public beta on 10 September 2026. Its [launch announcement](https://openai.com/index/introducing-the-agents-api/) describes automatic compaction, tool search, programmatic tool calling and parallel subagents, with a choice of hosted or external execution environments. This review examines that product decision, not the general definition of an [AI agent harness](/blog/agent-harness-engineering/).

## What the launch numbers actually establish

The headline numbers come from different customers in OpenAI's announcement. They are useful reasons to test the API, not a combined benchmark or a promise for your workload.

| Customer | Reported result | What to avoid inferring |
| --- | --- | --- |
| Ciridae | Evaluation score 0.71 to 0.85; fourfold latency improvement | A universal accuracy score or fourfold acceleration of every task |
| SafetyKit | 60% lower cost per case, maintaining existing performance | A 60% discount on all agent infrastructure |
| Hypha | 86% fewer failed agent responses | 86 percentage points of improvement or a published absolute failure rate |

These testimonials do not supply a shared task set, sample size or independent reproduction. Ciridae's change is 0.14 absolute score points; without its grading rubric, translating that into customer accuracy would be misleading. The right next step is a paired experiment on work you already know how to accept.

## Agents API vs Agents SDK vs Responses API

The names sound interchangeable. The operational responsibility is not. OpenAI's [SDK comparison](https://developers.openai.com/api/docs/guides/agents) distinguishes using a framework to run your loop from implementing that loop yourself. The managed Agents API adds a third hosting choice.

| Path | Who operates the loop? | Good reason to choose it |
| --- | --- | --- |
| Responses API | Your application implements the orchestration around model requests | A narrow workflow where custom branching and direct control are valuable |
| Agents SDK | The SDK runs the loop in your application deployment | Code-level control over state, tools, approvals and infrastructure |
| Managed Agents API | OpenAI operates the Codex harness; you select the execution environment | Reducing maintenance of general-purpose, long-running agent infrastructure |

For custom functions, the [documented Responses tool-calling flow](https://developers.openai.com/api/docs/guides/function-calling) still puts execution in your application: receive a proposed call, execute code, return its result. Do not assume changing the API client automatically migrates those functions, authentication or approval flows. Inventory what your existing harness actually does before deciding what to remove.

This is also distinct from [Ramp Inspect's per-session sandbox architecture](/blog/ramp-inspect-background-coding-agent-infrastructure-2026/). A sandbox supplies a place to execute. A managed harness also supplies orchestration. Buying one does not prove you have replaced the other.

## The three deployment checks that matter more than the demo

**Separate where the harness runs, where tools execute and where state persists.** A sandbox inside your network does not move OpenAI's managed harness into that network. Tool arguments and results may still cross that boundary. OpenAI's [data-control documentation](https://developers.openai.com/api/docs/guides/your-data) distinguishes application state, abuse-monitoring retention and endpoint-specific eligibility. A control approved for one endpoint is not evidence for another.

| Check | Evidence your team should obtain | Reason to pause |
| --- | --- | --- |
| Residency and processing | Region support for the exact endpoint, model, session state, tools and environment | A required EU-only data path is not confirmed |
| Retention and deletion | Agents API eligibility for your retention arrangement; lifecycle of sessions, files, traces and backups | You require Zero Data Retention but cannot establish feature-level eligibility |
| Isolation and cleanup | Credentials, mounts, network access, subagent sharing, cancellation and sandbox teardown | You cannot prove tenant separation or stop and reconcile an interrupted job |

**Review limitation, 13 September 2026:** the launch announcement and general data guide were retrievable, but the newly linked Agents API overview was not retrievable in this review. We therefore do not present claims of US-only availability, no Zero Data Retention, or a particular session-retention period as verified endpoint facts. Recheck the current overview and obtain written confirmation for your deployment before moving sensitive data.

That is not a finding that all European or regulated work is prohibited. It is a reason to withhold production approval when a required control is unverified. A synthetic-data pilot can answer engineering questions without answering procurement questions prematurely. Our [EU AI data-residency guide](/blog/eu-data-residency-ai-apps-2026/) covers the wider architecture decision.

## Zero platform fee is not zero cost per accepted task

The launch says there is no additional Agents API fee. Budget separately for model usage, tools and execution, using the [current pricing documentation](https://developers.openai.com/api/docs/pricing) for the services you enable. Do not import a partner's sandbox price or a model subscription allowance into an API budget.

```
Cost per accepted task =
  (model + tools + compute + retries + review + operations)
  / independently accepted tasks
```

Illustrative arithmetic, not an OpenAI price quote: suppose 100 attempts cost €30 in machine usage and €70 in review. If 80 are accepted, the cost is €1.25 per accepted task. Cutting machine spend to €12 but raising review to €100 with only 70 accepted tasks produces €1.60. A cheaper call can make the workflow more expensive.

Subagents make this especially important. Cap concurrency in the pilot, measure total usage across the run and distinguish elapsed time from compute consumption. Parallel work can reduce waiting while increasing the amount of work purchased. Compaction also needs a quality test: a shorter context must still preserve the facts needed for your acceptance criteria.

## A minimal Agents API example, without production access

This JavaScript example adapts the session-creation shape in OpenAI's launch post. It uses fictional input, attaches no business connectors and opts into paid execution explicitly. It is a starting point, not a complete service: the installer for this article does not run it or install an agent in your business systems.

```
import OpenAI from "openai";

// Opt in explicitly: this example can incur API and compute charges.
if (process.env.RUN_PAID_AGENTS_DEMO !== "yes") {
  throw new Error("Set RUN_PAID_AGENTS_DEMO=yes to enable this demo.");
}
if (!process.env.OPENAI_API_KEY) {
  throw new Error("OPENAI_API_KEY is required on the server.");
}

const client = new OpenAI({ maxRetries: 0 });
if (!client.beta?.agents?.sessions?.create) {
  throw new Error("Install an OpenAI SDK version supporting Agents API beta.");
}

try {
  const session = await client.beta.agents.sessions.create({
    agent: {
      model: process.env.OPENAI_AGENT_MODEL || "gpt-6-astra",
      multi_agent: { enabled: true, max_concurrent_subagents: 2 },
    },
    environment: { type: "openai_hosted" },
    input:
      "Use only these fictional facts: Service A had 4 errors in 100 requests; " +
      "Service B had 9 errors in 300 requests. Compare the error rates, " +
      "have a second agent check the arithmetic, and save a short report " +
      "under /workspace/outputs. Do not contact external services.",
  });
  console.log(JSON.stringify({ session_id: session.id }));
} catch (error) {
  // Do not dump prompts, credentials or the complete server response.
  console.error("Session creation failed. Reconcile its status before retrying.");
  process.exitCode = 1;
}
```

Use an SDK version that exposes the beta resource, lock it after validation, and run this only on a server with an approved project and model. Printing a session ID is not proof that the report was completed. Implement observation of the documented session lifecycle, cancellation, artifact retrieval and cleanup separately. Automatic create retries are disabled here to avoid blindly starting duplicate work after an uncertain network outcome. The instruction not to contact external services is not a substitute for enforced egress policy.

## A migration plan that keeps business controls intact

Start with one adapter boundary: a task enters, a session reference and eventual artifact leave. Keep your application task ID, authorization decision, tool permissions, approval record and acceptance result outside the model's instructions. OpenAI's [MCP security guidance](https://developers.openai.com/api/docs/guides/tools-connectors-mcp) highlights external-server trust, prompt injection and approval for sensitive actions. Those principles still matter with a managed loop; use the approval contract supported by your chosen API rather than copying another endpoint's fields.

| Stage | Change | Acceptance evidence |
| --- | --- | --- |
| Baseline | Freeze representative tasks and the current implementation | Accepted outcomes, review time, latency distribution and full cost |
| Shadow | Run the managed path against synthetic or approved read-only data | No unintended writes; comparable artifacts with source references |
| Limited rollout | Enable one reversible workflow with bounded authority | Tenant isolation, retry reconciliation and human approval tests pass |
| Expansion | Increase volume only after repeated acceptance | Stable quality and cost, plus a tested return to the previous path |

Test two experiments separately. Holding the model and tools fixed helps isolate the orchestration change. Comparing the best viable old and new stacks answers the commercial question, but cannot attribute the whole improvement to the harness. OpenAI's [evaluation guidance](https://developers.openai.com/api/docs/guides/evaluation-best-practices) recommends task-specific tests and continuous evaluation; add your own failure cases rather than relying on a persuasive demo.

Our proposed acceptance set includes a tool timeout after a write may have succeeded, duplicated input, expired credentials, conflicting subagent outputs, an instruction hidden in a retrieved document, loss of a client connection and a fact that must survive compaction. A fallback must reconcile the original task before starting again. Otherwise your recovery path may duplicate the very action it was meant to rescue.

## Seven bounded agent pilots worth considering

These are proposed starting points, not claims that Wavect or OpenAI has validated all seven in production. Each has a reviewable artifact and a way to start without autonomous business writes.

| Pilot | Output | Initial boundary |
| --- | --- | --- |
| Incident evidence assembly | Timeline with log references | Read-only, sanitized telemetry; no deployment changes |
| Repository change assessment | Impact report and suggested tests | Approved code snapshot; no merge credentials |
| Support investigation | Cited draft response | Scoped records; a person sends the answer |
| Document reconciliation | Differences and unresolved contradictions | Approved documents; no authoritative record updates |
| Supplier evidence review | Missing-evidence checklist | No compliance certification or purchasing decision |
| Release readiness | Checklist grounded in test results | No release or deployment authority |
| Public-source research | Brief with attributable sources | No confidential prompts or automatic external publishing |

## When to migrate, and when to keep your harness

Shortlist the managed API when maintaining long-running orchestration consumes engineering time and the data, tooling and commercial requirements can be met. Keep the existing path when it is already simple and reliable, when critical behavior is unsupported, or when required deployment controls remain unverified. An attractive launch does not justify rewriting a stable transactional workflow.

OpenAI's [production guidance](https://developers.openai.com/api/docs/guides/production-best-practices) covers operational capacity, cost management and security. For this migration, assign a named owner to version changes, regression evaluation, usage reconciliation and incident response. Maintain a configuration inventory and an exit path for task state and accepted artifacts; do not make a provider-specific session identifier your only business record.

Wavect's [AI consulting and implementation](/services/artificial-intelligence/) can scope the data path, tool contracts and acceptance tests for one migration. The [Twinsoft AI case study](/case-studies/twinsoft-ai/) is adjacent delivery context, not an Agents API benchmark. Use our [custom software versus off-the-shelf guide](/software-development-guide/custom-software-vs-off-the-shelf/) for the ownership decision, or [discuss a bounded Agents API migration review](/contact/) with your workflow, current costs and required controls.

## Frequently asked questions

### Does the Agents API replace the Agents SDK?

They allocate responsibility differently. The managed API operates the harness for you. The SDK runs the loop in your own application. Choose by control, data requirements and evaluated maintenance cost, not naming.

### Are the 4x, 60% and 86% results one benchmark?

No. Ciridae reported evaluation and latency changes, SafetyKit cost per case, and Hypha failed-response reductions. They are separate customer testimonials and do not guarantee your result.

### Is the OpenAI Agents API free?

The launch states no additional Agents API fee. Model usage, tools and execution can still cost money, and review, recovery and operations belong in the business budget.

### Does a self-hosted sandbox keep all data local?

Not automatically. Tool execution may be in your infrastructure while the managed harness remains with OpenAI. Map prompts, outputs, session state, logs and tool traffic separately.

### Is it approved for every EU or regulated workload?

No blanket approval or blanket prohibition follows from the announcement. This review could not independently verify the new endpoint-specific eligibility page. Confirm required residency, retention and contractual controls before approving sensitive production use.

### What is the safest first migration?

Start with synthetic or approved read-only data, one reversible task, independent acceptance checks and capped concurrency. Test interruption and reconciliation before allowing consequential writes.

Agent engineering

## Continue through this cluster

Coding agents, MCP, context systems, evaluation and the controls required for dependable automation.

[Start with the cornerstone**Graph Engineering for AI Agents: When Does a Knowledge Graph Pay Off?**](/blog/graph-engineering-ai-agents/)

- [Valyu’s 0.6B Multi-Agent Router: Results, Limits and When to Train One](/blog/valyu-slm-multi-agent-router/)
- [Spotify shunt Review: Setup, Savings and Limits](/blog/spotify-shunt-claude-code-token-routing/)
- [OpenBot Review: Self-Hosted AI Coworkers, Costs & Controls](/blog/openbot-self-hosted-ai-coworkers-review/)
- [Ramp Inspect Architecture 2026: Background Coding Agents at Scale](/blog/ramp-inspect-background-coding-agent-infrastructure-2026/)
- [Model Hardware Standard: Enterprise Guide to Physical AI](/blog/model-hardware-standard-enterprise-guide/)

[**Back**](/blog/overview/)

[![Kevin Riedl](/img/team/kevin.webp)](/team/kevin-riedl/)

[Kevin Riedl](/team/kevin-riedl/) https://linkedin.com/in/wsdt

11 min read · 13 Sep 2026 Last reviewed September 13, 2026

[**Next**](/blog/agent-harness-engineering/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/blog/openai-agents-api-managed-harness-review/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-09-13",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "lastReviewed": "2026-09-13",
      "url": "https://wavect.io/blog/openai-agents-api-managed-harness-review/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BlogPosting",
  "abstract": "OpenAI Agents API provides a managed Codex harness, not a replacement for your business permissions or acceptance tests. Ciridae, SafetyKit and Hypha report different workflow improvements, not one universal benchmark. Compare the managed API with an application-operated Agents SDK or a custom Responses API loop. Evaluate model, tool, execution and review costs per accepted task. Confirm endpoint-specific residency, retention and environment controls before production; this review could not independently retrieve the new endpoint overview and does not assert US-only or Zero Data Retention restrictions as verified facts. Start with synthetic data, a reversible workflow, explicit acceptance tests and a reconciled fallback.",
  "articleBody": " Blog overview/AI and agents/Agent engineering OpenAI Agents API Review: Migration, Costs and Data Controls TL;DR OpenAI Agents API provides a managed Codex harness, not a replacement for your business permissions or acceptance tests. Ciridae, SafetyKit and Hypha report different workflow improvements, not one universal benchmark. Compare the managed API with an application-operated Agents SDK or a custom Responses API loop. Evaluate model, tool, execution and review costs per accepted task. Confirm endpoint-specific residency, retention and environment controls before production; this review could not independently retrieve the new endpoint overview and does not assert US-only or Zero Data Retention restrictions as verified facts. Start with synthetic data, a reversible workflow, explicit acceptance tests and a reconciled fallback. The OpenAI Agents API makes the Codex agent loop a managed service. It does not make your product's permissions, acceptance tests or data obligations disappear. That is the useful buying question: which infrastructure can you stop maintaining without giving up controls your customers require? OpenAI announced the public beta on 10 September 2026. Its launch announcement describes automatic compaction, tool search, programmatic tool calling and parallel subagents, with a choice of hosted or external execution environments. This review examines that product decision, not the general definition of an AI agent harness. What the launch numbers actually establish The headline numbers come from different customers in OpenAI's announcement. They are useful reasons to test the API, not a combined benchmark or a promise for your workload. CustomerReported resultWhat to avoid inferring CiridaeEvaluation score 0.71 to 0.85; fourfold latency improvementA universal accuracy score or fourfold acceleration of every task SafetyKit60% lower cost per case, maintaining existing performanceA 60% discount on all agent infrastructure Hypha86% fewer failed agent responses86 percentage points of improvement or a published absolute failure rate These testimonials do not supply a shared task set, sample size or independent reproduction. Ciridae's change is 0.14 absolute score points; without its grading rubric, translating that into customer accuracy would be misleading. The right next step is a paired experiment on work you already know how to accept. Agents API vs Agents SDK vs Responses API The names sound interchangeable. The operational responsibility is not. OpenAI's SDK comparison distinguishes using a framework to run your loop from implementing that loop yourself. The managed Agents API adds a third hosting choice. PathWho operates the loop?Good reason to choose it Responses APIYour application implements the orchestration around model requestsA narrow workflow where custom branching and direct control are valuable Agents SDKThe SDK runs the loop in your application deploymentCode-level control over state, tools, approvals and infrastructure Managed Agents APIOpenAI operates the Codex harness; you select the execution environmentReducing maintenance of general-purpose, long-running agent infrastructure For custom functions, the documented Responses tool-calling flow still puts execution in your application: receive a proposed call, execute code, return its result. Do not assume changing the API client automatically migrates those functions, authentication or approval flows. Inventory what your existing harness actually does before deciding what to remove. This is also distinct from Ramp Inspect's per-session sandbox architecture. A sandbox supplies a place to execute. A managed harness also supplies orchestration. Buying one does not prove you have replaced the other. The three deployment checks that matter more than the demo Separate where the harness runs, where tools execute and where state persists. A sandbox inside your network does not move OpenAI's managed harness into that network. Tool arguments and results may still cross that boundary. OpenAI's data-control documentation distinguishes application state, abuse-monitoring retention and endpoint-specific eligibility. A control approved for one endpoint is not evidence for another. CheckEvidence your team should obtainReason to pause Residency and processingRegion support for the exact endpoint, model, session state, tools and environmentA required EU-only data path is not confirmed Retention and deletionAgents API eligibility for your retention arrangement; lifecycle of sessions, files, traces and backupsYou require Zero Data Retention but cannot establish feature-level eligibility Isolation and cleanupCredentials, mounts, network access, subagent sharing, cancellation and sandbox teardownYou cannot prove tenant separation or stop and reconcile an interrupted job Review limitation, 13 September 2026: the launch announcement and general data guide were retrievable, but the newly linked Agents API overview was not retrievable in this",
  "articleSection": "Engineering",
  "author": {
    "@id": "https://wavect.io/team/kevin-riedl/#person",
    "@type": "Person",
    "name": "Kevin Riedl",
    "sameAs": [
      "https://www.wikidata.org/wiki/Q139796365",
      "https://www.linkedin.com/in/wsdt",
      "https://github.com/wsdt"
    ],
    "url": "https://wavect.io/team/kevin-riedl/"
  },
  "citation": [
    {
      "@type": "WebPage",
      "name": "launch announcement",
      "url": "https://openai.com/index/introducing-the-agents-api/"
    },
    {
      "@type": "WebPage",
      "name": "SDK comparison",
      "url": "https://developers.openai.com/api/docs/guides/agents"
    },
    {
      "@type": "WebPage",
      "name": "documented Responses tool-calling flow",
      "url": "https://developers.openai.com/api/docs/guides/function-calling"
    },
    {
      "@type": "WebPage",
      "name": "data-control documentation",
      "url": "https://developers.openai.com/api/docs/guides/your-data"
    },
    {
      "@type": "WebPage",
      "name": "current pricing documentation",
      "url": "https://developers.openai.com/api/docs/pricing"
    },
    {
      "@type": "WebPage",
      "name": "MCP security guidance",
      "url": "https://developers.openai.com/api/docs/guides/tools-connectors-mcp"
    },
    {
      "@type": "WebPage",
      "name": "evaluation guidance",
      "url": "https://developers.openai.com/api/docs/guides/evaluation-best-practices"
    },
    {
      "@type": "WebPage",
      "name": "production guidance",
      "url": "https://developers.openai.com/api/docs/guides/production-best-practices"
    }
  ],
  "dateModified": "2026-09-13",
  "datePublished": "2026-09-13",
  "description": "OpenAI Agents API provides a managed Codex harness, not a replacement for your business permissions or acceptance tests. Ciridae, SafetyKit and Hypha report different workflow improvements, not one universal benchmark. Compare the managed API with an application-operated Agents SDK or a custom Responses API loop. Evaluate model, tool, execution and review costs per accepted task. Confirm endpoint-specific residency, retention and environment controls before production; this review could not independently retrieve the new endpoint overview and does not assert US-only or Zero Data Retention restrictions as verified facts. Start with synthetic data, a reversible workflow, explicit acceptance tests and a reconciled fallback.",
  "headline": "OpenAI Agents API Review: Migration, Costs and Data Controls",
  "image": "https://wavect.io/img/blog/headers/header_openai-agents-api-managed-harness-review.png",
  "inLanguage": "en",
  "keywords": "AI agents, OpenAI Agents API",
  "mainEntityOfPage": {
    "@id": "https://wavect.io/blog/openai-agents-api-managed-harness-review/",
    "@type": "WebPage"
  },
  "publisher": {
    "@id": "https://wavect.io/#organization",
    "@type": [
      "Organization",
      "ProfessionalService",
      "LocalBusiness"
    ]
  },
  "url": "https://wavect.io/blog/openai-agents-api-managed-harness-review/",
  "wordCount": 2289
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "BreadcrumbList",
  "itemListElement": [
    {
      "@type": "ListItem",
      "item": "https://wavect.io/",
      "name": "Home",
      "position": 1
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/overview/",
      "name": "Blog overview",
      "position": 2
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/topics/ai-agents/",
      "name": "AI and agents",
      "position": 3
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/clusters/agent-engineering/",
      "name": "Agent engineering",
      "position": 4
    },
    {
      "@type": "ListItem",
      "item": "https://wavect.io/blog/openai-agents-api-managed-harness-review/",
      "name": "OpenAI Agents API: Migration, Costs and Data Checks",
      "position": 5
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "They allocate responsibility differently. The managed API operates the harness for you. The SDK runs the loop in your own application. Choose by control, data requirements and evaluated maintenance cost, not naming."
      },
      "name": "Does the Agents API replace the Agents SDK?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No. Ciridae reported evaluation and latency changes, SafetyKit cost per case, and Hypha failed-response reductions. They are separate customer testimonials and do not guarantee your result."
      },
      "name": "Are the 4x, 60% and 86% results one benchmark?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The launch states no additional Agents API fee. Model usage, tools and execution can still cost money, and review, recovery and operations belong in the business budget."
      },
      "name": "Is the OpenAI Agents API free?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Not automatically. Tool execution may be in your infrastructure while the managed harness remains with OpenAI. Map prompts, outputs, session state, logs and tool traffic separately."
      },
      "name": "Does a self-hosted sandbox keep all data local?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "No blanket approval or blanket prohibition follows from the announcement. This review could not independently verify the new endpoint-specific eligibility page. Confirm required residency, retention and contractual controls before approving sensitive production use."
      },
      "name": "Is it approved for every EU or regulated workload?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Start with synthetic or approved read-only data, one reversible task, independent acceptance checks and capped concurrency. Test interruption and reconciliation before allowing consequential writes."
      },
      "name": "What is the safest first migration?"
    }
  ]
}
```
