# Agent product reference

URL: /products/agent/reference · Id: `page:products/agent/reference`

> Every key of an agent product file and every Verb and Event of each customer's agent, for lookup.

An agent product is a product file with `$type: [Agent]` and the [Role](/business/nouns/role) it names. These tables list what each key holds and every [Verb](/business/nouns/verb) a customer's [Agent](/business/nouns/agent) answers to.

## Definition
| Key | Type | Holds | Required | Status |
| --- | --- | --- | --- | --- |
| [`$type`](/code/file-conventions/products) | list | One or more of `App`, `API`, `Agent`, `Dataset`, `Service` | Yes | `live` |
| [`nouns`](/business/nouns/noun) | Noun names | The Nouns it exposes; a Dataset holds Things of exactly one | No | `live` |
| [`verbs`](/business/nouns/verb) | Verb ids | The Verbs a Customer may call | No | `live` |
| [`interfaces`](/business/nouns/interface) | list | The Interfaces it ships on; every kind by default | No | `live` |
| [`role`](/products/agent/anatomy) | Role path | The Role in `agents/` its agent fills: instructions, Limits, approvals, channels and eval cases | Yes | `live` |

The [product file convention](/code/file-conventions/products/agent) shows the keys in a working file.

The Role's own keys (`limits`, `approvals`, `channels`, `schedule`) are in the [Role file reference](/code/file-conventions/roles). An [Offer](/business/nouns/offer) sells the product from an [Offer file](/code/file-conventions/offers).

## Verbs
| Verb | What it does | [Event](/business/nouns/event) |
| --- | --- | --- |
| [`Agent.mint`](/business/nouns/agent/mint) | Creates the [Customer](/business/nouns/customer)'s agent in its [Tenant](/business/nouns/tenant) | `Agent.minted` |
| [`Agent.pause`](/business/nouns/agent/pause) | Stops one agent, a [Team](/business/nouns/team)'s, or every customer-facing one from starting new [Actions](/business/nouns/action) | `Agent.paused` |
| [`Agent.resume`](/business/nouns/agent/resume) | Restarts a paused agent with [Memory](/business/nouns/memory), [Mandates](/business/nouns/mandate) and [Limits](/business/nouns/limit) unchanged | `Agent.resumed` |
| [`Agent.retire`](/business/nouns/agent/retire) | Takes it out of every seat and keeps its history | `Agent.retired` |
| [`Tenant.provision`](/business/nouns/tenant/provision) | Creates the Customer's Tenant with its [Entitlements](/business/nouns/entitlement) | `Tenant.provisioned` |
| [`Mandate.authorize`](/business/nouns/mandate/authorize) | Grants the agent a standing Mandate for the Customer, within a Limit | `Mandate.authorized` |
| [`Action.evaluate`](/business/nouns/action/evaluate) | Grades one piece of work and records the verdict | `Action.evaluated` |
| [`Approval.approve`](/business/nouns/approval/approve) | Lets a waiting Action run | `Approval.approved` |

Each Verb is on the API, SDK, CLI and MCP server: [API](/code/api/agent), [SDK](/code/sdk/agent), [CLI](/code/cli/agent), [MCP](/code/mcp/agent).

## Capabilities without a Verb
| [Capability](/business/nouns/capability) | What it adds | Proposed Verb |
| --- | --- | --- |
| [Agent upgrades](/products/agent/upgrades) | A Customer's agent moves to a new [Version](/business/nouns/version) after its own cases pass on it | `Agent.upgrade` |
| [Tenant rules](/products/agent/teach-it-your-rules) | A Customer teaches its own agent a rule that binds only that Tenant | `Agent.teach` |
| [Agent-to-agent tasks](/products/agent/agent-to-agent-tasks) | An outside agent hands a [Task](/business/nouns/task) over the agent-to-agent protocol | None |

A capability with status `planned` has no Verb, so no guide offers it and no agent promises it.