/v1/enforce
Every request returns a structured decision object. The gateway verifies your API key, enforces rate and monthly limits, and forwards a normalized payload to the enforcement runtime.
Required headers
Send your API key using the standard Bearer format.
authorization: Bearer 4w9A4BfZpJ8yL6Zg8u3m7tYpLQm3d3mQ8W3m2mR7pVQ
Request schema
{
"environment": "production",
"model": "gemini-1.5-pro",
"tool": "chat.completions",
"tags": {
"data_classification": "confidential",
"compliance_checked": "true"
},
"payload": {
"request_type": "customer_support_summary",
"user_email": "customer@example.com",
"credit_card": "4111 1111 1111 1111",
"ssn": "123-45-6789",
"prompt": "Summarize the ticket and remove all sensitive fields.",
"note": "I lost access to my account and need help resetting my password."
}
}Working curl example
curl -sS https://governium.olalaai.org/v1/enforce \
-X POST \
-H "content-type: application/json" \
-H "authorization: Bearer 4w9A4BfZpJ8yL6Zg8u3m7tYpLQm3d3mQ8W3m2mR7pVQ" \
-d '{
"environment": "production",
"model": "gemini-1.5-pro",
"tool": "chat.completions",
"tags": {
"data_classification": "confidential",
"compliance_checked": "true"
},
"payload": {
"request_type": "customer_support_summary",
"user_email": "customer@example.com",
"credit_card": "4111 1111 1111 1111",
"ssn": "123-45-6789",
"prompt": "Summarize the ticket and remove all sensitive fields.",
"note": "I lost access to my account and need help resetting my password."
}
}'Response shape
Decisions are deterministic and audit-friendly. Use request_id for correlation in logs and incident reviews.
{
"decision": "allow",
"reason_code": "RULE_ALLOW_PROD_COMPLIANT_ALLOW",
"policy_bundle_id": "production-strict",
"policy_bundle_version": "2026-01-07T00:00:00Z",
"rule_id": "allow_prod_compliant",
"redactions": [
{"json_pointer": "/user_email", "method": "replace"},
{"json_pointer": "/credit_card", "method": "replace"},
{"json_pointer": "/ssn", "method": "replace"}
],
"audit_event_id": "a0b0f0f3c8e3a9bb3c0f1b82a1f0b1e7d4b0b7c2d81f8adf0f2c0a8b9f2c1d3e",
"request_id": "c9c2f8cf-4b2e-4d8b-8e3b-6a4f7d3a1b20"
}