{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/curlec/json-schema/curlec-product-configuration-schema.json",
  "title": "ProductConfiguration",
  "description": "Route product configuration for a Linked Account. Controls settlement account details and tracks activation status. Prefix: acc_prd_",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/curlec-linked-accounts-api-openapi.yml#/components/schemas/ProductConfiguration",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Product configuration ID. Prefix: acc_prd_"
    },
    "account_id": {
      "type": "string",
      "description": "Linked Account ID this configuration belongs to."
    },
    "product_name": {
      "type": "string",
      "enum": [
        "route"
      ],
      "description": "Product name. Always 'route' for Route product."
    },
    "activation_status": {
      "type": "string",
      "enum": [
        "requested",
        "needs_clarification",
        "under_review",
        "activated",
        "suspended"
      ],
      "description": "Current activation status. Progresses from requested → under_review → activated. needs_clarification requires additional info from the merchant."
    },
    "tnc": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "accepted": {
          "type": "boolean"
        },
        "accepted_at": {
          "type": "integer",
          "description": "Unix timestamp when TnC was accepted."
        }
      }
    },
    "requested_configuration": {
      "type": "object",
      "description": "Configuration details provided during activation request."
    },
    "active_configuration": {
      "type": "object",
      "properties": {
        "settlements": {
          "type": "object",
          "properties": {
            "account_number": {
              "type": "string",
              "description": "Bank account number for settlements."
            },
            "ifsc_code": {
              "type": "string",
              "description": "IFSC code of the settlement bank."
            },
            "beneficiary_name": {
              "type": "string",
              "description": "Account holder name."
            }
          }
        }
      }
    },
    "requirements": {
      "type": "array",
      "description": "List of pending requirements needed for activation.",
      "items": {
        "type": "object",
        "properties": {
          "field_reference": {
            "type": "string"
          },
          "resolution_url": {
            "type": "string"
          },
          "status": {
            "type": "string"
          },
          "reason_code": {
            "type": "string"
          }
        }
      }
    },
    "requested_at": {
      "type": "integer",
      "description": "Unix timestamp when product was requested."
    }
  }
}