{
  "repo": "tidbcloud/billing-bills-verify",
  "binary": "billing-bills-verify",
  "binary_path": "cmd/main.go",
  "surface_kind": "http_service",
  "type": "http_service",
  "extensions": {
    "notes": [
      "HTTP service using Gin framework (v1.8.1)",
      "Single binary with CLI flags for configuration",
      "Health check endpoints: /ping, /version",
      "Main verification endpoint: POST /api/v1/billverify/network",
      "Extensible design with planned verification endpoints for other services",
      "Uses standard JSON request/response format",
      "CLI flags: -listen-address, -config-file, -log-level"
    ]
  },
  "services": [
    {
      "name": "HealthService",
      "type": "http_api",
      "base_path": "/",
      "methods": [
        {
          "name": "Ping",
          "name_key": "HealthService.Ping",
          "http_method": "GET",
          "path": "/ping",
          "input": null,
          "output": "pong response"
        },
        {
          "name": "Version",
          "name_key": "HealthService.Version",
          "http_method": "GET",
          "path": "/version",
          "input": null,
          "output": {
            "version": "string",
            "gitHash": "string"
          }
        }
      ]
    },
    {
      "name": "VerifyService",
      "type": "http_api",
      "base_path": "/api/v1",
      "methods": [
        {
          "name": "VerifyNetworkBill",
          "name_key": "VerifyService.VerifyNetworkBill",
          "http_method": "POST",
          "path": "/api/v1/billverify/network",
          "input": {
            "tenant_id": "string",
            "project_id": "string (optional)",
            "start_time": "string (format: 2006-01-02 15:04:05)",
            "end_time": "string (format: 2006-01-02 15:04:05)",
            "data_version": "string (optional)"
          },
          "output": {
            "code": "int",
            "err_message": "string (optional)",
            "data": "string (optional)"
          },
          "description": "Verify network billing data against GCP BigQuery"
        }
      ],
      "planned_methods": [
        {
          "name": "VerifyBillingService",
          "http_method": "POST",
          "path": "/api/v1/billverify/billingservice",
          "status": "planned",
          "description": "Reserved for billing service verification"
        },
        {
          "name": "VerifyBackupBill",
          "http_method": "POST",
          "path": "/api/v1/billverify/backup",
          "status": "planned",
          "description": "Reserved for backup billing verification"
        },
        {
          "name": "VerifyCDCBill",
          "http_method": "POST",
          "path": "/api/v1/billverify/cdc",
          "status": "planned",
          "description": "Reserved for CDC billing verification"
        }
      ]
    }
  ]
}
