# wardrik_protocol v0.1.0-rc.1 - Table of Contents > What Wardrik sends and takes: its events, as CloudEvents, and its operations, as OpenAPI. ## Pages - [WardrikProtocol](readme.md) - [Changelog](changelog.md) ## Modules - [Wardrik.Activity](Wardrik.Activity.md): What an agent is doing now. - [Wardrik.Agent](Wardrik.Agent.md): An agent, and the operations on one. - [Wardrik.AgentID](Wardrik.AgentID.md): Parses agent IDs. - [Wardrik.Agents](Wardrik.Agents.md): Operations on every agent the scope can see. - [Wardrik.Amount](Wardrik.Amount.md): An amount in US dollars (`usd`), tokens (`tokens`), or both. A limit leaves out what it doesn't limit. - [Wardrik.Audit](Wardrik.Audit.md): Operations on the deployment's audit log. - [Wardrik.Authorization](Wardrik.Authorization.md): Where a person signs in for a call that waits on it: the `url`, and the `code` for a device sign-in. - [Wardrik.Call](Wardrik.Call.md): A tool call an agent is running: its `id`, the tool's `name`, and `elapsed_ms`. - [Wardrik.Ceilings](Wardrik.Ceilings.md): Operations on an org's ceilings: the budgets its agents share. - [Wardrik.Channel](Wardrik.Channel.md): A behaviour for chat apps, like Slack, that people reach agents through. - [Wardrik.Channel.Installation](Wardrik.Channel.Installation.md): A channel added to one workspace, such as a Slack app added to one Slack workspace. - [Wardrik.Channel.Installations](Wardrik.Channel.Installations.md): A behaviour for storing the workspaces a channel is added to, each with its token. - [Wardrik.ChannelResponse](Wardrik.ChannelResponse.md): A channel's response to its chat app: the `status`, `headers` and `body` to send unchanged. - [Wardrik.Connecting](Wardrik.Connecting.md): The result of connecting an account. If it isn't `connected` yet, `authorization` says where the owner signs in. - [Wardrik.Connection](Wardrik.Connection.md): An account an owner can connect: its `provider`, and whether it's `connected`. - [Wardrik.Connections](Wardrik.Connections.md): Operations on the accounts an org or person connects for their agents, by provider. - [Wardrik.Decision](Wardrik.Decision.md): A decided call: its `id`, and its `decision`, `:approved` or `:rejected`. - [Wardrik.Definition](Wardrik.Definition.md): What an agent is and what it may do: an agent file's frontmatter, as a struct. - [Wardrik.Deployment](Wardrik.Deployment.md): Operations on the deployment: listing its nodes and reloading every agent's definition. - [Wardrik.Event](Wardrik.Event.md): One event, as a CloudEvent. - [Wardrik.Events](Wardrik.Events.md): Operations on the events of every agent the scope can see. - [Wardrik.Forgotten](Wardrik.Forgotten.md): The result of forgetting many agents. `forgotten` lists the IDs forgotten. `kept` and `failed` list `{id, why}` pairs. - [Wardrik.Hook](Wardrik.Hook.md): Delivers a service's request to an agent's webhook trigger. - [Wardrik.Interrupt](Wardrik.Interrupt.md): A call an agent waits on a person for. - [Wardrik.Interrupts](Wardrik.Interrupts.md): Operations on the calls waiting on a person, across every agent the scope can see. - [Wardrik.MCPServer](Wardrik.MCPServer.md): An MCP server an owner added for their agents: its `name`, `url`, and `auth`. `auth` is how agents sign in to it: `:oauth`, `:secret` or `:none`. - [Wardrik.MCPServerAdded](Wardrik.MCPServerAdded.md): The result of adding an MCP server. If it isn't `connected` yet, `authorization` says where someone signs in first. - [Wardrik.MCPServers](Wardrik.MCPServers.md): Operations on the MCP servers an org or person adds for their agents at runtime. - [Wardrik.Message](Wardrik.Message.md): A message sent to an agent: its `id`, and the `cursor` its answer comes after. - [Wardrik.Node](Wardrik.Node.md): One of the deployment's nodes: its `name`, and how many `agents` run on it. - [Wardrik.Nodes](Wardrik.Nodes.md): The deployment's `nodes`, and how many agents are `asleep`. - [Wardrik.Notice](Wardrik.Notice.md): Tells someone what an agent did while nobody watched. - [Wardrik.Operations.Types](Wardrik.Operations.Types.md): Converts each operation's input and output between Elixir and the protocol's JSON. - [Wardrik.Page](Wardrik.Page.md): A page of `events`, and `next`, where to read on from. - [Wardrik.Reply](Wardrik.Reply.md): An agent's answer: its `text`, the `message` it answers, and the `run` that wrote it. - [Wardrik.Resource](Wardrik.Resource.md): Names what an action acts on, as IAM resources do. - [Wardrik.Run](Wardrik.Run.md): One run of an agent: how it ended, how long it took, and what it used and cost. - [Wardrik.Runs](Wardrik.Runs.md): An agent's `runs`, newest first, and their `totals`. - [Wardrik.Runs.Totals](Wardrik.Runs.Totals.md): Totals across an agent's runs. - [Wardrik.Scope](Wardrik.Scope.md): Who is acting through Wardrik, and what they may do. - [Wardrik.Secret](Wardrik.Secret.md): A secret an owner holds, by `name`. `kind` is `:secret` for one they sealed, or `:grant` for an account they connected. - [Wardrik.Secrets](Wardrik.Secrets.md): Operations on an owner's secrets: sealing one, listing them by name, and removing one. - [Wardrik.Server](Wardrik.Server.md): A behaviour for what runs Wardrik's operations. - [Wardrik.Spend](Wardrik.Spend.md): What an org's agents have spent against one ceiling in its current period. See `Wardrik.Ceiling`. - [Wardrik.Statement](Wardrik.Statement.md): Allows actions on the resources its patterns match, like an IAM statement. - [Wardrik.Timeline](Wardrik.Timeline.md): An agent's conversation as a person reads it, oldest first. - [Wardrik.Token](Wardrik.Token.md): An API token, without its secret. - [Wardrik.TokenIssued](Wardrik.TokenIssued.md): A new token and its `secret`. The secret is returned only once. Send it as `Authorization: Bearer `. - [Wardrik.Tokens](Wardrik.Tokens.md): Operations on the deployment's API tokens. People and programs use them to reach Wardrik over HTTP. - [Wardrik.Trigger](Wardrik.Trigger.md): Asks an agent something without anyone typing. A trigger fires - [Wardrik.Trigger.Webhook](Wardrik.Trigger.Webhook.md): Where a service sends a trigger requests. `secret` is the secret it holds, as `${NAME}`. `verify` is how a request proves it: `:shared` or `:standard`. - [WardrikProtocol](WardrikProtocol.md): Wardrik's wire format: events as CloudEvents, and operations as OpenAPI. - Exceptions - [Wardrik.Error](Wardrik.Error.md): An operation's failure, as the protocol's `error`.