{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/coingraph-ai/json-schema/coingraph-ai-response-proof-schema.json",
  "title": "ResponseProof",
  "description": "Makes this response provable: it shows this exact response existed at this time, not that the answer is correct. CoinGraph keeps the exact response for 30 days (GET /verify/{id} returns it) and the fingerprint for good, so keep the response to recompute it later.",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/coingraph-ai-openapi.json#/components/schemas/ResponseProof",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Same as the envelope id. Pass it to GET /verify/{id}."
    },
    "sha256": {
      "type": "string",
      "description": "sha256(canonical({ as_of, data })): only these two fields of the response, as you received them. Canonical: keys sorted at every level, no whitespace, written as JavaScript's JSON.stringify writes it."
    },
    "verify_url": {
      "type": "string",
      "format": "uri"
    },
    "status": {
      "type": "string",
      "const": "queued",
      "description": "Fixed when the response is issued. GET /verify/{id} gives the current status."
    }
  },
  "required": [
    "id",
    "sha256",
    "verify_url",
    "status"
  ]
}