Developers

Build against your own stack.

One API for agents, models, and capture, served from your hardware, not ours.

quickstart.pypython
from apture import Client
 
client = Client("http://10.4.0.12") # your metal
agent = client.agents.create(
  model="torquay-7b",
  trigger="tour_sheet.created",
  approval="engineer",
)
agent.deploy() # egress: 0 bytes
The surface

One API for agents, models, and capture.

Base
https://<your-host>/v1
Auth
Bearer, scoped per agent
Version
2026-05-01
MethodEndpointWhat it does
POST/chat/completionsOpenAI-compatible. Point an existing client at your cluster and change the base URL.
GET/modelsLocal and routed models with context length, quantization, and per-token cost.
POST/agentsCreate an agent: model, trigger, tools, approval gate, basin, and cost center.
POST/agents/{id}/runsInvoke a run. Returns a run id, streamed output, and token spend against the cap.
GET/runs/{id}/traceFull tool-call trace, retrieved documents, grader scores, and the approving engineer.
POST/toolsRegister a function or an MCP server with a strict JSON schema and a timeout.
POST/capture/sessionsOpen a Frame capture session and stream field audio, video, and transcript to your storage.
POST/finetunesQueue a fine-tune from graded runs or a capture set. Weights land in your bucket.
Run it yourself

Your metal, your weights, zero egress.

One compose file on a single GPU box, or a Helm chart against your own Kubernetes. Air-gapped installs pull from a local registry mirror and never call home.

$ helm repo add apture https://charts.apturelabs.com
$ helm install fleet apture/fleet-builder
Minimum node
1× A100 80GB or 2× L40S
Runs torquay-7b at production concurrency. 64 GB RAM, 12 vCPU.
Storage
400 GB NVMe + your bucket
Weights, run traces, and the capture buffer stay inside your boundary.
Identity
SAML, SCIM, and RBAC
Entra or Okta. Approval gates map to your existing engineering roles.
Network
Egress 0 bytes by default
Frontier routing is opt-in per agent, redacted, and logged line by line.
Keep reading