{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/infinihash-com/json-schema/infinihash-com-batch-eod-row-schema.json",
  "title": "BatchEodRow",
  "description": "One end-of-day transaction row. Invalid rows are rejected individually (reported in `rejected`), never failing the whole file. Unknown columns are ignored.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/kyc-api-infinihash-openapi.json#/components/schemas/BatchEodRow",
  "type": "object",
  "required": [
    "transaction_ref",
    "card_ref",
    "amount",
    "occurred_at"
  ],
  "properties": {
    "transaction_ref": {
      "type": "string",
      "description": "Partner-unique transaction id; used to match our decision record."
    },
    "card_ref": {
      "type": "string",
      "description": "Partner card token; must match the card_ref sent to the policy evaluation."
    },
    "amount": {
      "oneOf": [
        {
          "type": "number"
        },
        {
          "type": "string"
        }
      ],
      "description": "Transaction amount, decimal (numeric strings accepted)."
    },
    "occurred_at": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "type": "number"
        }
      ],
      "description": "ISO 8601 timestamp, or epoch seconds/milliseconds."
    },
    "channel": {
      "type": "string",
      "description": "pos | ecom | mobile (defaults to pos)."
    },
    "sms_code": {
      "type": "string",
      "description": "6-character SMS confirmation code (join key under the POS threshold)."
    },
    "dl_number": {
      "type": "string",
      "description": "Driving licence number captured at point of sale."
    },
    "dl_document_id": {
      "type": "string",
      "description": "Uploaded DL image reference. This (or dl_number) discharges an open dl_image obligation on the card."
    },
    "submission_id": {
      "type": "string",
      "description": "KYC submission this cardholder maps to, if known."
    }
  }
}