Overview Getting Started Python SDK TypeScript SDK OrgKernel Mission Store Changelog Examples Status Community Docs ↗
Getting Started Guide

Zero to your first
Mission in 10 minutes.

This guide walks you through the complete workflow: create an account, install the SDK, define a Mission, publish it, and watch it execute with a full audit trail.

Prerequisites

Before you begin, you'll need a Metaprise account and an API key. Sign up at metaprise.ai/signup — the free tier includes $1,000 in compute credits, no credit card required.

System requirements: Python 3.9+ or Node.js 18+. Any operating system. Internet connection for API calls.

Step 1 — Install the SDK

AURA SDKs are available for Python and TypeScript. Choose your language:

# Python pip install metaprise # TypeScript / Node.js npm install @metaprise/sdk # Verify installation python -c "import metaprise; print(metaprise.__version__)"

Step 2 — Authenticate

Initialize the client with your API key. Keys are prefixed mp- for easy identification. Never commit API keys to version control — use environment variables.

from metaprise import AgentOS import os client = AgentOS(api_key=os.environ["MP_API_KEY"]) # Verify connection print(client.ping()) # → "ok" print(client.credits()) # → { "remaining": 1000.00, "currency": "USD" }

Step 3 — Define your first Mission

A Mission is AURA's fundamental execution primitive. You define what needs to be done — not how. The Runtime handles planning, model selection, tool execution, and audit.

A MissionDefinition has exactly four fields:

FieldTypeDescription
objectivestrHuman-language description of the goal
toolslist[str]Whitelist of permitted tool identifiers
authoritystrOrganizational unit that owns execution authority
timeoutintMaximum wall-clock seconds before escalation
from metaprise import MissionDefinition # Define a Mission — only 4 fields, no steps, no model names mission = MissionDefinition( objective = "Reconcile outstanding invoices for Q1 2026", tools = ["accounting_api", "contract_db", "email"], authority = "finance_team", timeout = 3600 ) # Launch the Mission result = client.missions.launch( definition = mission, context = {"quarter": "Q1-2026", "entity": "ACME-US"} )
Key insight: You don't write workflow steps. The Orchestrator decomposes your objective into a plan, the Runtime executes it, and the AuditChain records every action. You write what — AURA handles how.

Step 4 — Observe the Mission lifecycle

Every Mission passes through 8 states. No state can be skipped. Every transition writes an AuditChain record.

CREATED → PLANNING → WAITING_APPROVAL → APPROVED → PENDING_EXECUTION → IN_PROGRESS → EXECUTED → CLOSED
# Watch the Mission execute for event in client.missions.stream(result.mission_id): print(f"[{event.state}] {event.message}") # Output: # [CREATED] Mission msn_7f3k9... created # [PLANNING] Decomposing objective into 3 steps # [APPROVED] Auto-approved (L1 authority) # [IN_PROGRESS] Step 1/3: read_invoice # [IN_PROGRESS] Step 2/3: verify_contract # [IN_PROGRESS] Step 3/3: create_payment_draft # [EXECUTED] All steps completed # [CLOSED] Mission outcome finalized

Step 5 — Verify the audit trail

Every Mission produces a tamper-proof AuditChain. Each entry is cryptographically linked to the previous, making retroactive modification detectable.

# Get the completed outcome outcome = client.missions.get_outcome(result.mission_id) print(outcome.status) # → "SUCCESS" print(outcome.actions_taken) # → ["read_invoice:4521", ...] print(outcome.cost_usd) # → 0.12 print(outcome.duration_ms) # → 18430 # Verify audit chain integrity chain = client.audit.get_chain(outcome.audit_chain_id) assert chain.verify_integrity() # → True # Every step is independently verifiable for entry in chain.entries: print(f" {entry.event}: {entry.tool} → {entry.result}")

Step 6 — Publish to the Mission Registry

Once your Mission works, publish it so enterprises can discover and install it. You'll earn 30% of every execution fee.

from metaprise import MissionPackage, MissionRegistry package = MissionPackage( name = "invoice_reconciliation", version = "1.0.0", definition = mission, description = "Reconcile invoices against contracts", tags = ["finance", "reconciliation"], royalty_pct = 25 ) registry = MissionRegistry(org_id="acme-corp") registry.publish(package) # → Published [email protected]

Next steps

You've launched your first Mission, verified its audit trail, and published it to the Registry. Here's where to go next:

  • Python SDK Reference — Complete API documentation for the Python SDK
  • Mission Registry — Learn about versioning, forking, and the royalty chain
  • OrgKernel — Integrate enterprise trust into your existing agents
  • Examples & Tutorials — Compliance review, multi-agent workflows, and more
  • Developer Economy — Understand the revenue share model and how to maximize earnings