Data retention

What is stored, for how long, how to delete it, and zero data retention.

Data retention

Chat Completions and Anthropic Messages requests are never stored: their request and response bodies pass through to the model and are gone once the reply is sent. The Responses API stores responses the way OpenAI does, so that its stateful features work:

  • What is stored: for each response created with store: true (the default), its input items, its output items, the settings the response echoes (such as instructions, tools and metadata) and its token usage. A background response also keeps its stream events, so its stream can be resumed. A conversation keeps the items you add to it and the input and output of the responses created in it.
  • How long: a stored response is deleted 30 days after it was created. A conversation is kept until you delete it.
  • Deleting: DELETE /v1/responses/{id}, DELETE /v1/conversations/{id} and DELETE /v1/conversations/{id}/items/{item_id} delete at once. A request with store: false stores nothing.
  • Zero data retention: turn it on in the dashboard under Settings (account owners and admins). From then on nothing is stored for the account, and everything already stored is deleted. store reads back as false, and previous_response_id, conversation, background, item_reference, the Conversations API and the Batch API (which keeps its files for 30 days) answer 400 with code: zero_data_retention.

Stored data is never used for training and never sold. Every model is served with no retention of request or response content where it runs. We also keep 30 days of request metadata (model, token counts, latency, status) for billing and support.

More of the API reference

  • API reference: base URLs, authentication and a first request.
  • Chat Completions: POST /v1/chat/completions: the OpenAI Chat Completions format, streamed or not, with reasoning and tools.
  • Responses: POST /v1/responses: the OpenAI Responses format with stored state, background runs and enforced tool rules.
  • Conversations: Keep the turns of a Responses conversation on our side and continue it by id.
  • Prompts: Save instructions, messages and settings once, then use them by id in the Responses API.
  • Anthropic Messages: POST /anthropic/v1/messages: the Anthropic Messages format, for Claude Code and Anthropic SDKs.
  • Models and pricing: Model ids, prices per 1M tokens, context windows, output limits, versions and the live catalog endpoint.
  • Batch: Upload a JSONL file of chat completions, create a batch and collect the results when it finishes.
  • Errors: The error shape, every status code and code, and which ones to retry.
  • Rate limits: Requests and tokens per minute, how a 429 tells you when to retry, and how to get more.
  • Interactive reference: try every endpoint in the browser.
  • OpenAPI document: the whole API as OpenAPI 3.1.

This page as Markdown: /docs/data-retention.md