{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/bumit-ai/json-schema/bumit-ai-discovery-index-schema.json",
  "title": "DiscoveryIndex",
  "x-generated": "2026-11-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_original/bumit-ai-v1-openapi.json#/components/schemas/DiscoveryIndex",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "service",
    "purpose",
    "description",
    "api_version",
    "service_version",
    "primary_operation",
    "authentication",
    "api_key_required",
    "payment_required_now",
    "payment_note",
    "data_handling",
    "links"
  ],
  "properties": {
    "service": {
      "const": "BUMIT"
    },
    "purpose": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "api_version": {
      "const": "v1"
    },
    "service_version": {
      "type": "string"
    },
    "primary_operation": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "method",
        "path",
        "operation_id",
        "content_type",
        "contract_id",
        "contract_version"
      ],
      "properties": {
        "method": {
          "const": "POST"
        },
        "path": {
          "const": "/api/v1/verify-business"
        },
        "operation_id": {
          "const": "verifyBusiness"
        },
        "content_type": {
          "const": "application/json"
        },
        "contract_id": {
          "const": "BUMIT_BUSINESS_VERIFICATION"
        },
        "contract_version": {
          "const": "1.1.0"
        }
      }
    },
    "authentication": {
      "const": "none"
    },
    "api_key_required": {
      "const": false
    },
    "payment_required_now": {
      "const": false
    },
    "payment_note": {
      "type": "string"
    },
    "data_handling": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "accounts",
        "caller_identity_persisted",
        "request_bodies_logged",
        "business_identifiers_in_urls",
        "usage_metering"
      ],
      "properties": {
        "accounts": {
          "const": false
        },
        "caller_identity_persisted": {
          "const": false
        },
        "request_bodies_logged": {
          "const": false
        },
        "business_identifiers_in_urls": {
          "const": false
        },
        "usage_metering": {
          "const": "ANONYMOUS_OUTCOME_ONLY"
        }
      }
    },
    "links": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "self",
        "api_catalog",
        "openapi",
        "capabilities",
        "status",
        "documentation",
        "mcp",
        "mcp_descriptor"
      ],
      "properties": {
        "self": {
          "type": "string",
          "format": "uri"
        },
        "api_catalog": {
          "type": "string",
          "format": "uri"
        },
        "openapi": {
          "type": "string",
          "format": "uri"
        },
        "capabilities": {
          "type": "string",
          "format": "uri"
        },
        "status": {
          "type": "string",
          "format": "uri"
        },
        "documentation": {
          "type": "string",
          "format": "uri"
        },
        "mcp": {
          "type": "string",
          "format": "uri"
        },
        "mcp_descriptor": {
          "type": "string",
          "format": "uri"
        }
      }
    }
  }
}