openapi: 3.0.0 info: description: Agent-first API for runtime + developer control-plane operations (users, teams, agents, routines, context, workflows, integrations, and webhooks). title: ArchAstro Platform Activity Feed API version: v1 tags: - name: Activity Feed paths: /api/v1/activity_feed: get: description: 'Returns a cursor-paginated list of activity feed entries visible to the authenticated user. Entries are ordered from newest to oldest by default. Use `before_cursor` to page backward and `after_cursor` to page forward. Results are scoped to the caller''s app. All filter params are optional and can be combined. Passing multiple values in an array filter returns entries matching any of the supplied values (OR semantics). Invalid `kind` or `level` values return a 400 error listing the accepted values rather than being silently ignored.' operationId: get_api_v1_activity_feed parameters: - description: Maximum number of entries to return per page. Defaults to 50; maximum is 100. example: 1 in: query name: limit required: false schema: type: integer - description: 'One or more entry kinds to include. Accepted values: routine_run, automation_run, thread_story, agent_quality_verdict, generic. Omit to return all kinds.' example: - string in: query name: kind required: false schema: items: type: string type: array - description: 'One or more severity levels to include. Accepted values: debug, info, warn, error, audit. Omit to return all levels.' example: - string in: query name: level required: false schema: items: type: string type: array - description: Opaque cursor from a previous response's `after_cursor` field. Returns entries newer than the cursor's position. example: string in: query name: after_cursor required: false schema: type: string - description: Opaque cursor from a previous response's `before_cursor` field. Returns entries older than the cursor's position. example: string in: query name: before_cursor required: false schema: type: string - description: Restrict results to entries associated with these agent IDs (`agt_...`). Accepts multiple values. example: - string in: query name: agent required: false schema: items: type: string type: array - description: Restrict results to entries associated with these organization IDs (`org_...`). Accepts multiple values. example: - string in: query name: org required: false schema: items: type: string type: array - description: Restrict results to entries associated with these team IDs (`tem_...`). Accepts multiple values. example: - string in: query name: team required: false schema: items: type: string type: array - description: Restrict results to entries associated with these thread IDs (`thr_...`). Accepts multiple values. example: - string in: query name: thread required: false schema: items: type: string type: array - description: Restrict results to entries that share this correlation group identifier. Useful for tracing a chain of related events. example: string in: query name: correlation_id required: false schema: type: string responses: '200': content: application/json: schema: description: Cursor-paginated list of activity feed entries. example: after_cursor: string before_cursor: string data: - agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu has_more: true properties: after_cursor: description: Opaque cursor to pass as `after_cursor` to retrieve the next newer page. Absent when no newer entries exist. example: string type: string before_cursor: description: Opaque cursor to pass as `before_cursor` to retrieve the next older page. Absent when no older entries exist. example: string type: string data: description: Array of activity feed entry objects for the current page, ordered newest first. example: - agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu items: description: A single event record in an activity feed, capturing what happened, who caused it, and which resources were involved. example: agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: agent: description: The agent that produced this event. Returns an agent ID (`agi_...`) by default, or an expanded agent object when the association is loaded. `null` if no agent is associated. example: agi_0aBcDeFgHiJkLmNoPqRsTu oneOf: - description: An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object - type: string app: description: ID of the application that produced this entry (`dap_...`). `null` if not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Array of attachment objects associated with this entry. Each attachment has a `type` field (e.g. `"file"`, `"task"`, `"artifact"`) and type-specific additional fields. Empty array when there are no attachments. example: - {} items: type: object type: array automation_run: description: ID of the automation run that produced this entry (`atr_...`). `null` if not produced by an automation run. example: atr_0aBcDeFgHiJkLmNoPqRsTu type: string content: description: A longer explanation of the event rendered as Markdown. `null` if no additional content is available. example: The agent completed the task successfully. type: string correlation_id: description: An opaque string used to group related entries together. Entries sharing the same `correlation_id` belong to a single logical operation. `null` if not correlated. example: 01234567-89ab-cdef-0123-456789abcdef type: string created_at: description: When this activity feed entry was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string id: description: Activity feed entry ID (`afe_...`). example: afe_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: The type of event this entry represents, e.g. `"agent_step"` or `"tool_call"`. Determines how `title`, `content`, and `attachments` should be interpreted. example: agent_step type: string level: description: Severity level of the event. One of `"info"`, `"warning"`, or `"error"`. `null` if no severity is set. example: info type: string metadata: description: Arbitrary key-value metadata stored on this entry. Returns an empty object when no metadata is set. example: key: value type: object org: description: ID of the organization this entry belongs to (`org_...`). `null` if not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string routine_run: description: ID of the agent routine run that produced this entry (`arr_...`). `null` if not produced by a routine run. example: arr_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox: description: Identifier of the sandbox environment this entry was generated in. `null` in production contexts. example: string type: string session_record: description: ID of the agent session record this entry belongs to (`ase_...`). `null` if not part of an agent session. example: ase_0aBcDeFgHiJkLmNoPqRsTu type: string team: description: ID of the team this entry is associated with (`tem_...`). `null` if not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this entry is associated with (`thr_...`). `null` if not linked to a thread. example: thr_0aBcDeFgHiJkLmNoPqRsTu type: string title: description: A one-line human-readable summary of the event. `null` if the entry has no title. example: Example Title type: string updated_at: description: When this activity feed entry was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: The user who triggered this event. Returns a user ID (`usr_...`) by default, or an expanded user object when the association is loaded. `null` if no user is associated. example: usr_0aBcDeFgHiJkLmNoPqRsTu oneOf: - description: A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object - type: string required: - id type: object type: array has_more: description: '`true` when additional entries exist beyond this page in the requested direction.' example: true type: boolean required: - data - has_more type: object description: Successful response '400': description: Invalid cursor '401': description: Unauthorized '403': description: App-scoped token required. Use a token scoped to the target app. summary: List activity feed entries x-auth: - bearer - publishable_key tags: - Activity Feed x-archastro-docs-scope: external x-auth-schemes: bearer: description: User JWT in Authorization header scheme: bearer type: http device_flow: description: Third-party device flow token — requires per-action opt-in scheme: bearer type: http x-token-use: third_party publishable_key: description: Publishable API key — identifies the app in: header name: x-archastro-api-key prefix: pk_ type: api_key secret_key: description: Secret API key — full admin access, no user JWT required in: header name: x-archastro-api-key prefix: sk_ type: api_key x-channel-auth: - bearer x-channels: - description: 'Channel for real-time chat messaging. Supports team-scoped and user-scoped threads with keyed, transient, and direct thread access patterns.' joins: - description: Join a team-scoped thread by ID name: join_team_thread params: example: after_cursor: string before_cursor: string include_metadata: true limit: 1 team_id: string thread_id: string properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean limit: example: 1 type: integer team_id: example: string type: string thread_id: example: string type: string required: - team_id - thread_id type: object pattern: api:chat:team:{team_id}:thread:{thread_id} returns: type: object - description: Join a team-scoped transient (ephemeral) thread name: join_team_transient params: example: after_cursor: string before_cursor: string include_metadata: true key: string limit: 1 team_id: string properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean key: example: string type: string limit: example: 1 type: integer team_id: example: string type: string required: - key - team_id type: object pattern: api:chat:team:{team_id}:transient:{key} returns: type: object - description: Join a user-scoped thread by ID name: join_user_thread params: example: after_cursor: string before_cursor: string include_metadata: true limit: 1 thread_id: string properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean limit: example: 1 type: integer thread_id: example: string type: string required: - thread_id type: object pattern: api:chat:user:thread:{thread_id} returns: type: object - description: Join a user-scoped transient (ephemeral) thread name: join_user_transient params: example: after_cursor: string before_cursor: string include_metadata: true key: string limit: 1 properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean key: example: string type: string limit: example: 1 type: integer required: - key type: object pattern: api:chat:user:transient:{key} returns: type: object - description: Join or create a team-scoped keyed thread name: join_team_keyed params: example: after_cursor: string before_cursor: string include_metadata: true key: string limit: 1 team_id: string properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean key: example: string type: string limit: example: 1 type: integer team_id: example: string type: string required: - key - team_id type: object pattern: api:chat:team:{team_id}:key:{key} returns: type: object - description: Join or create a user-scoped keyed thread name: join_user_keyed params: example: after_cursor: string before_cursor: string include_metadata: true key: string limit: 1 properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean key: example: string type: string limit: example: 1 type: integer required: - key type: object pattern: api:chat:user:key:{key} returns: type: object messages: - description: Add an emoji reaction to a message event: api:chat:add_reaction params: example: emoji: string message_id: string properties: emoji: example: string type: string message_id: example: string type: string required: - emoji - message_id type: object returns: description: 'Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{"status": "ok", "response": {}}`.' properties: {} type: object - description: Delete a message event: api:chat:delete_message params: example: message_id: string properties: message_id: example: string type: string required: - message_id type: object returns: description: 'Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{"status": "ok", "response": {}}`.' properties: {} type: object - description: Edit an existing message's content event: api:chat:edit_message params: example: content: string message_id: string properties: content: example: string type: string message_id: example: string type: string required: - content - message_id type: object returns: description: 'Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{"status": "ok", "response": {}}`.' properties: {} type: object - description: Fork a sub-thread from an existing message event: api:chat:fork_thread params: example: message_id: string title: Example Title properties: message_id: example: string type: string title: example: Example Title type: string required: - message_id type: object returns: description: Response returned after forking a chat thread. Contains the new thread, its initial chat-room snapshot, and the owning team when applicable. example: chat_model: after_cursor: string agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu before_cursor: string is_transient: true members: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name messages: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string messages_loaded_on_last_update: 1 team: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' thread: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu team: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' thread: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: chat_model: description: Initial chat-room render snapshot for the forked thread, including members and loaded messages. `null` for transient threads whose room model is suppressed. example: after_cursor: string agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu before_cursor: string is_transient: true members: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name messages: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string messages_loaded_on_last_update: 1 team: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' thread: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: after_cursor: description: Opaque cursor to pass when fetching messages newer than those in this snapshot. `null` when this snapshot already reflects the latest messages. example: string type: string agent: description: The agent associated with this chat room. `null` when no agent is attached. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object before_cursor: description: Opaque cursor to pass when fetching messages older than those in this snapshot. `null` when the beginning of the thread history has been reached. example: string type: string is_transient: description: Whether this thread is ephemeral. Transient threads are not retained in long-term storage and may be deleted when the session ends. example: true type: boolean members: description: All active members of the chat room, including both human users and agents. example: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name items: description: A participant in a chat thread, which may be either a human user or an AI agent. Exactly one of `user` or `agent` is populated depending on `type`. example: agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: agent: description: Full agent object for this member. Populated when `type` is `"agent"`; `null` for user members. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object membership_type: description: Role of this member within the thread. Common values are `"owner"` and `"member"`. `null` when the membership type is not applicable. example: owner type: string type: description: Kind of participant. One of `"user"` (a human user) or `"agent"` (an AI agent). example: user type: string user: description: Full user object for this member. Populated when `type` is `"user"`; `null` for agent members. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object required: - type type: object type: array messages: description: The page of messages currently loaded for the thread, ordered chronologically. Use `before_cursor` or `after_cursor` to page through additional history. example: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string items: description: A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object type: array messages_loaded_on_last_update: description: Number of messages that were added to the snapshot in the most recent incremental update. `null` on the initial load. example: 1 type: integer team: description: The team that owns this thread. `null` for threads scoped to an individual user rather than a team. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' properties: acl: description: Access control list governing visibility and join permissions for this team. `null` when no ACL restrictions are applied and the team inherits default access rules. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the developer application this team belongs to (`dap_...`). `null` if the team is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string badges: description: Aggregated badge counts for the team, keyed by category. `null` when badge data is not loaded. example: {} type: object created_at: description: When this team was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Human-readable description of the team's purpose. `null` if not set. example: An example description. type: string id: description: Team ID (`tem_...`). example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string membership_status: description: The authenticated viewer's role on this team. One of `"owner"`, `"admin"`, or `"member"`. `null` if the viewer is not a member. example: member type: string metadata: description: Arbitrary key-value metadata attached to this team. Returns an empty object when no metadata has been set. example: key: value type: object name: description: Display name of the team. example: Example Name type: string org: description: ID of the organization this team belongs to (`org_...`). `null` if the team is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox: description: ID of the developer sandbox this team is scoped to (`dsb_...`). `null` outside sandbox contexts. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string slug: description: URL-safe slug for the team, derived from the team name. `null` if not set. example: example-slug type: string updated_at: description: When this team was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string required: - id type: object thread: description: The parent thread whose message history and membership this snapshot represents. example: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: agent_user: description: ID of the agent that owns this thread (`agt_...`). `null` for user-owned or team-owned threads. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the thread was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string creator: description: Expanded user object for the user who created this thread. Populated only when the association is loaded. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object description: description: Optional description or purpose statement for the thread. `null` if not set. example: An example description. type: string id: description: Thread ID (`thr_...`). example: string type: string is_channel: description: Whether this thread operates as a channel — a multi-member broadcast-style conversation. example: true type: boolean is_default: description: Whether this is the default thread for its owner. Each user or team has at most one default thread. example: true type: boolean is_transient: description: Whether this thread is ephemeral and may be deleted automatically after a period of inactivity or when its TTL expires. example: true type: boolean is_unlisted: description: Whether this thread is hidden from public discovery. Unlisted threads are accessible only to direct participants. example: true type: boolean key: description: Application-defined stable key that uniquely identifies the thread within its scope. Useful for idempotent creation. `null` if not set. example: string type: string last_activity: description: When the last message or activity occurred in this thread. Present only when activity enrichment is requested. example: '2024-01-01T00:00:00Z' format: date-time type: string metadata: description: Arbitrary key-value metadata attached to the thread. Shape is application-defined; `null` if no metadata has been set. example: key: value type: object muted: description: Whether the authenticated user has muted notifications for this thread. `true` suppresses all notification delivery. example: true type: boolean org: description: ID of the organization this thread belongs to (`org_...`). `null` for threads outside an org context. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string parent_message: description: The message that spawned this thread as a sub-thread. `null` for top-level threads. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object participant: description: Array of participant user IDs (`usr_...`) who are members of this thread. example: - string items: type: string type: array participants: description: Expanded participant user objects for each member of this thread. Populated only when the association is loaded. example: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name items: description: A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object type: array participating_actor: description: Composite actor identifiers for all participants currently active in this thread. Present only when actor enrichment is requested. example: - string items: type: string type: array participating_agents: description: Expanded agent objects for all agents participating in this thread. Present only when agent enrichment is requested. example: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu items: description: An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object type: array role: description: The authenticated user's membership role in this thread, e.g. `"owner"`, `"member"`, or `"viewer"`. `null` if the user is not a member. example: member type: string sandbox: description: ID of the developer sandbox this thread is scoped to (`sbx_...`). `null` for production threads. example: string type: string settings: description: Per-thread configuration settings controlling AI agent behavior for this thread. example: agent_enabled: true properties: agent_enabled: description: Whether the AI agent is active for this thread. `true` enables AI responses; `false` disables them. Defaults to `true` when settings have not been explicitly configured. example: true type: boolean type: object slug: description: URL-safe slug for the thread, used in human-readable permalinks. `null` if not assigned. example: example-slug type: string sub_threads: description: Threads that are nested under this thread as replies to a parent message. Present only when sub-thread enrichment is requested. example: - {} items: type: object type: array team: description: ID of the team that owns this thread (`team_...`). `null` for user-owned or agent-owned threads. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string title: description: Human-readable name of the thread. `null` if no title has been set. example: Example Title type: string ttl: description: Time-to-live in seconds after which the thread may be automatically cleaned up. `null` if the thread does not expire. example: 3600 type: integer unread_count: description: Number of messages in this thread that the authenticated user has not yet read. Present only when read-state enrichment is requested. example: 5 type: integer updated_at: description: When the thread was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user who owns this thread (`usr_...`). `null` for team-owned or agent-owned threads. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object required: - is_transient - members - messages - thread type: object team: description: Team that owns the forked thread. Present only when the original thread was team-scoped; `null` for personal threads. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' properties: acl: description: Access control list governing visibility and join permissions for this team. `null` when no ACL restrictions are applied and the team inherits default access rules. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the developer application this team belongs to (`dap_...`). `null` if the team is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string badges: description: Aggregated badge counts for the team, keyed by category. `null` when badge data is not loaded. example: {} type: object created_at: description: When this team was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Human-readable description of the team's purpose. `null` if not set. example: An example description. type: string id: description: Team ID (`tem_...`). example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string membership_status: description: The authenticated viewer's role on this team. One of `"owner"`, `"admin"`, or `"member"`. `null` if the viewer is not a member. example: member type: string metadata: description: Arbitrary key-value metadata attached to this team. Returns an empty object when no metadata has been set. example: key: value type: object name: description: Display name of the team. example: Example Name type: string org: description: ID of the organization this team belongs to (`org_...`). `null` if the team is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox: description: ID of the developer sandbox this team is scoped to (`dsb_...`). `null` outside sandbox contexts. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string slug: description: URL-safe slug for the team, derived from the team name. `null` if not set. example: example-slug type: string updated_at: description: When this team was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string required: - id type: object thread: description: The newly-created thread produced by the fork operation. example: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: agent_user: description: ID of the agent that owns this thread (`agt_...`). `null` for user-owned or team-owned threads. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the thread was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string creator: description: Expanded user object for the user who created this thread. Populated only when the association is loaded. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object description: description: Optional description or purpose statement for the thread. `null` if not set. example: An example description. type: string id: description: Thread ID (`thr_...`). example: string type: string is_channel: description: Whether this thread operates as a channel — a multi-member broadcast-style conversation. example: true type: boolean is_default: description: Whether this is the default thread for its owner. Each user or team has at most one default thread. example: true type: boolean is_transient: description: Whether this thread is ephemeral and may be deleted automatically after a period of inactivity or when its TTL expires. example: true type: boolean is_unlisted: description: Whether this thread is hidden from public discovery. Unlisted threads are accessible only to direct participants. example: true type: boolean key: description: Application-defined stable key that uniquely identifies the thread within its scope. Useful for idempotent creation. `null` if not set. example: string type: string last_activity: description: When the last message or activity occurred in this thread. Present only when activity enrichment is requested. example: '2024-01-01T00:00:00Z' format: date-time type: string metadata: description: Arbitrary key-value metadata attached to the thread. Shape is application-defined; `null` if no metadata has been set. example: key: value type: object muted: description: Whether the authenticated user has muted notifications for this thread. `true` suppresses all notification delivery. example: true type: boolean org: description: ID of the organization this thread belongs to (`org_...`). `null` for threads outside an org context. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string parent_message: description: The message that spawned this thread as a sub-thread. `null` for top-level threads. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object participant: description: Array of participant user IDs (`usr_...`) who are members of this thread. example: - string items: type: string type: array participants: description: Expanded participant user objects for each member of this thread. Populated only when the association is loaded. example: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name items: description: A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object type: array participating_actor: description: Composite actor identifiers for all participants currently active in this thread. Present only when actor enrichment is requested. example: - string items: type: string type: array participating_agents: description: Expanded agent objects for all agents participating in this thread. Present only when agent enrichment is requested. example: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu items: description: An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object type: array role: description: The authenticated user's membership role in this thread, e.g. `"owner"`, `"member"`, or `"viewer"`. `null` if the user is not a member. example: member type: string sandbox: description: ID of the developer sandbox this thread is scoped to (`sbx_...`). `null` for production threads. example: string type: string settings: description: Per-thread configuration settings controlling AI agent behavior for this thread. example: agent_enabled: true properties: agent_enabled: description: Whether the AI agent is active for this thread. `true` enables AI responses; `false` disables them. Defaults to `true` when settings have not been explicitly configured. example: true type: boolean type: object slug: description: URL-safe slug for the thread, used in human-readable permalinks. `null` if not assigned. example: example-slug type: string sub_threads: description: Threads that are nested under this thread as replies to a parent message. Present only when sub-thread enrichment is requested. example: - {} items: type: object type: array team: description: ID of the team that owns this thread (`team_...`). `null` for user-owned or agent-owned threads. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string title: description: Human-readable name of the thread. `null` if no title has been set. example: Example Title type: string ttl: description: Time-to-live in seconds after which the thread may be automatically cleaned up. `null` if the thread does not expire. example: 3600 type: integer unread_count: description: Number of messages in this thread that the authenticated user has not yet read. Present only when read-state enrichment is requested. example: 5 type: integer updated_at: description: When the thread was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user who owns this thread (`usr_...`). `null` for team-owned or agent-owned threads. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object required: - thread type: object - description: List all messages in the current thread event: api:chat:list_messages params: properties: {} type: object returns: description: Response returned when listing the messages of a joined chat thread. Contains the set of messages currently loaded for the thread. example: messages: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: messages: description: Ordered array of message objects currently loaded for the thread, from oldest to newest. Use the `load_more_messages` channel message to fetch earlier pages. example: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string items: description: A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object type: array required: - messages type: object - description: Load additional messages with cursor-based pagination event: api:chat:load_more_messages params: example: after_cursor: string before_cursor: string include_metadata: true limit: 1 properties: after_cursor: example: string type: string before_cursor: example: string type: string include_metadata: example: true type: boolean limit: example: 1 type: integer type: object returns: description: Response returned after loading an additional page of chat messages. Contains a refreshed chat-room snapshot with the newly-fetched messages merged in. example: data: after_cursor: string agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu before_cursor: string is_transient: true members: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name messages: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string messages_loaded_on_last_update: 1 team: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' thread: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: data: description: Updated chat-room snapshot for the thread, incorporating the newly-loaded page of messages alongside any previously loaded messages. example: after_cursor: string agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu before_cursor: string is_transient: true members: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name messages: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string messages_loaded_on_last_update: 1 team: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' thread: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: after_cursor: description: Opaque cursor to pass when fetching messages newer than those in this snapshot. `null` when this snapshot already reflects the latest messages. example: string type: string agent: description: The agent associated with this chat room. `null` when no agent is attached. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object before_cursor: description: Opaque cursor to pass when fetching messages older than those in this snapshot. `null` when the beginning of the thread history has been reached. example: string type: string is_transient: description: Whether this thread is ephemeral. Transient threads are not retained in long-term storage and may be deleted when the session ends. example: true type: boolean members: description: All active members of the chat room, including both human users and agents. example: - agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name items: description: A participant in a chat thread, which may be either a human user or an AI agent. Exactly one of `user` or `agent` is populated depending on `type`. example: agent: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu membership_type: owner type: user user: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: agent: description: Full agent object for this member. Populated when `type` is `"agent"`; `null` for user members. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object membership_type: description: Role of this member within the thread. Common values are `"owner"` and `"member"`. `null` when the membership type is not applicable. example: owner type: string type: description: Kind of participant. One of `"user"` (a human user) or `"agent"` (an AI agent). example: user type: string user: description: Full user object for this member. Populated when `type` is `"user"`; `null` for agent members. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object required: - type type: object type: array messages: description: The page of messages currently loaded for the thread, ordered chronologically. Use `before_cursor` or `after_cursor` to page through additional history. example: - actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string items: description: A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object type: array messages_loaded_on_last_update: description: Number of messages that were added to the snapshot in the most recent incremental update. `null` on the initial load. example: 1 type: integer team: description: The team that owns this thread. `null` for threads scoped to an individual user rather than a team. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu badges: {} created_at: '2024-01-01T00:00:00Z' description: An example description. id: tem_0aBcDeFgHiJkLmNoPqRsTu membership_status: member metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu slug: example-slug updated_at: '2024-01-01T00:00:00Z' properties: acl: description: Access control list governing visibility and join permissions for this team. `null` when no ACL restrictions are applied and the team inherits default access rules. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the developer application this team belongs to (`dap_...`). `null` if the team is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string badges: description: Aggregated badge counts for the team, keyed by category. `null` when badge data is not loaded. example: {} type: object created_at: description: When this team was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Human-readable description of the team's purpose. `null` if not set. example: An example description. type: string id: description: Team ID (`tem_...`). example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string membership_status: description: The authenticated viewer's role on this team. One of `"owner"`, `"admin"`, or `"member"`. `null` if the viewer is not a member. example: member type: string metadata: description: Arbitrary key-value metadata attached to this team. Returns an empty object when no metadata has been set. example: key: value type: object name: description: Display name of the team. example: Example Name type: string org: description: ID of the organization this team belongs to (`org_...`). `null` if the team is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox: description: ID of the developer sandbox this team is scoped to (`dsb_...`). `null` outside sandbox contexts. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string slug: description: URL-safe slug for the team, derived from the team name. `null` if not set. example: example-slug type: string updated_at: description: When this team was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string required: - id type: object thread: description: The parent thread whose message history and membership this snapshot represents. example: agent_user: agi_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' creator: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name description: An example description. id: string is_channel: true is_default: true is_transient: true is_unlisted: true key: string last_activity: '2024-01-01T00:00:00Z' metadata: key: value muted: true org: org_0aBcDeFgHiJkLmNoPqRsTu parent_message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string participant: - string participants: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name participating_actor: - string participating_agents: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu role: member sandbox: string settings: agent_enabled: true slug: example-slug sub_threads: - {} team: tem_0aBcDeFgHiJkLmNoPqRsTu title: Example Title ttl: 3600 unread_count: 5 updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: agent_user: description: ID of the agent that owns this thread (`agt_...`). `null` for user-owned or team-owned threads. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the thread was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string creator: description: Expanded user object for the user who created this thread. Populated only when the association is loaded. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object description: description: Optional description or purpose statement for the thread. `null` if not set. example: An example description. type: string id: description: Thread ID (`thr_...`). example: string type: string is_channel: description: Whether this thread operates as a channel — a multi-member broadcast-style conversation. example: true type: boolean is_default: description: Whether this is the default thread for its owner. Each user or team has at most one default thread. example: true type: boolean is_transient: description: Whether this thread is ephemeral and may be deleted automatically after a period of inactivity or when its TTL expires. example: true type: boolean is_unlisted: description: Whether this thread is hidden from public discovery. Unlisted threads are accessible only to direct participants. example: true type: boolean key: description: Application-defined stable key that uniquely identifies the thread within its scope. Useful for idempotent creation. `null` if not set. example: string type: string last_activity: description: When the last message or activity occurred in this thread. Present only when activity enrichment is requested. example: '2024-01-01T00:00:00Z' format: date-time type: string metadata: description: Arbitrary key-value metadata attached to the thread. Shape is application-defined; `null` if no metadata has been set. example: key: value type: object muted: description: Whether the authenticated user has muted notifications for this thread. `true` suppresses all notification delivery. example: true type: boolean org: description: ID of the organization this thread belongs to (`org_...`). `null` for threads outside an org context. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string parent_message: description: The message that spawned this thread as a sub-thread. `null` for top-level threads. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object participant: description: Array of participant user IDs (`usr_...`) who are members of this thread. example: - string items: type: string type: array participants: description: Expanded participant user objects for each member of this thread. Populated only when the association is loaded. example: - alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name items: description: A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object type: array participating_actor: description: Composite actor identifiers for all participants currently active in this thread. Present only when actor enrichment is requested. example: - string items: type: string type: array participating_agents: description: Expanded agent objects for all agents participating in this thread. Present only when agent enrichment is requested. example: - acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu items: description: An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object type: array role: description: The authenticated user's membership role in this thread, e.g. `"owner"`, `"member"`, or `"viewer"`. `null` if the user is not a member. example: member type: string sandbox: description: ID of the developer sandbox this thread is scoped to (`sbx_...`). `null` for production threads. example: string type: string settings: description: Per-thread configuration settings controlling AI agent behavior for this thread. example: agent_enabled: true properties: agent_enabled: description: Whether the AI agent is active for this thread. `true` enables AI responses; `false` disables them. Defaults to `true` when settings have not been explicitly configured. example: true type: boolean type: object slug: description: URL-safe slug for the thread, used in human-readable permalinks. `null` if not assigned. example: example-slug type: string sub_threads: description: Threads that are nested under this thread as replies to a parent message. Present only when sub-thread enrichment is requested. example: - {} items: type: object type: array team: description: ID of the team that owns this thread (`team_...`). `null` for user-owned or agent-owned threads. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string title: description: Human-readable name of the thread. `null` if no title has been set. example: Example Title type: string ttl: description: Time-to-live in seconds after which the thread may be automatically cleaned up. `null` if the thread does not expire. example: 3600 type: integer unread_count: description: Number of messages in this thread that the authenticated user has not yet read. Present only when read-state enrichment is requested. example: 5 type: integer updated_at: description: When the thread was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user who owns this thread (`usr_...`). `null` for team-owned or agent-owned threads. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object required: - is_transient - members - messages - thread type: object required: - data type: object - description: Mark a thread as read up to a given message event: api:chat:mark_thread_read params: example: message_id: string properties: message_id: example: string type: string required: - message_id type: object returns: description: Response returned after marking a chat thread as read. Confirms that the read marker was successfully recorded for the authenticated user. example: success: true properties: success: description: Indicates whether the read marker was successfully applied. Always `true` on success; errors are returned as channel error replies rather than a `false` value here. example: true type: boolean required: - success type: object - description: Post a new message with optional uploads and reply-to event: api:chat:post_message params: example: content: string idempotency_key: string reply_to: string uploads: - {} properties: content: example: string type: string idempotency_key: example: string type: string reply_to: example: string type: string uploads: example: - {} items: type: object type: array required: - content type: object returns: description: Response returned after successfully posting a message to a chat thread. Contains the persisted message object echoed back to the sender. example: message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: message: description: The message that was created and stored. Contains the full message object including its assigned ID, author, content, and timestamps. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object required: - message type: object - description: Post a simple text message event: api:chat:post_simple_message params: example: content: string idempotency_key: string reply_to: string properties: content: example: string type: string idempotency_key: example: string type: string reply_to: example: string type: string type: object returns: description: Response returned after successfully posting a message to a chat thread. Contains the persisted message object echoed back to the sender. example: message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: message: description: The message that was created and stored. Contains the full message object including its assigned ID, author, content, and timestamps. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object required: - message type: object - description: Remove an emoji reaction from a message event: api:chat:remove_reaction params: example: emoji: string message_id: string properties: emoji: example: string type: string message_id: example: string type: string required: - emoji - message_id type: object returns: description: 'Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{"status": "ok", "response": {}}`.' properties: {} type: object name: ApiChatChannel pushes: - description: Broadcast system-wide events event: system_event payload: example: event: {} properties: event: example: {} type: object type: object - description: Broadcast thread-level events (agent updates, read state, unread counts) event: thread_event payload: example: payload: {} thread_id: string type: string properties: payload: example: {} type: object thread_id: example: string type: string type: example: string type: string type: object - description: Broadcast when a message is updated or removed event: message_updated payload: example: message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string thread_id: string properties: message: description: A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object thread_id: example: string type: string type: object - description: Broadcast when a new message is added to a thread event: message_added payload: example: after_cursor: string before_cursor: string message: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string thread_id: string properties: after_cursor: example: string type: string before_cursor: example: string type: string message: description: A chat message posted in a thread, including its content, author, attachments, reactions, and optional reply metadata. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string properties: actors: description: Resolved actor descriptors for the message sender, combining identity and display metadata. Always contains exactly one entry. example: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 items: description: The entity that authored a message, either a human user or an agent. example: alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: alias: description: Short handle or alias for the actor, used as an alternate display identifier. `null` if not configured. example: alice type: string id: description: Composite actor identifier. Format is `"user-"` for human users or `"agent-"` for agents. example: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 type: string name: description: Display name of the actor shown in the UI. `null` if no name is set. example: Example Name type: string profile_picture: description: Profile picture for the actor. `null` if the actor has no profile picture. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object type: object type: array agent: description: ID of the agent user that sent this message (`agi_...`). `null` for messages sent by human users. example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Files, links, tasks, media, artifacts, and actions attached to this message. Empty array if there are no attachments. example: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 items: description: A rich attachment associated with a message, such as a file, scraped link, artifact, task, media item, or inline action. example: content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 properties: content_type: description: MIME type of the attached file, e.g. `"image/png"` or `"application/pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: application/json type: string description: description: Short description. The page meta-description for `scraped_link`, the artifact description for `artifact`, and the task description for `task` types. `null` on other types. example: An example description. type: string filename: description: Original filename of the attached file, e.g. `"report.pdf"`. Present on `file`, `artifact`, and `media` types. `null` otherwise. example: string type: string height: description: Height in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer id: description: Unique identifier for this attachment within the message. example: string type: string image_height: description: Height in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer image_source: description: Image source metadata for inline rendering. Present on `file`, `scraped_link`, `artifact`, and `media` types when the content is an image. `null` otherwise. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object image_url: description: URL of the preview image extracted from the scraped page. Present on `scraped_link` type only. `null` otherwise. example: https://example.com type: string image_width: description: Width in pixels of the scraped preview image. Present on `scraped_link` type only. `null` otherwise. example: 1 type: integer media_type: description: The media category, e.g. `"video"` or `"audio"`. Present on `media` type only. `null` otherwise. example: application/json type: string name: description: Display name of the media item. Present on `media` type only. `null` otherwise. example: Example Name type: string object: description: The full embedded object payload. For `task` type, contains the task record. For `action` type, contains the action definition. `null` on other types. example: {} type: object title: description: Display title. The page title for `scraped_link`, the artifact name for `artifact`, and the task title for `task` types. `null` on other types. example: Example Title type: string type: description: The attachment type. One of `"file"`, `"scraped_link"`, `"artifact"`, `"task"`, `"media"`, or `"action"`. Determines which additional fields are present. example: file type: string url: description: URL to access the resource. A signed download URL for `file` and `artifact` types; the original URL for `scraped_link`; a media playback URL for `media`. `null` on `task` and `action` types. example: https://example.com type: string variants: description: Array of available encoding variants for the media item (e.g. different resolutions). Present on `media` type only. `null` otherwise. example: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 items: description: A processed variant of a media item, such as the original upload or a resized thumbnail, including a signed download URL resolved at request time. example: content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 properties: content_type: description: MIME type of this variant's file (e.g., `"image/jpeg"`, `"video/mp4"`). `null` if the file is not loaded. example: application/json type: string created_at: description: When this variant was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string file: description: ID of the underlying storage file that backs this variant (`fil_...`). example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string filename: description: Original filename of the uploaded file for this variant. `null` if the file is not loaded. example: string type: string height: description: Height of this variant in pixels. `null` if not recorded. example: 600 type: integer id: description: Media variant ID (`mvr_...`). example: mvr_0aBcDeFgHiJkLmNoPqRsTu type: string image_source: description: Resolved image delivery metadata for this variant, including dimensions and CDN URL. `null` for non-image content types. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object updated_at: description: When this variant was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string url: description: Signed download URL for this variant, resolved at request time. `null` if the file is unavailable. example: https://example.com type: string variant_key: description: Identifier for this variant's processing tier. Common values include `"original"` (the unmodified upload) and `"thumbnail"` (a resized preview). example: original type: string width: description: Width of this variant in pixels. `null` if not recorded. example: 800 type: integer required: - id type: object type: array version: description: Version number of the attached artifact at the time of attachment. Present on `artifact` type only. `null` otherwise. example: 1 type: integer width: description: Width in pixels of the media item. Present on `media` type only. `null` otherwise. example: 1 type: integer required: - id - type type: object type: array branched_thread: description: ID of the thread that was branched from this message (`thr_...`). `null` if this message has not spawned a branch thread. example: string type: string content: description: Text content of the message. `null` for messages that contain only attachments. example: Hello, how can I help you today? type: string created_at: description: When the message was posted (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string has_replies: description: Whether this message has at least one reply. Only present when explicitly requested or computed by the server. example: true type: boolean id: description: Message ID (`msg_...`). example: msg_0aBcDeFgHiJkLmNoPqRsTu type: string idempotency_key: description: Client-supplied idempotency key used to deduplicate message sends. `null` if the sender did not provide one. example: 01234567-89ab-cdef-0123-456789abcdef type: string legacy_agent: description: Identifier of the legacy chat agent that sent this message, if applicable. `null` for messages sent by users or modern agent users. example: string type: string metadata: description: Arbitrary key-value metadata attached to the message. Always present; defaults to an empty object when no metadata has been set. example: key: value type: object org: description: ID of the organization that owns this message (`org_...`). example: org_0aBcDeFgHiJkLmNoPqRsTu type: string reactions: description: Emoji and other reactions added to this message by users. Empty array if no reactions have been added or the association is not preloaded. example: - payload: key: value type: emoji_reaction user: string items: description: A compact reaction record embedded in a message's `reactions` array, representing a single user's reaction to a message. example: payload: key: value type: emoji_reaction user: string properties: payload: description: Type-specific reaction data. For `"emoji_reaction"` reactions, contains an `emoji` key with the Unicode emoji string (e.g., `"👍"`). example: key: value type: object type: description: Reaction type identifier. Currently always `"emoji_reaction"` for emoji-based reactions. example: emoji_reaction type: string user: description: Public ID of the user who added the reaction (`usr_...`). example: string type: string required: - type type: object type: array rendering_mode: description: Display hint for how the message should be rendered. One of `"reply"`, `"direct"`, or `"inline"`. `null` for user-authored messages, which are always rendered as standard replies. example: reply type: string replies: description: Inline array of reply messages, each serialized as a full message object. Only present when the server has preloaded replies for this message. example: - {} items: type: object type: array replies_after_cursor: description: Opaque pagination cursor to fetch replies posted after the current page. Only present when inline replies are included in the response. example: string type: string replies_before_cursor: description: Opaque pagination cursor to fetch replies posted before the current page. Only present when inline replies are included in the response. example: string type: string reply_count: description: Total number of direct replies to this message. Only present when explicitly requested or computed by the server. example: 1 type: integer reply_to: description: The parent message this message is a reply to, expanded as a full message object when loaded. `null` if this is a top-level message or the association is not preloaded. example: actors: - alias: alice id: user-usr_01j3k5m7n9p2r4s6t8v0w1x2 name: Example Name profile_picture: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 agent: agi_0aBcDeFgHiJkLmNoPqRsTu attachments: - content_type: application/json description: An example description. filename: string height: 1 id: string image_height: 1 image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 image_url: https://example.com image_width: 1 media_type: application/json name: Example Name object: {} title: Example Title type: file url: https://example.com variants: - content_type: application/json created_at: '2024-01-01T00:00:00Z' file: fil_0aBcDeFgHiJkLmNoPqRsTu filename: string height: 600 id: mvr_0aBcDeFgHiJkLmNoPqRsTu image_source: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 updated_at: '2024-01-01T00:00:00Z' url: https://example.com variant_key: original width: 800 version: 1 width: 1 branched_thread: string content: Hello, how can I help you today? created_at: '2024-01-01T00:00:00Z' has_replies: true id: msg_0aBcDeFgHiJkLmNoPqRsTu idempotency_key: 01234567-89ab-cdef-0123-456789abcdef legacy_agent: string metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu reactions: - payload: key: value type: emoji_reaction user: string rendering_mode: reply replies: - {} replies_after_cursor: string replies_before_cursor: string reply_count: 1 reply_to: {} sandbox: string team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: string user: string type: object sandbox: description: ID of the developer sandbox this message belongs to (`dsb_...`). `null` for non-sandbox messages. example: string type: string team: description: ID of the team this message is scoped to (`tem_...`). `null` if the message is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this message belongs to (`thr_...`). `null` for messages not yet associated with a thread. example: string type: string user: description: The human user who sent this message. Returns a public ID string (`usr_...`) when the association is not preloaded, or an expanded user object when it is. `null` for messages sent by agents. example: string type: string required: - id type: object thread_id: example: string type: string type: object x-auth: - bearer - description: 'Channel for real-time custom object collaboration. Clients join `api:object:{object_id}` to receive the current object state and subscribe to field-level updates. Mutations are sent as key:value maps.' joins: - description: null name: join_by_id params: example: object_id: string properties: object_id: example: string type: string required: - object_id type: object pattern: api:object:{object_id} returns: type: object - description: null name: join_by_row_key params: example: row_key: string schema_type: string properties: row_key: example: string type: string schema_type: example: string type: string required: - row_key - schema_type type: object pattern: api:object:{schema_type}:{row_key} returns: type: object messages: - description: null event: save params: properties: {} type: object returns: description: 'Empty acknowledgement payload returned by channel message handlers that produce no data. The wire envelope is `{"status": "ok", "response": {}}`.' properties: {} type: object - description: null event: update_fields params: example: fields: {} properties: fields: example: {} type: object required: - fields type: object returns: description: Response returned after updating one or more fields on a custom object. Confirms the object that was modified and the field values that were applied. example: fields: key: value id: cobj_0aBcDeFgHiJkLmNoPqRsTu properties: fields: description: Map of field names to their new values as applied during the update. Only the fields that were included in the update request are present. example: key: value type: object id: description: ID of the custom object that was updated (`cobj_...`). example: cobj_0aBcDeFgHiJkLmNoPqRsTu type: string required: - fields - id type: object name: ApiObjectChannel pushes: - description: null event: object_created payload: example: fields: {} id: string properties: fields: example: {} type: object id: example: string type: string type: object - description: null event: object_updated payload: example: fields: {} id: string properties: fields: example: {} type: object id: example: string type: string type: object x-auth: - bearer - description: "Phoenix channel for real-time activity feed updates.\n\nClients join a topic scoped to an agent or org and receive\n`new_entry` events as feed entries are created.\n\n## Topics\n\n * `\"api:activity_feed:agent:{agent_user_id}\"` — entries for a specific agent\n * `\"api:activity_feed:org:{org_id}\"` — entries for an entire org/tenant" joins: - description: Join an agent-scoped activity feed name: join_agent params: example: agent_id: string properties: agent_id: example: string type: string required: - agent_id type: object pattern: api:activity_feed:agent:{agent_id} returns: type: object - description: Join an org-scoped activity feed name: join_org params: example: org_id: string properties: org_id: example: string type: string required: - org_id type: object pattern: api:activity_feed:org:{org_id} returns: type: object messages: - description: List activity feed entries with cursor-based pagination event: list_entries params: example: after_cursor: string before_cursor: string kind: string level: string limit: 1 properties: after_cursor: example: string type: string before_cursor: example: string type: string kind: example: string type: string level: example: string type: string limit: example: 1 type: integer type: object returns: description: A paginated list of activity feed entries returned by a feed query, with cursors for navigating backward and forward through results. example: after_cursor: string before_cursor: string entries: - agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu has_more: true properties: after_cursor: description: Opaque cursor to pass as `after` to retrieve the next page of entries. `null` when this is the last page. example: string type: string before_cursor: description: Opaque cursor to pass as `before` to retrieve the previous page of entries. `null` when this is the first page. example: string type: string entries: description: Array of activity feed entry objects for the current page, ordered by time descending. example: - agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu items: description: A single event record in an activity feed, capturing what happened, who caused it, and which resources were involved. example: agent: agi_0aBcDeFgHiJkLmNoPqRsTu app: dap_0aBcDeFgHiJkLmNoPqRsTu attachments: - {} automation_run: atr_0aBcDeFgHiJkLmNoPqRsTu content: The agent completed the task successfully. correlation_id: 01234567-89ab-cdef-0123-456789abcdef created_at: '2024-01-01T00:00:00Z' id: afe_0aBcDeFgHiJkLmNoPqRsTu kind: agent_step level: info metadata: key: value org: org_0aBcDeFgHiJkLmNoPqRsTu routine_run: arr_0aBcDeFgHiJkLmNoPqRsTu sandbox: string session_record: ase_0aBcDeFgHiJkLmNoPqRsTu team: tem_0aBcDeFgHiJkLmNoPqRsTu thread: thr_0aBcDeFgHiJkLmNoPqRsTu title: Example Title updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: agent: description: The agent that produced this event. Returns an agent ID (`agi_...`) by default, or an expanded agent object when the association is loaded. `null` if no agent is associated. example: agi_0aBcDeFgHiJkLmNoPqRsTu oneOf: - description: An AI agent that can be configured with tools, routines, and skills, and invoked to handle conversations or tasks. example: acl: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user app: dap_0aBcDeFgHiJkLmNoPqRsTu created_at: '2024-01-01T00:00:00Z' default_model: claude-3-7-sonnet-latest email: user@example.com id: agi_0aBcDeFgHiJkLmNoPqRsTu identity: You are a helpful assistant that answers questions about ArchAstro products. last_applied_template_config: cfg_0aBcDeFgHiJkLmNoPqRsTu lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name originator: deploy-pipeline phone_number: '+15555550123' sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu source_solution: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string team: tem_0aBcDeFgHiJkLmNoPqRsTu updated_at: '2024-01-01T00:00:00Z' user: usr_0aBcDeFgHiJkLmNoPqRsTu properties: acl: description: Access control list for the agent. Contains a `grants` array where each entry specifies `principal_type`, `principal`, and `actions`. `null` when no ACL restrictions are applied and the agent is accessible to all members of its scope. example: add: - actions: - read - write principal: string principal_type: user grants: - actions: - read - write principal: string principal_type: user remove: - principal: string principal_type: user properties: add: description: 'Patch mode: grants to add or merge into the existing list. Cannot be combined with `grants`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array grants: description: 'Replace mode: the complete new list of grants that replaces all existing entries. Send an empty array (`[]`) to clear all grants. Cannot be combined with `add` or `remove`.' example: - actions: - read - write principal: string principal_type: user items: description: A single access-control grant that pairs a principal with the set of actions it is allowed to perform. example: actions: - read - write principal: string principal_type: user properties: actions: description: Array of action strings the principal is permitted to perform, e.g. `["read", "write"]`. Must contain at least one entry. example: - read - write items: type: string type: array principal: description: The identifier of the principal. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`; omit entirely when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal receiving the grant. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - actions - principal_type type: object type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' example: - principal: string principal_type: user items: description: Identifies a principal to be removed from an access-control list. example: principal: string principal_type: user properties: principal: description: The identifier of the principal to remove. A string ID for `"user"`, `"team"`, `"org"`, and `"agent"` types; one of `"admin"`, `"member"`, or `"viewer"` for `"org_role"`. Omit when `principal_type` is `"everyone"`. example: string type: string principal_type: description: The kind of principal to remove. One of `"user"`, `"team"`, `"org"`, `"org_role"`, `"agent"`, or `"everyone"`. example: user type: string required: - principal_type type: object type: array type: object app: description: ID of the application that owns this agent (`dap_...`). example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string created_at: description: When the agent was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string default_model: description: Default LLM model identifier used by this agent when no model is specified at runtime (e.g. `"claude-3-7-sonnet-latest"`). example: claude-3-7-sonnet-latest type: string email: description: Email address provisioned for this agent. `null` if email delivery is not configured. example: user@example.com type: string id: description: Agent ID (`agi_...`). example: agi_0aBcDeFgHiJkLmNoPqRsTu type: string identity: description: System-level identity prompt that shapes the agent's persona and behavior. example: You are a helpful assistant that answers questions about ArchAstro products. type: string last_applied_template_config: description: ID of the AgentTemplate config (`cfg_...`) this agent was last provisioned or updated from. `null` for manually created agents. example: cfg_0aBcDeFgHiJkLmNoPqRsTu type: string lookup_key: description: Stable, user-defined identifier for this agent within the application. Unique per app. example: string type: string metadata: description: Arbitrary key-value metadata attached to the agent. Not interpreted by the platform. example: key: value type: object name: description: Human-readable display name for the agent. `null` if not set. example: Example Name type: string org: description: ID of the organization this agent belongs to (`org_...`). `null` if the agent is not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the organization this agent belongs to. `null` when the agent is not org-scoped or when the org association was not preloaded. example: Example Name type: string originator: description: Free-form label identifying the source or author that created this agent (e.g. a username or pipeline name). example: deploy-pipeline type: string phone_number: description: Phone number provisioned for this agent. `null` if SMS is not configured. example: '+15555550123' type: string sandbox: description: ID of the sandbox environment this agent is scoped to (`dsb_...`). `null` in production deployments. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string source_solution: description: Source Solution and AgentTemplate summary for agents provisioned from a Solution. Includes `upgrade_available`, `latest_version`, and `latest_solution` so you can render an upgrade badge without a separate dry-run call. `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted. Populated only on single-agent GET responses, never on list endpoints. example: solution: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string template: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: solution: description: Summary of the parent Solution, including `upgrade_available`, `latest_version`, and `latest_solution` when a newer system-scoped version is available for the agent's org-scoped Solution. example: category_keys: - string created_at: '2024-01-01T00:00:00Z' description: An example description. id: id_0aBcDeFgHiJkLmNoPqRsTu kind: Solution latest_solution: id_0aBcDeFgHiJkLmNoPqRsTu latest_version: 1.0.0 lookup_key: string metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_logo: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 org_name: Example Name org_slug: example-slug owners: - string readme_url: https://example.com solution_id: 01234567-89ab-cdef-0123-456789abcdef solution_version: 1.2.0 tag_keys: - string template_kind: AgentTemplate templates: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string updated_at: '2024-01-01T00:00:00Z' upgrade_available: true virtual_path: string properties: category_keys: description: Category tag keys declared in the Solution body, used to group Solutions in the catalog. An empty array when the body declares none. example: - string items: type: string type: array created_at: description: When the Solution config was first imported (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Short tagline or summary declared in the Solution body, used as the card subhead in catalog UIs. `null` when the Solution body does not set one. example: An example description. type: string id: description: Solution config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Resource type. Always `"Solution"`. example: Solution type: string latest_solution: description: When `upgrade_available` is `true`, the system-scope Solution config ID (`cfg_...`) that should be used as the upgrade source. `null` otherwise. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string latest_version: description: When `upgrade_available` is `true`, the higher system-scope `solution_version` available to upgrade to. `null` otherwise. example: 1.0.0 type: string lookup_key: description: The lookup key stored on the Solution config, if one was assigned during import. `null` when no lookup key was set. example: string type: string metadata: description: Arbitrary key-value metadata declared in the Solution body (e.g. category or display hints). Present as an empty object when the body declares none. example: key: value type: object name: description: Human-facing display name declared in the Solution body. `null` when the Solution body does not set one. example: Example Name type: string org: description: Organization ID (`org_...`) that owns this Solution config, when the Solution is scoped to a specific org. `null` for system-scope (app-level) Solutions. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_logo: description: Canonical image-source object for the resolved `org`'s logo, used as the principal category section glyph. Carries the signed `url` plus a `refresh_url`. `null` when `org_slug` is `null` or the org has no logo. example: file: fil_0aBcDeFgHiJkLmNoPqRsTu height: 600 media: med_0aBcDeFgHiJkLmNoPqRsTu mime_type: application/json refresh_url: https://example.com url: https://example.com width: 800 properties: file: description: ID of the underlying storage file (`fil_...`). `null` when the image is not backed by a platform storage file. example: fil_0aBcDeFgHiJkLmNoPqRsTu type: string height: description: Height of the image in pixels. `null` if not known. example: 600 type: integer media: description: ID of the associated media record (`med_...`). `null` when the image is not linked to a media entity. example: med_0aBcDeFgHiJkLmNoPqRsTu type: string mime_type: description: MIME type of the image, e.g. `"image/png"` or `"image/jpeg"`. `null` if not known. example: application/json type: string refresh_url: description: Endpoint URL you can call to obtain a fresh signed `url` when the current one has expired. `null` if the URL does not require refreshing. example: https://example.com type: string url: description: Signed or public URL for downloading the image. May be time-limited; use `refresh_url` to obtain a new URL when this one expires. example: https://example.com type: string width: description: Width of the image in pixels. `null` if not known. example: 800 type: integer type: object org_name: description: Display name of the resolved `org`. Pairs with `org_slug` as the principal catalog category's label. `null` when `org_slug` is `null`. example: Example Name type: string org_slug: description: Resolved slug of the Solution body's `org` (the publishing organization), when set and it resolves to a real org visible to the viewer. When present this is the Solution's principal catalog category key — clients group the Solution under this org ahead of `category_keys`. `null` when the body has no `org` or it doesn't resolve. example: example-slug type: string owners: description: 'Owner scopes this Solution appears under. Members: `"system"` (app-level system scope) and/or `"org"` (viewer''s org scope).' example: - string items: type: string type: array readme_url: description: Relative path to the public README endpoint with a signed token already embedded. `null` when the Solution has no README. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string solution_id: description: Stable UUID declared in the Solution body, used to identify the same logical Solution across multiple installed copies and owner scopes. `null` when the body omits it. example: 01234567-89ab-cdef-0123-456789abcdef type: string solution_version: description: Semver string declared in the Solution body (e.g. `"1.2.0"`). `null` when the body does not declare a version. example: 1.2.0 type: string tag_keys: description: Freeform tag keys declared in the Solution body. An empty array when the body declares none. example: - string items: type: string type: array template_kind: description: Wrapped template kind — `"AgentTemplate"`, `"AutomationTemplate"`, `"AgentRoutineTemplate"`, `"AgentToolTemplate"`, `"AgentComputerTemplate"`, or `"SolutionTemplateRef"` for ref-mode bundles. example: AgentTemplate type: string templates: description: Template configs bundled by this Solution, in declaration order — the first entry is the deployable template the Solution wraps; the rest are sibling templates the wrapped template references. example: - description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string items: description: Identity and display metadata for a single template bundled by a Solution, used to represent each wrapped or sibling template at template granularity. example: description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: AgentTemplate lookup_key: string name: Example Name readme_url: https://example.com virtual_path: string properties: description: description: Short prose blurb from the template body's `description:` field. `null` when the body doesn't set one. Used as the card subhead in the Library carousel. example: An example description. type: string display_name: description: Human-facing label from the template body's `display_name:` field. `null` when the body doesn't set one. Library carousels use this for the card title, falling back to a humanized `name`. example: Example Name type: string id: description: Template config ID (`cfg_...`). `null` for inline-only templates. example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Template config kind, or `SolutionTemplateRef` / `SolutionTemplatePath` when unresolved. example: AgentTemplate type: string lookup_key: description: Lookup key stamped on the template config at import time. `null` when no lookup key was assigned. example: string type: string name: description: Canonical name from the template body. For `AgentTemplate` this doubles as the human-facing label; for `AgentToolTemplate` it's the LLM-facing tool function identifier (snake_case); for `AgentRoutineTemplate` it's the routine identifier (kebab-case). Clients rendering carousels should prefer `display_name` and fall back to humanizing `name`. example: Example Name type: string readme_url: description: Relative path to the public README endpoint with a signed token already embedded, scoped to this template's bundled markdown asset. `null` when the Solution body's `templates[].readme_path` is unset for this entry. Token expires in 1 hour — refresh via `GET /api/v1/solutions/:solution`. example: https://example.com type: string virtual_path: description: Stable virtual path assigned to the template config. `null` when no virtual path was set. example: string type: string required: - kind type: object type: array updated_at: description: When the Solution config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string upgrade_available: description: '`true` when this Solution is installed at the viewer''s org scope and the app-level system scope carries a higher `solution_version`. Always `false` for system-only rows.' example: true type: boolean virtual_path: description: The stable virtual path assigned to this Solution config, used as the deduplication key when the same Solution appears under multiple owner scopes. `null` when unset. example: string type: string required: - id - kind - owners - templates - upgrade_available type: object template: description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. example: created_at: '2024-01-01T00:00:00Z' description: An example description. display_name: Example Name id: id_0aBcDeFgHiJkLmNoPqRsTu kind: agent_tool_template lookup_key: string name: Example Name updated_at: '2024-01-01T00:00:00Z' virtual_path: string properties: created_at: description: When this template config was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string description: description: Description of the template from the config body. `null` if the current version has no `description` field. example: An example description. type: string display_name: description: Human-readable display name from the config body. `null` if the current version has no `display_name` field. example: Example Name type: string id: description: Template config ID (`cfg_...`). example: id_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: Config kind identifier for this template (e.g. `"agent_tool_template"`). example: agent_tool_template type: string lookup_key: description: Stable lookup key assigned to this template config. `null` if no lookup key is set. example: string type: string name: description: Template name as stored in the config body. `null` if the current version has no `name` field. example: Example Name type: string updated_at: description: When this template config was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string virtual_path: description: Virtual filesystem path for this template config. `null` if not set. example: string type: string required: - id - kind type: object required: - solution - template type: object team: description: ID of the team that owns this agent (`tem_...`). `null` if the agent is not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string updated_at: description: When the agent was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: ID of the user that owns this agent (`usr_...`). `null` if the agent is not user-scoped. example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string required: - id type: object - type: string app: description: ID of the application that produced this entry (`dap_...`). `null` if not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string attachments: description: Array of attachment objects associated with this entry. Each attachment has a `type` field (e.g. `"file"`, `"task"`, `"artifact"`) and type-specific additional fields. Empty array when there are no attachments. example: - {} items: type: object type: array automation_run: description: ID of the automation run that produced this entry (`atr_...`). `null` if not produced by an automation run. example: atr_0aBcDeFgHiJkLmNoPqRsTu type: string content: description: A longer explanation of the event rendered as Markdown. `null` if no additional content is available. example: The agent completed the task successfully. type: string correlation_id: description: An opaque string used to group related entries together. Entries sharing the same `correlation_id` belong to a single logical operation. `null` if not correlated. example: 01234567-89ab-cdef-0123-456789abcdef type: string created_at: description: When this activity feed entry was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string id: description: Activity feed entry ID (`afe_...`). example: afe_0aBcDeFgHiJkLmNoPqRsTu type: string kind: description: The type of event this entry represents, e.g. `"agent_step"` or `"tool_call"`. Determines how `title`, `content`, and `attachments` should be interpreted. example: agent_step type: string level: description: Severity level of the event. One of `"info"`, `"warning"`, or `"error"`. `null` if no severity is set. example: info type: string metadata: description: Arbitrary key-value metadata stored on this entry. Returns an empty object when no metadata is set. example: key: value type: object org: description: ID of the organization this entry belongs to (`org_...`). `null` if not org-scoped. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string routine_run: description: ID of the agent routine run that produced this entry (`arr_...`). `null` if not produced by a routine run. example: arr_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox: description: Identifier of the sandbox environment this entry was generated in. `null` in production contexts. example: string type: string session_record: description: ID of the agent session record this entry belongs to (`ase_...`). `null` if not part of an agent session. example: ase_0aBcDeFgHiJkLmNoPqRsTu type: string team: description: ID of the team this entry is associated with (`tem_...`). `null` if not team-scoped. example: tem_0aBcDeFgHiJkLmNoPqRsTu type: string thread: description: ID of the thread this entry is associated with (`thr_...`). `null` if not linked to a thread. example: thr_0aBcDeFgHiJkLmNoPqRsTu type: string title: description: A one-line human-readable summary of the event. `null` if the entry has no title. example: Example Title type: string updated_at: description: When this activity feed entry was last modified (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: description: The user who triggered this event. Returns a user ID (`usr_...`) by default, or an expanded user object when the association is loaded. `null` if no user is associated. example: usr_0aBcDeFgHiJkLmNoPqRsTu oneOf: - description: A platform user account. Represents a human or system actor that can own threads, belong to an organization, and interact with the API. example: alias: jdoe app: dap_0aBcDeFgHiJkLmNoPqRsTu app_name: Example Name email: user@example.com id: usr_0aBcDeFgHiJkLmNoPqRsTu is_system_user: true metadata: key: value name: Example Name org: org_0aBcDeFgHiJkLmNoPqRsTu org_name: Example Name org_role: member sandbox: dsb_0aBcDeFgHiJkLmNoPqRsTu sandbox_name: Example Name properties: alias: description: Short handle or alias for the user. `null` if not set. example: jdoe type: string app: description: ID of the app this user (and their access token) is scoped to (`dap_...`). `null` if the user is not scoped to an app. example: dap_0aBcDeFgHiJkLmNoPqRsTu type: string app_name: description: Display name of the user's app. `null` when the app association was not preloaded by the caller. example: Example Name type: string email: description: Email address of the user. example: user@example.com type: string id: description: User ID (`usr_...`). example: usr_0aBcDeFgHiJkLmNoPqRsTu type: string is_system_user: description: '`true` if this account is an internal system user rather than a human. System users are created automatically by the platform.' example: true type: boolean metadata: description: Arbitrary key-value metadata attached to the user. Defaults to an empty object. example: key: value type: object name: description: Full display name of the user. `null` if the user has not set a name. example: Example Name type: string org: description: ID of the organization this user belongs to (`org_...`). `null` if the user is not a member of any organization. example: org_0aBcDeFgHiJkLmNoPqRsTu type: string org_name: description: Display name of the user's organization. `null` when the user is not in an org, or when the org association was not preloaded by the caller. example: Example Name type: string org_role: description: Role of the user within their organization. One of `"admin"`, `"member"`, or `"viewer"`. `null` when the user is not a member of any organization. example: member type: string sandbox: description: ID of the sandbox environment this user is scoped to (`sbx_...`). `null` for production users. example: dsb_0aBcDeFgHiJkLmNoPqRsTu type: string sandbox_name: description: Display name of the user's sandbox environment. `null` for production users, or when the sandbox association was not preloaded by the caller. example: Example Name type: string required: - id type: object - type: string required: - id type: object type: array has_more: description: Whether additional entries exist beyond the current page. When `true`, use `after_cursor` to fetch the next page. example: true type: boolean required: - entries - has_more type: object name: ApiActivityFeedChannel pushes: - description: null event: new_entry payload: example: entry: {} properties: entry: example: {} type: object type: object x-auth: - bearer x-token-flows: login: constructor: with_credentials description: Create a client by logging in with email/password operation_name: login operation_tag: auth requires: - publishable_key refresh: description: Refresh an expired access token operation_name: refresh operation_tag: auth