Overview Getting Started Python SDK TypeScript SDK OrgKernel Mission Store Changelog Examples Status Community Docs ↗
Python SDK v0.9

Python SDK
Reference.

Full API documentation for the Metaprise Python SDK. Covers missions, agents, orchestration, audit, and registry operations.

Installation

Requires Python 3.9 or higher.

pip install metaprise

AgentOS Client

The primary client for all AURA operations. Initialize with your API key.

from metaprise import AgentOS client = AgentOS( api_key = "mp-...", # Required. Use env vars in production. base_url = "https://api.metaprise.ai", # Optional. Default shown. timeout = 30, # Optional. Request timeout in seconds. org_id = "acme-corp", # Optional. Scopes all operations to org. )
ParameterTypeRequiredDescription
api_keystrYesYour API key (prefixed mp-)
base_urlstrNoAPI base URL. Override for on-prem.
timeoutintNoRequest timeout in seconds. Default: 30
org_idstrNoOrganization scope for multi-tenant setups

MissionDefinition

The four-field declaration that defines what a Mission does. You write the objective — AURA decomposes and executes it.

from metaprise import MissionDefinition mission = MissionDefinition( objective = "Reconcile outstanding invoices for Q1", tools = ["accounting_api", "contract_db"], authority = "finance_team", timeout = 3600 )

missions.launch()

Launch a Mission for execution. Returns a MissionHandle with the mission_id for tracking.

POST /v1/missions/launch
Launch a new Mission with the given definition and context.
result = client.missions.launch( definition = mission, # MissionDefinition object context = { # Input data for the Mission "quarter": "Q1-2026", "entity": "ACME-US" }, wait = False, # If True, blocks until CLOSED ) print(result.mission_id) # → "msn_7f3k9..." print(result.state) # → "CREATED"

missions.stream()

Stream real-time state transitions for a running Mission.

for event in client.missions.stream(mission_id): print(f"[{event.state}] {event.message}") if event.state == "CLOSED": break

missions.get_outcome()

Retrieve the immutable outcome record for a completed Mission.

outcome = client.missions.get_outcome(mission_id) # Returns: MissionOutcome(status, actions_taken, audit_chain_id, duration_ms, cost_usd, tokens_consumed)

agents.deploy()

Deploy a pre-built agent from the Agent Store or a custom agent definition.

POST /v1/agents/deploy
Deploy an agent with specified configuration.
agent = client.agents.deploy( agent_id = "compliance-reviewer", config = { "model": "metaprise-llm-v1", "engines": ["compliance", "audit"], "orchestration": "plan-and-execute", } )

agents.run()

Execute a deployed agent against input data.

result = agent.run( input = "Review for FINRA compliance violations", documents = ["trade_confirmation.pdf"], ) print(result.output) # Agent response print(result.audit_chain) # Cryptographic audit record

agents.list()

GET /v1/agents
List all deployed agents in the current organization.
agents = client.agents.list(status="active") for a in agents: print(f"{a.agent_id}: {a.name} ({a.status})")

audit.get_chain()

chain = client.audit.get_chain(audit_chain_id) for entry in chain.entries: print(f" {entry.sequence}: {entry.event} → {entry.result}")

audit.verify()

Independently verify the integrity of an entire AuditChain — sequence continuity, hash chain validity, and entry self-verification.

assert client.audit.verify(audit_chain_id) # → True

registry.publish()

registry = client.registry() registry.publish(MissionPackage( name="invoice_reconciliation", version="1.0.0", definition=mission, tags=["finance"], royalty_pct=25 ))

registry.discover()

results = registry.discover(tags=["finance"], min_authority="L2") for r in results: print(f"{r.name}@{r.version} — {r.description}")

registry.install()

registry.install("[email protected]")