Customer Onboarding
Integrate with the AEGIS Governance REST API from your first health check to a fully automated governance gate.
This guide walks you through integrating with the AEGIS Governance REST API, from your first health check to a fully automated governance gate.
Hosted service offline. The hosted AEGIS API is offline (September 2026), so the steps below document the interface; they do not complete today. Status: undercurrentholdings.com/status.
What You'll Accomplish
By the end of this guide, you will have:
- Verified connectivity to the AEGIS API
- Submitted your first proposal evaluation and received a structured decision
- Understood the response format (status, confidence, gate results, audit ID)
- Chosen an integration method for your environment (SDK, CLI, or REST)
Step 1: Get Your API Key
API keys were issued at portal.undercurrentholdings.com. A key does not restore evaluation while the hosted service is offline.
A provisioned account had:
- An API key (used in the
Authorization: Bearerheader) - A base URL for your environment (dev, staging, or production)
- A customer ID (
cust_...) identifying your organization
Keep your API key confidential. Do not commit it to source control or embed it in client-side code. Store it in a secrets manager or environment variable.
Step 2: Test the Health and Readiness Endpoints
Both endpoints require no authentication. /health is a fast liveness
probe; /ready is the deep readiness probe (DB, audit chain, Unkey
wiring) used by the deploy gate.
curl https://api.aegis.undercurrentholdings.com/healthExpected response:
{
"status": "ok",
"version": "1.1.0",
"stage": "production",
"runtime": "cloud-run",
"checks": {
"config": { "ok": true }
}
}For deeper validation that the service is correctly wired to its
dependencies, query /ready:
curl https://api.aegis.undercurrentholdings.com/readyExpected status is "ready" with all four probes (db, schema,
audit_chain, unkey) reporting ok: true. A 503 response means one
or more probes failed — the response body's checks map identifies
which.
If /health returns "degraded" or /ready returns 503, contact the
AEGIS team before proceeding.
Note: The health endpoint confirms current operational status but does not constitute a service-level agreement (SLA). Production SLA terms, if applicable, are specified in your service agreement. AEGIS is licensed under BSL 1.1 — see the license for production-use terms.
Step 3: Make Your First Evaluation
Send a POST request to the /evaluate endpoint with your API key and a
proposal payload:
curl -X POST https://api.aegis.undercurrentholdings.com/evaluate \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"proposal_summary": "Add Redis caching layer to reduce API latency",
"estimated_impact": "medium",
"risk_proposed": 0.3,
"risk_baseline": 0.1,
"complexity_score": 0.6,
"quality_score": 0.8,
"novelty_score": 0.4
}'Step 4: Understand the Response
A successful evaluation returns a JSON object describing the governance decision:
{
"status": "proceed",
"confidence": 0.87,
"gates_passed": 5,
"gates_failed": 0,
"failing_gates": [],
"rationale": "All gates passed. Proposal is within acceptable risk and complexity bounds.",
"next_steps": [
"Proceed with implementation",
"Monitor drift metrics post-deployment"
],
"constraints": [],
"decision_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"timestamp": "2026-02-24T12:00:00+00:00",
"override_eligible": false,
"override_requires": [],
"gates": {
"risk": {
"passed": true,
"value": 0.1200,
"threshold": 0.9500,
"confidence": 0.87,
"message": "Risk delta within acceptable bounds"
},
"complexity": {
"passed": true,
"value": 0.6000,
"threshold": 0.5000,
"confidence": null,
"message": "Complexity above floor"
}
}
}Note: Only two gates are shown for brevity. The full response includes all six gates (risk, profit, novelty, complexity, quality, utility).
Key fields
| Field | Description |
|---|---|
status | proceed, pause, halt, or escalate |
confidence | Overall decision confidence (0-1) |
gates_passed / gates_failed | Count of gates that passed and failed |
failing_gates | List of gate names that failed (empty when all pass) |
rationale | Human-readable explanation of the decision |
next_steps | Recommended actions based on the evaluation |
constraints | Active constraints applied to the decision |
decision_id | Unique identifier for audit trail |
timestamp | UTC timestamp of the decision |
override_eligible | Whether the decision can be overridden |
gates | Per-gate breakdown with value, threshold, and confidence |
Status codes
| HTTP Status | Meaning |
|---|---|
200 | Evaluation completed successfully (check status field) |
400 | Invalid request payload |
401 | Missing or invalid Bearer token |
429 | Rate limit or monthly quota exceeded (see Rate Limits) |
500 | Internal server error |
Step 5: Integrate into Your Workflow
Choose the integration method that fits your environment:
-
Python SDK — for applications and scripts written in Python. See the Python SDK Quickstart.
-
CLI — for shell scripts and CI/CD pipelines. See the CLI Quickstart.
-
REST API — for any language or platform that can make HTTP requests. Use the patterns shown above.
Quick Risk Check (REST)
For lightweight, non-Bayesian threshold checks, use the /risk-check endpoint:
curl -X POST https://api.aegis.undercurrentholdings.com/risk-check \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"agent_id": "my-service",
"action_description": "Update config file",
"risk_score": 0.2
}'Note:
/risk-checkperforms a direct threshold comparison without Bayesian posterior evaluation. Use/evaluatefor decisions that require full gate analysis and audit trails.
Rate Limits
Rate limiting is enforced per API key via Unkey. Limits vary by tier:
| Tier | Rate Limit | Monthly Evaluations |
|---|---|---|
| Community | 60 req/min | 100 |
| Professional | 100 req/min | 10,000 |
| Enterprise | 1,000 req/min | 100,000 |
| Financial Services | 2,000 req/min | 250,000 |
Rate limits are current as of 2026-04-05 and subject to change. Check your account dashboard at portal.undercurrentholdings.com for live limits.
If you exceed your tier's limit, you will receive a 429 Too Many Requests
response. Implement exponential backoff in your client.
Tier-Gated Features
Most AEGIS features are available to all tiers. The following require specific tiers:
| Feature | Minimum Tier | Description |
|---|---|---|
shadow_mode=true | Professional | Evaluate without enforcing — for CI calibration and rollout testing |
| CSV compliance export | Financial Services | GET /customer/decisions/export?format=csv — structured audit export |
All other features (6 gates, /evaluate, /risk-check, /sandbox/evaluate, MCP tools, SDK, JSON export, drift monitoring) are available to all tiers including Community.
Support
| Channel | Contact |
|---|---|
| Engineering issues | Email support@undercurrentholdings.com or open a GitHub issue (requires repository access) |
| Onboarding assistance | Contact your AEGIS account representative |
| Security concerns | Email security@undercurrentholdings.com |
| Status page | undercurrentholdings.com/status |
Next Steps
- Installation — install the SDK or CLI locally
- Python SDK Quickstart — programmatic integration
- CLI Quickstart — command-line integration
- Parameter Reference — complete parameter documentation
- Domain Templates — integration templates for trading, CI/CD, moderation, and agents