Rightshold™ Sign up

Answers · AI evidence

A customer disputes what our AI app told them weeks ago. Can we get the original response back from OpenAI, Anthropic or Google?

Last updated

TL;DR: Usually not, and never for long. The model providers keep copies of API traffic for their own reasons and on their own clocks, not as a records service for you. OpenAI keeps abuse-monitoring logs for up to 30 days by default, and the Responses API stores a response for at least 30 days so you can fetch it by its id, but only if it was stored (the default unless store is false or your organization has Zero Data Retention). Chat Completions keeps nothing you can fetch unless the request set store to true. Anthropic deletes API inputs and outputs within 30 days by default and has no endpoint to fetch an ordinary past message; Message Batches results can be downloaded for 29 days after the batch was created. Google's Gemini API keeps project logs for up to 55 days where logging is on (now the default for new paid projects since October 26, 2026), and the owner can shorten that to 7, 14 or 28 days. So by the time most disputes arrive, the provider's copy is gone or was never kept. The record that settles it is the one you saved when the answer went out: the exact request, the raw response, the provider's ids and a hash of each, ideally with a signed, timestamped receipt someone outside your company can check.

What should I check, step by step?

1. If the dispute is fresh, act today: note the response id and the provider's request id from your logs and check whether the provider still holds a copy (OpenAI Responses within 30 days if stored; Anthropic batch results within 29 days of batch creation; Gemini project logs within your retention window).

  1. Retrieve what you can and save it with the date you retrieved it. A copy fetched from the provider's API is still a copy you made; keep the raw JSON, not a screenshot.
  2. Don't count on abuse-monitoring logs. OpenAI and Google describe them as logs for enforcing their own usage policies, and neither describes a way for you to retrieve them, and OpenAI and Anthropic both say they may keep data longer only where the law or their safety work requires it.
  3. Check your own settings before you rely on any of this: Zero Data Retention (OpenAI), store set to false, a shortened Gemini log window or Gemini logging turned off all mean the provider kept nothing you can retrieve.
  4. Going forward, log every model call on your side: the exact request (system prompt, retrieved context, tool results), the raw response, the model value the provider returned, settings, the response id and the provider's request id.
  5. Hash each saved request and response (SHA-256) when the answer is sent, and keep the originals for as long as complaints or claims can arrive, which is usually years, not weeks.
  6. Get the hash recorded outside your own systems at send time, so a customer or a court doesn't have to take your word that the log wasn't edited after the complaint.
  7. If the dispute could become a legal claim, preserve everything as it is and talk to a lawyer before changing prompts, models or logs. Not legal advice.

How long do OpenAI, Anthropic and Google keep API prompts and responses?

OpenAI: abuse-monitoring logs for up to 30 days by default on Chat Completions and Responses. The Responses API also stores the response as application state by default, or when store is true, for at least 30 days, so you can fetch it by its response id in that window. Zero Data Retention forces store to false. Conversations and Assistants objects stay until you delete them, so if your app uses them, check there first.

Why can't I rely on the AI provider's copy of a response in a dispute?

Timing: customer complaints, chargebacks, regulator questions and lawsuits often arrive months after the answer. The default windows above run roughly 30 to 55 days.

What should I keep myself to prove what an AI model answered?

Per answer: the exact request, the raw response, the model value returned, settings, the response id and the provider's request id, plus the version of the prompt template and any documents retrieved.

How do I ask Rightshold about this (free, no key)?

Add the MCP server https://www.rightshold.com/mcp to Claude, Cursor, ChatGPT, Grok or VS Code, then ask: “Record a signed receipt for this model answer as it goes out: the model, hashes of the saved request and raw response, the provider's response and request ids, and when it ran.”

One-click setup

{
  "tool": "record_ai_run",
  "arguments": {
    "model": "<model value from the response>",
    "provider": "anthropic",
    "prompt_sha256": "<sha256 of the saved request JSON>",
    "output_sha256": "<sha256 of the saved response JSON>",
    "params": {
      "response_id": "msg_<id from the response>",
      "request_id": "req_<from the request-id header>",
      "template_commit": "<git commit of the prompt template>"
    },
    "ran_at": "2026-11-09T22:00:00Z"
  }
}

Rightshold doesn't connect to OpenAI, Anthropic, Google or your logs, and it can't retrieve anything a provider has deleted. It signs and timestamps the hashes you send and lets anyone check text against them later. Provider retention terms change; check the linked pages for your account and contract. Not legal advice.

What are the sources?

Related

Not legal advice. JSON · Markdown · All answers

Get a free API key in one call

No card and no email needed. 100 free credits; the license and policy checks stay free without a key.

curl -s -X POST https://www.rightshold.com/v1/accounts/signup -H "Content-Type: application/json" -d '{"accept_terms":true}'
export RIGHTSHOLD_API_KEY=rs_...   # the api_key from the reply (shown once)
curl -s https://www.rightshold.com/v1/licenses/check -H "Authorization: Bearer $RIGHTSHOLD_API_KEY" \
  -H "Content-Type: application/json" -d '{"license":"MIT","intended_use":{"commercial_use":true}}'