{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/flashdata-dev/json-schema/flashdata-dev-credit-policy-schema.json",
  "title": "CreditPolicy",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/flashdata-dev-credits-api-openapi.yml#/components/schemas/CreditPolicy",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "unit",
    "failedRequestsCharged",
    "subscriptionGrantTiming",
    "refundHandling"
  ],
  "properties": {
    "unit": {
      "type": "string",
      "const": "credit"
    },
    "failedRequestsCharged": {
      "type": "boolean",
      "const": false
    },
    "subscriptionGrantTiming": {
      "type": "string",
      "const": "invoice_paid"
    },
    "refundHandling": {
      "type": "string",
      "const": "append_only_reversal",
      "description": "Failed requests are refunded; verified provider refunds remove the proportional Credits through immutable transactions."
    }
  }
}