Skip to main content
This page is a walkthrough, not the reference. For the complete tag specification, ActionType catalog, and every ATP REST endpoint, see Artemis Transmission Protocol (ATP) in the API reference. Use this page to go from “I have data to send” to a validated, routable message.

ATP in the architecture

Conceptual communication map showing the user and orchestration layers, agents, the ATP communication layer with trust and governance controls, and the memory layer. ATP is the structured communication boundary between orchestration, agents, and the trust and governance controls that evaluate a message’s declared context. This diagram is architectural orientation only: field requirements and HTTP behavior are defined by the linked reference, and ATP endpoints are not yet represented in api/openapi.yaml.
Every ATP message is six header tags followed by a JSON body. Fill them in this order:
1

Mode

How the message should be delivered: direct, batch, stream, or async. Most agent-to-agent calls are direct.
2

Context

A trace/correlation ID, unique per logical operation (max 64 chars). Reuse the same Context across a request/response pair so the two sides of an exchange can be joined in logs and in GET /api/v1/atp/queue.
3

Priority

critical (0), high (1), normal (2), or low (3) — determines queue order, not correctness. Reserve critical for governance overrides and rollbacks.
4

ActionType

What the receiving agent should do with the payload — query, execute, propose_update, and so on. See the full catalog grouped by Query / Modification / Execution / Management / Governance operations in the ATP reference.
5

TargetZone

Which system component owns this: kernel, registry, memory, sandbox, or governance. This is what the router matches on.
6

SpecialNotes (optional)

Free-text hints for the receiving agent, max 256 chars — for example retry on timeout or require_semantic_match=true.
Assembled, a memory lookup looks like this:
Before sending, run it through POST /api/v1/atp/validate — it checks structural and field-level errors without dispatching anything, so it’s safe to call from client-side forms or CI. POST /api/v1/atp/format returns the exact wire string for a payload if you want to confirm formatting before it ships.
Last modified on July 25, 2026