Processing

Process orchestrator request

Main processing endpoint. Handles:

  1. Request plane: the anchored engine decides the request; a withheld request answers 403 (see engine and verdict)
  2. LLM provider routing
  3. Response plane: the anchored engine decides the LLM response (see engine and verdict)
  4. Audit logging
  5. Metrics collection

Note: This endpoint is typically called by the Agent, not directly by clients. For MCP queries (request_type: mcp-query), routes to the Agent MCP handler.

post/api/v1/process

Request

Request body

request_idstring

Unique request identifier

querystring required

Query to process

request_typestring

Type of request

skip_llmboolean

Skip LLM calls (for testing)

contextobject

Free-form request metadata. Routing controls:

  • provider (string): preferred provider
  • strict_provider (boolean, optional): when true, hard-pins provider and disables fallback for this request. Default is false unless server env LLM_STRICT_PROVIDER_DEFAULT=true.
timestampstring date-time

Response

Request processed successfully

request_idstring
successboolean
dataunknown
errorstring
redactedboolean
redacted_fieldsstring[]
processing_timestring
engine'anchored'

The engine that decided: anchored, the ADR-065 decision plane (PRD v11 §1.1). On a request the request plane withholds (403, error "Request blocked by policy") it names that decision; otherwise it names the response plane's verdict on the LLM response, decided over the shared engine's detector facts. Omitted on an answer no anchored decision covers.

subject_typestring

The type of principal the request or response was decided for. The orchestrator admits the client credential the agent's proxy authentication forwards, so it is Client on every edition. Omitted on an answer withheld before a subject was admitted, and wherever engine is.

policy_bundlestring

The digest of the policy set that decided the request or the response. Omitted wherever subject_type is.

verdict'allowed' | 'redacted' | 'blocked'

The verdict engine names: allowed (released as the provider sent it), redacted (released masked, as a field_redact obligation required; data carries the masked content) or blocked (withheld: success is false and error says so; a request the request plane withholds is always blocked). A request or response that could not be decided is withheld, never released. Omitted wherever engine is.

Example response

{
  "media_analysis": {
    "results": [
      {
        "scanned": [
          "pii",
          "text"
        ]
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.