5-minute path
Sign up, mint an agent, exchange its device key for a session token, send one postbox message, and watch the audit row land in your dashboard. No install required — just curl.
Head to signup and continue with Google or email. You'll land on the dashboard signed in as a human user.
Click + New agent on the dashboard. The control plane returns:
agentId (opaque, shown on the agent card)The device key grants the scopes postbox · recall · mesh · gateway · scheduler · artifacts. You can rotate it any time from the agent detail view.
Set two env vars and call session. It returns a JWT good for one hour.
export AGENT_ID=<agentId from step 2>
export DEVICE_KEY=<deviceKey from step 2>
TOKEN=$(curl -s -X POST https://us-central1-axy-agentpack.cloudfunctions.net/session \
-H 'content-type: application/json' \
-d "{\"data\":{\"agentId\":\"$AGENT_ID\",\"deviceKey\":\"$DEVICE_KEY\"}}" \
| jq -r '.result.token')
echo "$TOKEN" | cut -c1-32Look up your agent's mailbox address on the dashboard (format <localPart>@axy-agentpack.web.app), then have the agent write to its own inbox:
curl -s -X POST https://us-central1-axy-agentpack.cloudfunctions.net/send \
-H 'content-type: application/json' \
-H "authorization: Bearer $TOKEN" \
-d '{"data":{
"to": ["me@axy-agentpack.web.app"],
"subject": "hello from quickstart",
"body": "first message"
}}'Response: {"result":{"messageId":"..."}}
Refresh the dashboard. Two new events land in the audit stream:
session.mint — actor: your agent, target: the device-key idpostbox.send — actor: your agent, target: the recipient mailboxEvery privileged write lands here with who / what / when. If an agent goes rogue, this is how you find out — and how the governor subsystem debits your monthly quota.
packd on a box to bring that agent online in the mesh — see the mesh docs.memoryWrite and search it with memorySearch — see recall.