Process client request
Main entry point for Proxy Mode. The Agent:
- Authenticates the client credential. On Enterprise it also admits the user token, which is required there: a request with no token, or one that does not verify, is refused 401. On Community and community-SaaS the credential is the principal and a user token is ignored
- Decides the request in ONE anchored pass: the shared static engine's evaluation is the detector input, and the ADR-065 anchored engine authors the verdict for the credential or the verified user (PRD v11 §1.1, §1.6)
- Forwards to the Orchestrator if allowed
- Returns the response with the engine that decided it
One pass since v11.0.0 (#4253). The second pass that used to follow an anchored approval - the tier engine, over static_policies' stored action column and an organization's legacy per-policy overrides - is retired. A legacy per-policy override (block or require_approval) no longer decides this route; the effective-policies read (GET /api/v1/static-policies/effective) keeps showing it under its deprecation (PRD v11 §1.11). A shipped system control whose stored action is block is still refused here, by the anchored engine, naming its policy. The agent's pass resolves no governance segments, so a segment-store outage refuses nothing at that pass (a request it forwards to the orchestrator's /api/v1/process or /api/v1/plan/execute is decided there by the anchored engine too, whose facts resolve the user's segments and refuse when that fails), and the pass never holds a request for approval: an anchored approval challenge is a refusal.
Every policy verdict names the engine that decided it (engine, always anchored), the type of principal it decided for (subject_type) and the digest of the policy bundle (policy_bundle).
The LLM response is decided too. A forwarded request's response is decided by the orchestrator response plane, on the anchored engine, and response_plane names that decision. A response it withholds answers success: false and blocked: true, and is not counted against the client's circuit breaker.
Use this endpoint when you want AxonFlow to intercept and process all LLM requests.
Request
- Base URLhttps://agent.getaxonflow.com
- Authnone declared. Required headers: Authorization
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Headers
OAuth2-style Basic authentication header. Format: Basic base64(clientId:clientSecret)
- clientId: Your organization identifier (required)
- clientSecret: Authentication credential (optional for community mode)
Not required when DEPLOYMENT_MODE=community.
DEPRECATED: Use Basic authentication instead. Legacy client secret header. Prefer using Authorization: Basic header.
Request body
Response
Request processed successfully
Example response
{
"policy_info": {
"processing_time": "2.5ms"
}
}Changes
No recorded changes to this operation across all 1 revision of this API.