> For the complete documentation index, see [llms.txt](https://docs.toolregistry.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.toolregistry.ai/basics/core-objects.md).

# Core Objects

* **Run** - A single execution. Identified by `runId` (UUID). See lifecycle below. Response shape: `RunDto`.
* **Intent** - Declarative outcome. Keep it user-facing and testable (what, not how).
* **Integrations** - Tools the agent may call. Use tenant-scoped `customerIntegrationId`s when creating runs. `integrationId` is the global key.
* **Context** - Hidden execution parameters: timezone, filters, IDs, safety limits, feature flags. Do not expose to end users.
* **UserID** - Identity whose tokens/permissions apply (act-as-user). Treat as sensitive. Revoke tokens at the integration.
* **Approval Strategy** - `NONE`, `ON_START`, or `ON_TOOL_CALL` for human-in-the-loop control.
* **Plan** - Either `text` or `JSON`, included in `CreateRunResponse`. May be displayed for `ON_START` approvals.
* **Events (SSE)** - Real-time stream for status, step start/complete, approvals, errors, and final result.
* **Result** - Structured object (if produced) included in `RunDto.result`.
* **Feedback** - Thumbs-up/down and comments attached to a run for evaluation loops.
