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 s2s API version: v1 tags: - name: s2s paths: /api/v1/teams/{team}/invites: post: description: 'Generates a new invite code for the specified team using server-to-server authentication. Unlike the user-facing create endpoint, this variant does not require the caller to be a team member — it is intended for privileged back-end services acting on behalf of your platform. The returned code is a short alphanumeric string that users can present to join the team. Each call produces a new code; previously issued codes are not invalidated by this request.' operationId: post_api_v1_teams__team_invites parameters: - description: Team ID (`tm_...`) identifying the team for which to generate the invite code. example: string in: path name: team required: true schema: type: string responses: '200': content: application/json: schema: description: The newly created team invite containing the join code. example: code: string properties: code: description: Six-character alphanumeric join code. Present this value to the join-team endpoint to add a user to the team. example: string type: string required: - code type: object description: Successful response '401': description: Unauthorized '404': description: Team not found summary: Create a team invite (server-to-server) tags: - s2s x-auth: - secret_key /api/v1/teams/{team}/members: post: description: 'Adds a user or agent as a member of the specified team and returns the new membership with HTTP 201. Provide exactly one of `user` or `agent` — supplying both or neither returns a 400 error. The caller must have permission to manage the team. When an `app` is provided, the request is scoped to that app and the caller must hold a valid app-scoped token. The default role is `"member"` when `role` is omitted.' operationId: post_api_v1_teams__team_members parameters: - description: Team ID (`team_...`). The team to add the member to. example: string in: path name: team required: true schema: type: string requestBody: content: application/json: schema: example: agent: string role: string user: string properties: agent: description: Agent ID (`agt_...`) to add as a member. Provide exactly one of `user` or `agent`. example: string type: string role: description: Role to assign. One of `"owner"`, `"admin"`, or `"member"`. Defaults to `"member"` when omitted. example: string type: string user: description: User ID (`usr_...`) to add as a member. Provide exactly one of `user` or `agent`. example: string type: string type: object required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TeamMembership' description: Successful response '401': description: Unauthorized '404': description: Team or member not found '422': description: Validation failed summary: Add a member to a team tags: - s2s x-auth: - secret_key components: schemas: ImageSource: description: Resolved metadata for an image, including its delivery URL, dimensions, and optional references to the underlying storage file or media record. 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 AclRemoveTarget: 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 Agent: 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: $ref: '#/components/schemas/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. 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: $ref: '#/components/schemas/AgentSourceSolution' 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. 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 SolutionTemplateSummary: 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 TeamMembership: description: A record representing a user's or agent's membership in a team, including their resolved identity details and role. 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 created_at: '2024-01-01T00:00:00Z' id: tmb_0aBcDeFgHiJkLmNoPqRsTu joined_at: '2024-01-01T00:00:00Z' metadata: key: value 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 role: member team: {} type: user updated_at: '2024-01-01T00:00:00Z' 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: $ref: '#/components/schemas/Agent' description: The agent associated with this membership, as an expanded agent object. `null` when the member is a user, the type is unknown, or the association is not preloaded. created_at: description: When this membership record was created (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string id: description: Team membership ID (`tmb_...`). example: tmb_0aBcDeFgHiJkLmNoPqRsTu type: string joined_at: description: When the principal joined the team (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string metadata: description: Arbitrary key-value metadata attached to this membership record. `null` if no metadata has been set. example: key: value type: object name: description: Display name of the member, derived from the associated user or agent. `null` if the principal is unknown. example: Example Name type: string profile_picture: $ref: '#/components/schemas/ImageSource' description: Profile picture of the member, derived from the associated user or agent. `null` if not set or principal is unknown. role: description: The member's role within the team. One of `"owner"`, `"admin"`, or `"member"`. example: member type: string team: description: The team this membership belongs to, as an expanded team object. `null` when the team association is not preloaded. example: {} type: object type: description: Resolved principal type. One of `"user"`, `"agent"`, or `"unknown"` when the principal cannot be determined. example: user type: string updated_at: description: When this membership record was last updated (ISO 8601). example: '2024-01-01T00:00:00Z' format: date-time type: string user: $ref: '#/components/schemas/User' description: The user associated with this membership, as an expanded user object. `null` when the member is an agent, the type is unknown, or the association is not preloaded. required: - id type: object UpgradeTemplateSummary: description: Compact summary of an AgentTemplate config referenced by an agent upgrade or source-solution response. 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 AgentSourceSolution: description: 'Summary of the Solution and AgentTemplate that an agent was last provisioned from. Returned on single-agent responses; `null` for hand-built agents and agents whose tracked template or parent Solution has been deleted.' 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: $ref: '#/components/schemas/SolutionSummary' 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. template: $ref: '#/components/schemas/UpgradeTemplateSummary' description: Summary of the AgentTemplate config (`cfg_...`) the agent was last provisioned or updated from. required: - solution - template type: object Acl: description: An access-control list payload that supports either full replacement or targeted patch operations on a resource's grants. 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`.' items: $ref: '#/components/schemas/AclGrant' 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`.' items: $ref: '#/components/schemas/AclGrant' type: array remove: description: 'Patch mode: principals whose grants should be removed from the existing list. Cannot be combined with `grants`.' items: $ref: '#/components/schemas/AclRemoveTarget' type: array type: object AclGrant: 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 SolutionSummary: description: A catalog entry for an imported Solution, including its display metadata, bundled templates, owner scopes, and any available upgrade information. 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: $ref: '#/components/schemas/ImageSource' 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. 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. items: $ref: '#/components/schemas/SolutionTemplateSummary' 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 User: 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 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