Run GoldenCheck as an HTTP microservice.

Start the Server

goldencheck serve                    # default: 0.0.0.0:8000
goldencheck serve --port 9000       # custom port
goldencheck serve --host 127.0.0.1  # localhost only

Endpoints

GET /health

Health check.

curl http://localhost:8000/health
# {"status": "ok", "tool": "goldencheck"}

GET /checks

List available profiler checks.

GET /domains

List available domain packs.

POST /scan

Scan a file by uploading its contents. Accepts raw CSV body.

curl -X POST http://localhost:8000/scan --data-binary @data.csv
curl -X POST "http://localhost:8000/scan?domain=healthcare" --data-binary @patients.csv

POST /scan/url

Scan a file by URL. POST JSON body with url field.

curl -X POST http://localhost:8000/scan/url \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/data.csv", "domain": "finance"}'

Response Format

{
  "rows": 10000,
  "columns": 12,
  "health_grade": "B",
  "health_score": 82,
  "errors": 2,
  "warnings": 5,
  "findings_count": 24,
  "findings": [...]
}