Documentation

API Reference

REST API for validation, policy management, and audit operations.

Base URL

https://api.validkernel.com/v1

Authentication

All API requests require authentication via API key:

Authorization: Bearer vk_live_xxxxxxxxxxxxxxxxxxxx

Validation

POST /validate

Validate a request against loaded policies.

Request Body

{
  "request_id": "req_abc123",
  "policy": "default",
  "input": {
    "data": "...",
    "metadata": {}
  },
  "context": {
    "user_id": "user_123",
    "source": "api"
  }
}

Response

{
  "status": "EXECUTE",
  "request_id": "req_abc123",
  "audit_id": "aud_xyz789",
  "latency_ms": 0.009,
  "policy_version": "v1.2.0",
  "timestamp": "2026-01-17T12:00:00Z"
}

Status Values

EXECUTERequest validated, proceed with execution
TERMINATERequest denied, do not execute

Policies

GET /policies

List all loaded policies.

Response

{
  "policies": [
    {
      "name": "default",
      "version": "v1.2.0",
      "status": "active",
      "rules_count": 5,
      "loaded_at": "2026-01-17T00:00:00Z"
    }
  ],
  "total": 1
}
POST /policies

Deploy a new policy. Requires L0 authorization.

Request Body

{
  "name": "custom_policy",
  "version": "v1.0.0",
  "content": "policy \"custom_policy\" { ... }",
  "authorization": {
    "l0_signature": "..."
  }
}

Audit

GET /audit/logs

Retrieve audit logs with optional filtering.

Query Parameters

start_timeISO 8601 timestamp
end_timeISO 8601 timestamp
statusEXECUTE | TERMINATE
policyPolicy name filter
limitMax results (default 100)
GET /audit/logs/{audit_id}

Retrieve a specific audit record by ID.

Health

GET /health

Check system health status.

Response

{
  "status": "healthy",
  "version": "1.0.0",
  "latency_ms": 0.008,
  "policies_loaded": 1,
  "uptime_seconds": 86400
}

Error Codes

CodeDescription
400Invalid request format
401Authentication required
403Insufficient authorization level
404Resource not found
429Rate limit exceeded
500Internal server error