# cliq > Ready-made AI teams. Your requirements. No code. Get started, concepts, CLI, Hub API, and Daemon API. - [What is Cliq?](https://docs.getcliq.io/index.md): Ready-made AI teams. Your requirements. No code. From first install to production pipelines in three commands. - [Concepts](https://docs.getcliq.io/concepts.md): Teams, phases, agent types, roles (LLM only), depends_on, gates, and upstream outputs. - [Get started](https://docs.getcliq.io/get-started.md): Install Cliq, sign in, and finish your first team run in a few minutes. - [Running teams](https://docs.getcliq.io/running-teams.md): Install, assemble, provide inputs, run, inspect, and resume Cliq teams on the daemon. - [Workflows & phases](https://docs.getcliq.io/workflows.md): Phase types in team.yml — standard, gate, team, and map — plus depends_on and concurrency. - [Agents](https://docs.getcliq.io/agents.md): Built-in agents, agent types, and where to find the connector action API reference. - [Auth](https://docs.getcliq.io/auth.md): Credentials, grants, and which Hub plane to call. - [Scopes](https://docs.getcliq.io/scopes.md): Package namespaces (@acme/…) for teams on CliqHub. - [Realms](https://docs.getcliq.io/realms.md): One daemon, one realm — the enrollment model, realm switching, and what happens to your data. - [Hub Control Plane](https://docs.getcliq.io/hub-api.md): Public Hub API, realms, daemon enroll, push dispatch. - [create_page](https://docs.getcliq.io/api-reference/confluence/create_page.md): Create a page in a space - [get_page](https://docs.getcliq.io/api-reference/confluence/get_page.md): Fetch a page by ID - [search](https://docs.getcliq.io/api-reference/confluence/search.md): Search pages with CQL - [update_page](https://docs.getcliq.io/api-reference/confluence/update_page.md): Update an existing page - [deliver](https://docs.getcliq.io/api-reference/curl/deliver.md): HTTP deliver (no `action` field — use `target_entries`) - [fetch](https://docs.getcliq.io/api-reference/curl/fetch.md): HTTP fetch (no `action` field — use `sources`) - [get_events](https://docs.getcliq.io/api-reference/datadog/get_events.md): Fetch events - [get_monitors](https://docs.getcliq.io/api-reference/datadog/get_monitors.md): List monitors - [post_event](https://docs.getcliq.io/api-reference/datadog/post_event.md): Post a custom event - [query_metrics](https://docs.getcliq.io/api-reference/datadog/query_metrics.md): Query time-series metrics - [configure](https://docs.getcliq.io/api-reference/email/configure.md): Configure this agent via phase inputs (no discrete actions). - [download](https://docs.getcliq.io/api-reference/gdrive/download.md): Download file or list folder (no `action` — use `sources`) - [upload](https://docs.getcliq.io/api-reference/gdrive/upload.md): Upload into a folder (no `action` — use `target_entries`) - [create_pr](https://docs.getcliq.io/api-reference/git/create_pr.md): Create a pull request on GitHub or Bitbucket - [add_note](https://docs.getcliq.io/api-reference/hubspot/add_note.md): Create an engagement note on a CRM object - [get_company](https://docs.getcliq.io/api-reference/hubspot/get_company.md): Fetch a company by ID - [get_contact](https://docs.getcliq.io/api-reference/hubspot/get_contact.md): Fetch a contact by ID or email - [get_deal](https://docs.getcliq.io/api-reference/hubspot/get_deal.md): Fetch a deal by ID - [search](https://docs.getcliq.io/api-reference/hubspot/search.md): Search contacts - [add_comment](https://docs.getcliq.io/api-reference/jira/add_comment.md): Post a comment to an issue - [create_issue](https://docs.getcliq.io/api-reference/jira/create_issue.md): Create Stories from dispatch.json jobs (or update description when jira_key set) - [get_comments](https://docs.getcliq.io/api-reference/jira/get_comments.md): Fetch all comments on an issue - [get_issue](https://docs.getcliq.io/api-reference/jira/get_issue.md): Fetch a single issue by key (expand=names,renderedFields) - [get_issue_tree](https://docs.getcliq.io/api-reference/jira/get_issue_tree.md): Fetch issue + children (full child GET with expand); write planning artifacts - [search](https://docs.getcliq.io/api-reference/jira/search.md): Run a JQL query via /rest/api/3/search/jql (paged) - [transition](https://docs.getcliq.io/api-reference/jira/transition.md): Trigger a workflow status transition - [update_fields](https://docs.getcliq.io/api-reference/jira/update_fields.md): Alias of update_issue — PUT job.description on existing keys - [update_issue](https://docs.getcliq.io/api-reference/jira/update_issue.md): PUT job.description on existing keys in dispatch.json (requires jira_key) - [download](https://docs.getcliq.io/api-reference/s3/download.md): Download object (no `action` — use `sources`) - [upload](https://docs.getcliq.io/api-reference/s3/upload.md): Upload object (no `action` — use `target_entries`) - [configure](https://docs.getcliq.io/api-reference/slack/configure.md): Configure this agent via phase inputs (no discrete actions). - [add_comment](https://docs.getcliq.io/api-reference/zendesk/add_comment.md): Post a comment on a ticket - [get_comments](https://docs.getcliq.io/api-reference/zendesk/get_comments.md): Fetch comments on a ticket - [get_ticket](https://docs.getcliq.io/api-reference/zendesk/get_ticket.md): Fetch a ticket by ID - [search](https://docs.getcliq.io/api-reference/zendesk/search.md): Run a Zendesk search query - [update_status](https://docs.getcliq.io/api-reference/zendesk/update_status.md): Change ticket status - [CLI](https://docs.getcliq.io/cli.md): Every cliq command, subcommand, and option. - [Daemon (cliqd)](https://docs.getcliq.io/cliqd.md): The long-lived daemon process that executes pipelines — options, modes, signals, tokens, and data paths. - [Local Development](https://docs.getcliq.io/local-development.md): Develop, test, and iterate on teams locally with cliqd --no-login — including HUG gates. - [Building Agents](https://docs.getcliq.io/building-agents.md): Create custom agents with the cliq SDK — manifest, handlers, agents path, and Hub registration. - [Logging](https://docs.getcliq.io/guides/logging.md): Daemon log, per-run log files, Hub #logs mirroring, and agent ctx.log. - [JIRA](https://docs.getcliq.io/integrations/jira.md): Dispatch Cliq teams from any JIRA issue and post run status back as comments. - [CliqHub API](https://docs.getcliq.io/hub-api/overview.md): The HTTP API of CliqHub: base URL, request and reply shape, authentication, and what each resource is for. - [Errors](https://docs.getcliq.io/hub-api/errors.md): Every error code the CliqHub API returns, with its HTTP status and what it means. - [Check service health](https://docs.getcliq.io/api-reference/system/check-service-health.md): Answers when CliqHub is up, with its version, the API version, when it started, and its command queue counts. Needs no token; load balancers and `cliq` use it. - [Seed an empty deployment](https://docs.getcliq.io/api-reference/system/seed-an-empty-deployment.md): Re-runs the seed of built-in data (system agents, default settings, built-in notification rules). Safe to run again; existing data is kept. Site administrators only. - [Get a realm's dispatch public key](https://docs.getcliq.io/api-reference/auth/get-a-realms-dispatch-public-key.md): Returns a realm's dispatch public key, creating the key pair if the realm has none yet. Daemons check CliqHub's dispatch tokens with it. - [List your tokens](https://docs.getcliq.io/api-reference/auth/list-your-tokens.md): Lists your tokens (not revoked), newest first, optionally of one `type` or matching `query`. With `realm_id`, the realm's tokens instead (realm admins). - [Generate a token](https://docs.getcliq.io/api-reference/auth/generate-a-token.md): Mints a token by `type` and answers `201` with it (shown only here): - [Rotate a realm's dispatch key](https://docs.getcliq.io/api-reference/auth/rotate-a-realms-dispatch-key.md): Replaces a realm's dispatch key pair. Daemons pick up the new public key when they refresh the access list; dispatch tokens signed with the old key stop working. - [Rotate a token](https://docs.getcliq.io/api-reference/auth/rotate-a-token.md): Replaces a token's secret and returns the new one; the old secret stops working at once and the token keeps its id, name and permissions. `type: a2a` with `realm_id` replaces the realm's A2A token. - [Validate a token](https://docs.getcliq.io/api-reference/auth/validate-a-token.md): Checks a token someone presented and says whose it is. Daemons use this to accept `cliq_tok_…` tokens from callers on other hosts. An invalid token is not an error: the reply has `valid: false`. - [Revoke a token](https://docs.getcliq.io/api-reference/auth/revoke-a-token.md): Revokes one of your tokens at once. A realm admin may also revoke a realm token of their realm by sending `realm_id`. - [List users](https://docs.getcliq.io/api-reference/users/list-users.md): Lists users: an organization's members with `org_id`; with `realm_id`, people you could invite to the realm (not yet members), searched with `query`; without either, every user (site administrators, paged and sortable) or just you. - [Get a user](https://docs.getcliq.io/api-reference/users/get-a-user.md): Returns one user with counts of what they own (scopes, teams, tokens) and their organizations. You may read yourself, or members of an organization you administer (not site administrators). - [Update a user](https://docs.getcliq.io/api-reference/users/update-a-user.md): Changes your profile (or, as an organization admin, a member's): display name, email, or preferences (merged into the existing ones). Without `user_id`, you. - [List organizations](https://docs.getcliq.io/api-reference/organizations/list-organizations.md): Lists the organizations you belong to, with your role and permissions in each. Site administrators get the full list (paged, sortable, filterable by `status`) unless they send `mine: true`. - [Get an organization](https://docs.getcliq.io/api-reference/organizations/get-an-organization.md): Returns one organization with its members, roles, scopes, your role, the owner and any pending owner invitation. - [List organization notification rules](https://docs.getcliq.io/api-reference/organizations/list-organization-notification-rules.md): Lists organization-wide notification rules (`org_id`), or a realm's with `realm_id` (see Realms, List realm notification rules). - [List reviewable targets](https://docs.getcliq.io/api-reference/organizations/list-reviewable-targets.md): Lists who can be picked as a reviewer or notification target in the organization (currently its notification channels; `query` filters by name). - [Get a role](https://docs.getcliq.io/api-reference/organizations/get-a-role.md): Returns one role of the organization. - [List scopes](https://docs.getcliq.io/api-reference/organizations/list-scopes.md): Lists scopes: those `user_id` may publish to (your own, or another member's with `org_id` as an organization admin), optionally only `org_id`'s. Without `user_id`, site administrators get the full scope catalog. - [List organization teams](https://docs.getcliq.io/api-reference/organizations/list-organization-teams.md): Lists the organization's team library, with the realms of the organization that use each team. - [List roles](https://docs.getcliq.io/api-reference/organizations/list-roles.md): Lists the organization's roles (built-in and custom) with their permissions and how many members have each. - [Create a role](https://docs.getcliq.io/api-reference/organizations/create-a-role.md): Creates a custom role with a slug, a name and permissions (see List permissions). Owner-only permissions cannot be given to a role. - [Create an organization](https://docs.getcliq.io/api-reference/organizations/create-an-organization.md): Site administrators create an organization for its future owner: an existing user (`owner.user_id`) or a person invited by email. The organization starts as `waiting_for_owner` with its default roles and scope, and the owner gets an invitation; it becomes `active` when they accept. `reactivate: true… - [Create a scope](https://docs.getcliq.io/api-reference/organizations/create-a-scope.md): Creates a scope for the organization. Its slug must be the organization's slug or start with it and a hyphen (`acme`, `acme-labs`). - [Add a team to an organization](https://docs.getcliq.io/api-reference/organizations/add-a-team-to-an-organization.md): Adds a team you can see to the organization's library (by `team_id`, or `scope` + `slug`), so its realms can use it. Adding a team already there answers `added: false`. - [Add a scope member](https://docs.getcliq.io/api-reference/organizations/add-a-scope-member.md): Lets a member of the organization publish to a scope. - [Set organization notification rules](https://docs.getcliq.io/api-reference/organizations/set-organization-notification-rules.md): Creates or changes an organization-wide rule that sends matching events to a channel of the organization. `event` is an exact type (`run.failed`), a family (`run.*`) or `*`. Built-in rules cannot be changed. - [Update an organization](https://docs.getcliq.io/api-reference/organizations/update-an-organization.md): Renames an organization (`display_name`) and/or makes an active member an owner (`owner_id`; owners and site administrators only). - [Update a role](https://docs.getcliq.io/api-reference/organizations/update-a-role.md): Changes a custom role's name and/or permissions. Built-in roles cannot be changed. - [Update a scope](https://docs.getcliq.io/api-reference/organizations/update-a-scope.md): Renames a scope, changes its visibility, or transfers it to another owner. - [Leave an organization](https://docs.getcliq.io/api-reference/organizations/leave-an-organization.md): You leave an organization. The last admin cannot leave; make someone else an admin first. - [Delete an organization](https://docs.getcliq.io/api-reference/organizations/delete-an-organization.md): Deletes an organization; its slug stays taken (a site administrator can restore it). Refused for personal organizations and while it still has teams or other blockers. - [Delete a role](https://docs.getcliq.io/api-reference/organizations/delete-a-role.md): Deletes a custom role. Refused for built-in and default roles, and while members still have the role. - [Delete a scope](https://docs.getcliq.io/api-reference/organizations/delete-a-scope.md): Deletes one of the organization's scopes. Refused for the default scope and while it has teams. - [Remove a member](https://docs.getcliq.io/api-reference/organizations/remove-a-member.md): Removes someone from an organization. The last admin cannot be removed. - [Remove an organization notification rule](https://docs.getcliq.io/api-reference/organizations/remove-an-organization-notification-rule.md): Deletes one notification rule by id. Built-in rules cannot be removed. - [Remove a team from an organization](https://docs.getcliq.io/api-reference/organizations/remove-a-team-from-an-organization.md): Removes a team from the organization's library. Refused while any of the organization's realms still has it on its team list. - [Remove a scope member](https://docs.getcliq.io/api-reference/organizations/remove-a-scope-member.md): Stops a user from publishing to a scope. Answers `removed: false` when they did not have it. - [List permissions](https://docs.getcliq.io/api-reference/organizations/list-permissions.md): Lists every permission a role can grant, and those reserved for owners. Use them with Create a role. Takes no body. - [List invitations](https://docs.getcliq.io/api-reference/invitations/list-invitations.md): Lists an organization's or realm's invitations, newest first by default, filtered by `status` or email `query`, 1-based pages of up to 100. - [Get an invitation](https://docs.getcliq.io/api-reference/invitations/get-an-invitation.md): Returns one invitation, with its delivery history. The invitation token is never shown. - [Preview an invitation](https://docs.getcliq.io/api-reference/invitations/preview-an-invitation.md): Shows what an invitation link is for (organization, realm, role, who invited, whether the invitee already has an account), for the page the link opens. Needs no sign-in; the token is the secret. - [Send an invitation](https://docs.getcliq.io/api-reference/invitations/send-an-invitation.md): Invites an email address to an organization (`target_type: org`, `org_id`) or a realm (`target_type: realm`, `realm_id`), with a role (`member` by default; `owner` for organizations only, by an owner; `operator` for realms only). Sending to an address that already has a pending invitation sends it a… - [Accept or decline an invitation](https://docs.getcliq.io/api-reference/invitations/accept-or-decline-an-invitation.md): Accepts or declines an invitation with its token. Someone without an account sends a `username` and `password` (and optionally `display_name`): their account is created and the reply includes a session `token`. Someone with an account must be signed in as the invited email. - [Revoke an invitation](https://docs.getcliq.io/api-reference/invitations/revoke-an-invitation.md): Cancels a pending invitation; its link stops working. - [List teams](https://docs.getcliq.io/api-reference/teams/list-teams.md): Lists teams in one of three modes: - [Get a team](https://docs.getcliq.io/api-reference/teams/get-a-team.md): Returns one team by `team_id`, or by `name` (with `scope`), with its version history, workflow, roles, agents, readme and inputs, and what you may do with it (`can_edit`, `can_delete`, `can_toggle_listing`). Send `version` for an older version. - [Get a team's phases](https://docs.getcliq.io/api-reference/teams/get-a-teams-phases.md): Returns the workflow phases of a version (the latest when `version_id` is omitted) and which version that is, so a client can show or pin it. - [List team versions](https://docs.getcliq.io/api-reference/teams/list-team-versions.md): Returns a team's version history (newest first) with changelogs and publish times, or with `latest_only` just the latest version. - [Create a team draft](https://docs.getcliq.io/api-reference/teams/create-a-team-draft.md): Creates a team as a draft in a scope you can publish to. With `manifest` (or `forked_from`, to start from another team's version) it also gets version 0.1.0. - [Rename a team](https://docs.getcliq.io/api-reference/teams/rename-a-team.md): Renames a team within its scope. Installed copies and past runs keep working; the old name is free for reuse at once. - [Update a team](https://docs.getcliq.io/api-reference/teams/update-a-team.md): Changes a team. By default (`save_as: version`) it mints the next version from `manifest` (or from the saved working copy): a patch bump, or `bump: minor | major`. `save_as: draft` saves the manifest as a working copy without a version; `discard` drops the working copy. A description alone changes o… - [Build a team with AI](https://docs.getcliq.io/api-reference/teams/build-a-team-with-ai.md): Builds a team with AI. Choose what to do with `action`: - [Download a team package](https://docs.getcliq.io/api-reference/teams/download-a-team-package.md): Downloads the package of a published version (the latest when `version` is omitted) as base64. Counts as one install for the team's install count (once a day per user). - [Install a team on daemons](https://docs.getcliq.io/api-reference/teams/install-a-team-on-daemons.md): Installs a published team on daemons: on `daemon_ids`, or on every online daemon of `realm_id`. CliqHub sends the install to each daemon and returns how each answered, with the queue item that records it. `agent_settings` are stored on the daemons with the team. To make a realm keep a team installed… - [Publish a team](https://docs.getcliq.io/api-reference/teams/publish-a-team.md): Publishes a version so it can be installed. For a new team, or one with no version yet, send the package as `data_base64` (a zip with `team.yml`, at most 10 MB); otherwise the latest version is published again with the new `visibility`, tags and description. `version` sets the number, or `bump` pick… - [Delete a team](https://docs.getcliq.io/api-reference/teams/delete-a-team.md): Deletes a team and all its versions from the registry. Daemons that installed it keep their copy. - [Delete a team version](https://docs.getcliq.io/api-reference/teams/delete-a-team-version.md): Deletes one published version and its package. The team and its other versions stay. - [Uninstall a team from daemons](https://docs.getcliq.io/api-reference/teams/uninstall-a-team-from-daemons.md): Removes a team from daemons: from `daemon_id` / `daemon_ids`, or from every daemon of `realm_id`. CliqHub marks the team uninstalled for those daemons first, then sends the uninstall, so it also works when a daemon no longer has it. To stop a realm from keeping the team, use Remove a team from a rea… - [Unpublish a team](https://docs.getcliq.io/api-reference/teams/unpublish-a-team.md): Takes a team back to draft and out of the catalog. Its versions are kept, and daemons that installed it keep it. - [List realms](https://docs.getcliq.io/api-reference/realms/list-realms.md): Lists the realms you are a member of, 50 per page by default (at most 100), across all your organizations or only `org_id`. Filter by exact `slug`, search with `query`, or `owned: me` for realms you own. - [Get a realm](https://docs.getcliq.io/api-reference/realms/get-a-realm.md): Returns one realm with its members, by `realm_id`, or by `slug` with `org_id` or `org_slug`. - [List realm members](https://docs.getcliq.io/api-reference/realms/list-realm-members.md): Lists a realm's members (people, daemons and groups) with their role; `member_type` narrows to one kind. - [List realm notification rules](https://docs.getcliq.io/api-reference/realms/list-realm-notification-rules.md): Lists notification rules: the realm's rules with `realm_id` (optionally one team's with `team_slug`; `effective: true` adds the organization rules that also apply), or the organization-wide rules with only `org_id`. - [Create a realm](https://docs.getcliq.io/api-reference/realms/create-a-realm.md): Creates a realm in an organization. You become its admin. The slug must be unique in the organization. - [Add a realm member](https://docs.getcliq.io/api-reference/realms/add-a-realm-member.md): Sets the role of someone who is already a member of the realm, or adds a group. People join a realm through Send an invitation, not here; daemons join with a realm token. `member_id` may be a user id, username or email. - [Add a team to a realm](https://docs.getcliq.io/api-reference/realms/add-a-team-to-a-realm.md): Adds a team to the realm's team list and installs it on the realm's online daemons, with the organization's and realm's agent settings. Daemons that come online later get it too. The team is added to the realm's organization first when you may do that. - [Set realm notification rules](https://docs.getcliq.io/api-reference/realms/set-realm-notification-rules.md): Creates or changes a rule that sends matching events to a channel: for the realm (or one of its teams) with `realm_id`, or organization-wide with only `org_id`. `event` is an exact type (`run.failed`), a family (`run.*`) or `*`. `recipients` picks who receives it for channels that address people. - [Update a realm](https://docs.getcliq.io/api-reference/realms/update-a-realm.md): Renames a realm. The slug does not change. - [Manage A2A for a realm](https://docs.getcliq.io/api-reference/realms/manage-a2a-for-a-realm.md): Manages a realm's A2A access, by `action`: `get` the settings, `update` them (turn A2A on or off, choose the agent mesh provider and its settings), or `mesh_connect`, `mesh_disconnect`, `mesh_refresh` the realm's mesh connection. The A2A token itself is minted with Generate a token (`type: a2a`). - [Delete a realm](https://docs.getcliq.io/api-reference/realms/delete-a-realm.md): Deletes a realm. Refused for your personal default realm and while runs are going in it. Its daemons stop belonging to it. - [Remove a realm member](https://docs.getcliq.io/api-reference/realms/remove-a-realm-member.md): Removes a person, daemon or group from a realm. The last admin cannot be removed. - [Remove a realm notification rule](https://docs.getcliq.io/api-reference/realms/remove-a-realm-notification-rule.md): Deletes one notification rule by id. - [Remove a team from a realm](https://docs.getcliq.io/api-reference/realms/remove-a-team-from-a-realm.md): Removes a team from the realm's team list and uninstalls it from the realm's online daemons. - [Get the realm access list](https://docs.getcliq.io/api-reference/daemons/get-the-realm-access-list.md): A daemon refreshes its realm's access list (who may call it from another host) and the public key it checks CliqHub's dispatch tokens with, for example after a key rotation. A token that does not grant the requested `realm_id` is refused with `403 forbidden`. - [List daemons](https://docs.getcliq.io/api-reference/daemons/list-daemons.md): Lists daemons: those of `realm_id`, or of every realm of `org_id` you can see. Filter by `status` or search hostname and id with `query`. - [Get a daemon](https://docs.getcliq.io/api-reference/daemons/get-a-daemon.md): Returns one daemon with its realms and last heartbeat. `daemon` is `null` when the daemon is offline. - [Register a daemon](https://docs.getcliq.io/api-reference/daemons/register-a-daemon.md): A daemon registers with its realm token, and registers again on every start. Send the `daemon_id` you got the first time to keep the same identity. The reply carries the realm's access list and the public key the daemon checks CliqHub's dispatch tokens with. A token that does not grant the requested… - [Report installed teams](https://docs.getcliq.io/api-reference/daemons/report-installed-teams.md): A daemon reports the teams it has installed, so CliqHub can show where each team is and agree on team ids: each team gets back the id to use (an existing record keeps its id; a new one takes the daemon's). Teams not on the realm's team list come back with `reason: not_in_realm`. With `complete: true… - [Acknowledge a command](https://docs.getcliq.io/api-reference/daemons/acknowledge-a-command.md): A daemon acknowledges a command CliqHub sent it (install, execute, cancel, …) with `ok` or `error`. CliqHub stops resending the command and shows the outcome. Acking an unknown or already-acked command changes nothing. - [Send a heartbeat](https://docs.getcliq.io/api-reference/daemons/send-a-heartbeat.md): A daemon reports that it is alive, about every 30 seconds. Its status becomes `online`. The daemon must be a member of the token's realm. - [Deregister a daemon](https://docs.getcliq.io/api-reference/daemons/deregister-a-daemon.md): A daemon leaves CliqHub cleanly (for example on uninstall). It is marked `removed`; registering again brings it back. - [Remove a daemon](https://docs.getcliq.io/api-reference/daemons/remove-a-daemon.md): Removes a daemon from CliqHub (for a machine that is gone). You must be an admin with the daemon-removal permission in every realm the daemon serves. The daemon itself is not contacted; if it is still running it can register again with its realm token. - [List workspaces](https://docs.getcliq.io/api-reference/workspaces/list-workspaces.md): Lists workspaces CliqHub knows, from daemons in your realms: all of them, those of `realm_id` or `org_id`. With `daemon_id` it instead asks that daemon for its workspaces right now and returns its answer as `data` (no paging or sorting). - [Get a workspace](https://docs.getcliq.io/api-reference/workspaces/get-a-workspace.md): Returns one workspace with the teams assigned to it and when each was assigned. Send `id` or `workspace_id`. - [Remove a workspace](https://docs.getcliq.io/api-reference/workspaces/remove-a-workspace.md): Removes a workspace from CliqHub's catalog, by `id` or `path`. It does not touch the daemon; daemons call this when a workspace is unregistered there. You must be a realm admin in a realm of the workspace's daemon. Removing an unknown workspace answers `removed: false`. - [List runs](https://docs.getcliq.io/api-reference/runs/list-runs.md): Lists runs, newest activity first, 20 per page by default. Narrow it with one of `realm_id`, `daemon_id`, `workspace_id`, `parent_run_id` (sub-runs of a run), `team_id` or `team`; without any of them, `org_id` is required and the list covers that organization's realms. Results never include runs in… - [Get a run](https://docs.getcliq.io/api-reference/runs/get-a-run.md): Returns one run with its detail: the control command waiting for its daemon (`pending_control`), whether it may be force-terminated (`force_terminate`), and, with `with_history: true`, its history (started, resume requested and by whom, resumed, ended). - [Search run logs](https://docs.getcliq.io/api-reference/runs/search-run-logs.md): Searches the log lines of runs in a realm: full-text `q`, and filters by level, run, daemon, workspace, team, kind of line (`concerns`) and time. Returns a page of lines (50 by default) plus counts per filter value (`facets`) for building filter menus. `realm_id` is required, except for site adminis… - [Get run status](https://docs.getcliq.io/api-reference/runs/get-run-status.md): Returns the run's phases in workflow order with their status, agent and timing. With `status`, only the phases in that status. - [Get run telemetry](https://docs.getcliq.io/api-reference/runs/get-run-telemetry.md): Reads a run's telemetry, by `kind`: `usage` (token and cost snapshots for the run and each phase), `spans` (the run's trace spans, for a timeline of what the agents did), or `summary` (a rollup for an organization's dashboard over the last `window_days`). - [Stream run activity](https://docs.getcliq.io/api-reference/runs/stream-run-activity.md): Opens a server-sent event stream of a run's activity: first every event recorded so far (or those after `after_id`, to resume after a reconnect), then new events as the daemon reports them. While at least one person is watching, CliqHub asks the run's daemon to stream its events live. A comment line… - [Record a new run](https://docs.getcliq.io/api-reference/runs/record-a-new-run.md): A daemon records a run it has started, so CliqHub shows it. CliqHub also records the workspace (from `workspace_path`) and links the team. Sending a run that already exists updates it and marks it running again, so daemons can safely resend. A run name is generated when none is sent. - [Submit a run data record](https://docs.getcliq.io/api-reference/runs/submit-a-run-data-record.md): A daemon stores a run data record: a named piece of a phase's output (a summary, a report, a handoff to another phase, a transcript). Records are shown with the run. - [Start a run](https://docs.getcliq.io/api-reference/runs/start-a-run.md): Starts a run of a team, in one of two ways: - [Update run status](https://docs.getcliq.io/api-reference/runs/update-run-status.md): A daemon reports the status of one or more phases of a run (pending, running, done, failed, …), with timing and exit code. - [Append run logs](https://docs.getcliq.io/api-reference/runs/append-run-logs.md): A daemon sends a chunk of a run's log text, which becomes searchable with Search run logs. A run's log is capped at 10 MB on CliqHub; chunks beyond that are not stored and the reply's `id` is `null`. - [Cancel a run](https://docs.getcliq.io/api-reference/runs/cancel-a-run.md): Cancels a running run. When the daemon is online, CliqHub sends it a cancel and the daemon stops the run (`mode: queued`). When the daemon is offline or a cancel has been waiting more than 5 minutes, CliqHub marks the run cancelled itself (`mode: hub_terminated`); a daemon that reconnects cannot rev… - [Claim a queued run](https://docs.getcliq.io/api-reference/runs/claim-a-queued-run.md): A daemon claims a run CliqHub offered to its realm (see Start a run, realm path); the first claim wins and CliqHub then sends that daemon the run. Daemons call this with their realm token; a realm member may also claim on a daemon's behalf. - [Complete a run](https://docs.getcliq.io/api-reference/runs/complete-a-run.md): A daemon reports that a run ended, with its final state and error. Reporting the same state again changes nothing, so daemons can safely resend. Open reviews of the run are closed. - [Report run activity](https://docs.getcliq.io/api-reference/runs/report-run-activity.md): A daemon sends a batch of run events for the live timeline (phase started, input required, run completed, …). They are stored, sent to everyone watching Stream run activity, and lifecycle events update the run's state. Events for a run CliqHub does not know are dropped (`dropped: true`) so the daemo… - [Report run telemetry](https://docs.getcliq.io/api-reference/runs/report-run-telemetry.md): A daemon reports telemetry for a run, by `kind`: `usage` (a token and duration snapshot for the run or one phase; CliqHub adds the cost from model prices) or `traces` (a batch of up to 512 trace spans; spans already stored are skipped). This is not the live timeline; that is Report run activity. - [Resume a run](https://docs.getcliq.io/api-reference/runs/resume-a-run.md): Runs a finished run again from `from_phase`, reusing the output of the phases before it; the run keeps its id. CliqHub sends the request to the run's daemon, which must be online, and the reviewers chosen at start apply again. The daemon checks the rest (the run is finished, the phase exists, earlie… - [Supply run inputs](https://docs.getcliq.io/api-reference/runs/supply-run-inputs.md): Gives a paused run the inputs it is waiting for. CliqHub sends them to the run's daemon, which must be online, and marks the run running again; the daemon merges them into the run's inputs and continues. The daemon refuses inputs for a run that is not waiting for any, in which case nothing changes t… - [List run artifacts](https://docs.getcliq.io/api-reference/artifacts/list-run-artifacts.md): Lists a run's stored files, optionally one phase's. With `include_records`, also the run's records (phase outputs, transcripts, attached documents), with a preview of each. - [Get an artifact](https://docs.getcliq.io/api-reference/artifacts/get-an-artifact.md): Returns one artifact with a fresh download link; for a run record (`rec:…`), its full text in `content`. - [Upload an artifact](https://docs.getcliq.io/api-reference/artifacts/upload-an-artifact.md): A daemon uploads a file a run produced, as JSON (`content` as text, or base64 with `encoding: base64`) or, for files over 1 MB, as `multipart/form-data` with the same fields and the file as a part. Files are limited to 50 MB unless the deployment says otherwise. Answers `201` with the artifact's id… - [Delete an artifact](https://docs.getcliq.io/api-reference/artifacts/delete-an-artifact.md): Deletes a stored file and its record. Answers `false` when there was no such file. - [Get an event](https://docs.getcliq.io/api-reference/events/get-an-event.md): Returns one stored event by id, with its payload and whether notifications were sent. - [Submit an event](https://docs.getcliq.io/api-reference/events/submit-an-event.md): Submits an event; matching notification rules deliver it. Each family needs its fields: `run.*` / `phase.*` / `hug.*` need `realm_id`, `run_id` and `daemon_id` (and `phase` for `phase.*`), `team.*` needs `team`, `daemon.*` needs `daemon_id`. Some types are raised by CliqHub only. The run must be in… - [List custom event types](https://docs.getcliq.io/api-reference/events/list-custom-event-types.md): Lists a realm's custom event types (`custom.*`), declared by teams, created here, or seen in events, optionally one team's. Without `realm_id`, site administrators only. - [Create a custom event type](https://docs.getcliq.io/api-reference/events/create-a-custom-event-type.md): Registers a custom event type `custom.` for a realm, so notification rules can be set for it before the first event arrives. - [Remove a custom event type](https://docs.getcliq.io/api-reference/events/remove-a-custom-event-type.md): Deletes a custom event type created here. - [List event types](https://docs.getcliq.io/api-reference/events/list-event-types.md): Lists CliqHub's event catalog, the types notification rules can match. Send `{}`. - [List reviews](https://docs.getcliq.io/api-reference/reviews/list-reviews.md): Lists the reviews in your inbox, newest first, in a realm or across an organization; by default only `pending` ones. - [Get a review](https://docs.getcliq.io/api-reference/reviews/get-a-review.md): Returns one review with its payload (what the agent asks), its verdict once decided, who claimed it, and its artifacts. Agents poll this to learn the decision. - [List review messages](https://docs.getcliq.io/api-reference/reviews/list-review-messages.md): Lists a review's chat messages, oldest first, or only those after `after_id`. - [Stream review messages](https://docs.getcliq.io/api-reference/reviews/stream-review-messages.md): Streams a review's new chat messages as server-sent events (checked every 2 seconds). The stream ends after 5 minutes with a `timeout` event; reconnect with the last `after_id`. - [Open a review](https://docs.getcliq.io/api-reference/reviews/open-a-review.md): An agent opens a review for its run (through its daemon). CliqHub notifies the reviewers: the `reviewers` groups (each a policy `any` or `all` and a list of channels or usernames), or the realm's members when none are given. `mode` is `verdict` (default, a decision), `chat` (a conversation, starting… - [Remind reviewers](https://docs.getcliq.io/api-reference/reviews/remind-reviewers.md): Sends a reminder notification to all pending reviewers of a review. Called by the daemon when a HUG review's `remind_every_minutes` interval elapses. Returns the updated review data. - [Acknowledge a review](https://docs.getcliq.io/api-reference/reviews/acknowledge-a-review.md): An agent confirms it received the decision; the review becomes `completed`. - [Send a review message](https://docs.getcliq.io/api-reference/reviews/send-a-review-message.md): Adds a chat message to a pending review: as the reviewer with a user token (the first reviewer to write claims the review), or as the agent with a daemon token and `daemon_id`. - [Give a verdict](https://docs.getcliq.io/api-reference/reviews/give-a-verdict.md): Gives your answer to a review: `PASS`, `REJECT`, or `ROUTE:` to send the run back to a phase listed in `route_targets`. `fields` holds form values (they become run inputs). Send the `notification_id` from your inbox: it is your ballot. With an `all` policy the review stays `pending` until eve… - [List channels](https://docs.getcliq.io/api-reference/notification-channels/list-channels.md): Lists a realm's channels (`realm_id`), or an organization's (`org_id`, or `account: true`), optionally only enabled ones or matching `query`. - [Create a channel](https://docs.getcliq.io/api-reference/notification-channels/create-a-channel.md): Creates a channel in a realm (`realm_id`) or an organization (`org_id`). A `channel_ref` destination may not create a loop of channels. - [Update a channel](https://docs.getcliq.io/api-reference/notification-channels/update-a-channel.md): Renames a channel, replaces its destinations, or turns it on or off. - [Send a test notification](https://docs.getcliq.io/api-reference/notification-channels/send-a-test-notification.md): Sends a test notification through a channel (all destinations, or one by `destination_index`) and reports how many were delivered and any errors. - [Remove a channel](https://docs.getcliq.io/api-reference/notification-channels/remove-a-channel.md): Deletes a channel. Built-in channels cannot be removed. - [List notifications](https://docs.getcliq.io/api-reference/notifications/list-notifications.md): Lists your notifications in one organization, newest first, 50 per page by default (at most 100), filtered by realm, event type, severity, team, run, phase, text or time. - [List agents](https://docs.getcliq.io/api-reference/agents/list-agents.md): Lists the agents your organization can use, built-in and custom, searchable by `query`, `names` or `agent_type`. `include_usage` adds the published teams that use each. - [Get agent details](https://docs.getcliq.io/api-reference/agents/get-agent-details.md): Returns one agent by catalog `id`, or by `name` (and `version`, latest by default), with its manifest. - [Get agent settings](https://docs.getcliq.io/api-reference/agents/get-agent-settings.md): Returns an agent's settings (the settings its manifest declares, with values) for the organization or, with `realm_id`, a realm; without `id`, a summary for every agent. Secrets are masked unless you hold `agents.reveal`. - [Register an agent](https://docs.getcliq.io/api-reference/agents/register-an-agent.md): Registers a custom agent version from its manifest (`cliq agent register` sends it). Answers `201` for a new registration and `200` when `force` overwrote an existing version. - [Update agent settings](https://docs.getcliq.io/api-reference/agents/update-agent-settings.md): Sets or clears an agent's settings for the organization or a realm (`settings.values`, `settings.clear`). Do not send back masked values. - [Deregister an agent](https://docs.getcliq.io/api-reference/agents/deregister-an-agent.md): Removes a custom agent (one version, or all). Refused for built-in agents and while published teams still use it. - [List settings](https://docs.getcliq.io/api-reference/settings/list-settings.md): Lists deployment-wide settings, or those starting with `prefix`. A daemon token may add `daemon_id` (a daemon of its realm) for that daemon's settings. - [Get a setting](https://docs.getcliq.io/api-reference/settings/get-a-setting.md): Returns one deployment-wide setting, or `setting: null` when it is not set. - [Set a setting](https://docs.getcliq.io/api-reference/settings/set-a-setting.md): Sets a deployment-wide setting; daemons get it on their next settings pull. - [Remove a setting](https://docs.getcliq.io/api-reference/settings/remove-a-setting.md): Removes a deployment-wide setting. `removed` is `false` when it was not set. - [Get your mesh settings](https://docs.getcliq.io/api-reference/mesh/get-your-mesh-settings.md): Returns the mesh settings of your primary organization (your personal organization when you have no other). - [Update your mesh settings](https://docs.getcliq.io/api-reference/mesh/update-your-mesh-settings.md): Changes the mesh settings of your primary organization; same fields as Update organization mesh settings, without `org_id`. - [List mesh adapters](https://docs.getcliq.io/api-reference/mesh/list-mesh-adapters.md): Lists the mesh providers this CliqHub supports, with the settings each needs. - [Get organization mesh settings](https://docs.getcliq.io/api-reference/mesh/get-organization-mesh-settings.md): Returns an organization's mesh settings. - [Update organization mesh settings](https://docs.getcliq.io/api-reference/mesh/update-organization-mesh-settings.md): Changes an organization's mesh provider, a provider's settings, or whether new realms get A2A turned on. - [List Jira workspaces](https://docs.getcliq.io/api-reference/jira/list-jira-workspaces.md): Lists your realms and, for each, the Jira workspace connected to it (if any). - [Connect a Jira workspace](https://docs.getcliq.io/api-reference/jira/connect-a-jira-workspace.md): Connects a Jira workspace to a realm. The first time, the reply has the `webhook_secret` the Jira app signs its calls with (shown once); connecting again keeps the existing secret. - [Rotate a Jira webhook secret](https://docs.getcliq.io/api-reference/jira/rotate-a-jira-webhook-secret.md): Replaces a connection's webhook secret; the old one stops working at once. - [Disconnect a Jira workspace](https://docs.getcliq.io/api-reference/jira/disconnect-a-jira-workspace.md): Disconnects a Jira workspace from a realm. `removed` is `false` when it was not connected. - [Send a task to a realm](https://docs.getcliq.io/api-reference/a2a/send-a-task-to-a-realm.md): JSON-RPC 2.0 endpoint for A2A clients, with the realm's A2A token: `message/send` starts a task (a run of the skill's team; name the skill in `message.metadata.skill_id` or a data part, with `inputs`) and returns it; `message/stream` does the same and streams status updates as server-sent events unt… - [Get a realm's agent card](https://docs.getcliq.io/api-reference/a2a/get-a-realms-agent-card.md): Returns the realm's A2A agent card (name, URL, protocol version, skills). Public; cached for 60 seconds. Only realms with A2A turned on have one. - [cliqd API](https://docs.getcliq.io/daemon-api/overview.md): The HTTP API of cliqd, the local Cliq daemon: base URL, request and reply shape, authentication, errors. - [Errors](https://docs.getcliq.io/daemon-api/errors.md): Every error code cliqd returns, with its HTTP status. - [Check daemon health](https://docs.getcliq.io/api-reference/daemon-system/check-daemon-health.md): Answers as soon as the daemon is up and serving requests. It checks nothing else (not the database, not CliqHub); use Diagnose this daemon for readiness. No credential is needed, from any host. - [Install a team from a manifest](https://docs.getcliq.io/api-reference/daemon-teams/install-a-team-from-a-manifest.md): Adds a team to this daemon's catalog from a manifest you supply (the CLI reads `team.yml` from disk and sends its text). Use `teams/hub_install` to install from CliqHub instead. - [Uninstall a team](https://docs.getcliq.io/api-reference/daemon-teams/uninstall-a-team.md): Removes a team from this daemon's catalog. Idempotent: uninstalling a team that isn't installed succeeds with `removed: false`. - [List installed teams](https://docs.getcliq.io/api-reference/daemon-teams/list-installed-teams.md): Returns the teams installed on **this** daemon, optionally only those of one scope. Teams other daemons in your realm hold are not included — ask CliqHub for the fleet view. - [Search CliqHub's team catalog](https://docs.getcliq.io/api-reference/daemon-teams/search-cliqhubs-team-catalog.md): Searches the teams published on CliqHub and marks which of them are installed here and whether an update is available. Requires a CliqHub sign-in. - [Get one installed team](https://docs.getcliq.io/api-reference/daemon-teams/get-one-installed-team.md): Returns one installed team, including its full manifest, by scope + slug. - [Update an installed team](https://docs.getcliq.io/api-reference/daemon-teams/update-an-installed-team.md): Replaces an installed team's manifest (and `description` / `dependencies` when sent; omitted ones are kept). Versions only move forward: when both the new and the installed version are set, the new one must be strictly higher (semver). - [Publish a team to CliqHub](https://docs.getcliq.io/api-reference/daemon-teams/publish-a-team-to-cliqhub.md): Packages the manifest you send (plus `dockerfile`, `dependencies` and `roles` when given) and publishes it to CliqHub as the version in the manifest's top-level `version:` field. The local catalog is not read, so a team does not have to be installed to be published. - [Validate a team manifest](https://docs.getcliq.io/api-reference/daemon-teams/validate-a-team-manifest.md): Validates a team manifest without installing it. Returns structured errors, warnings and a summary of the manifest content (name, version, phase count, agents referenced). - [Install a team from CliqHub](https://docs.getcliq.io/api-reference/daemon-teams/install-a-team-from-cliqhub.md): Downloads a published team package from CliqHub (`team.yml`, plus `Dockerfile` and `dependencies.yml` when the team ships them) and installs it into this daemon's catalog. After the download it runs exactly the checks of `teams/install`, so the same errors apply. - [List workspaces](https://docs.getcliq.io/api-reference/daemon-workspaces/list-workspaces.md): Returns every workspace registered with this daemon, with the teams assigned to each, its latest run and how many runs are going. Takes no fields; send `{}`. - [Register a workspace](https://docs.getcliq.io/api-reference/daemon-workspaces/register-a-workspace.md): Registers a folder as a workspace so teams can be assigned to it and run in it. The folder is created if it does not exist, and an empty `.cliq/` directory is created inside it. Nothing else is written to the folder. - [Assign a team to a workspace](https://docs.getcliq.io/api-reference/daemon-workspaces/assign-a-team-to-a-workspace.md): Assigns an installed team to a registered workspace so it can run there. Name the workspace by `workspace_dir` or `workspace_id` (the id wins when both are sent) and the team by `scope` + `slug`. A workspace can have several teams; Start a run then needs `team_ref` to pick one. - [Remove a team from a workspace](https://docs.getcliq.io/api-reference/daemon-workspaces/remove-a-team-from-a-workspace.md): Removes a team's assignment from a workspace. The team stays installed and its past runs are kept. Name the workspace by `workspace_dir` or `workspace_id`. - [Start a run](https://docs.getcliq.io/api-reference/daemon-workspaces/start-a-run.md): Starts a run of the workspace's team and returns as soon as it is accepted; the run continues in the background. Follow it with Stream run events (`GET /v1/runs/events`) or poll List runs. - [Get workspace status](https://docs.getcliq.io/api-reference/daemon-workspaces/get-workspace-status.md): Returns a snapshot of one workspace: whether it is registered and still on disk, its assigned teams, the inputs its agents need, its latest run and the runs going now. - [Clean run history from a workspace](https://docs.getcliq.io/api-reference/daemon-workspaces/clean-run-history-from-a-workspace.md): Deletes the workspace's finished runs (with their phases, events and artifacts records) from the daemon's catalog. Runs that are still going are kept. No files in the folder are touched. - [Unregister a workspace](https://docs.getcliq.io/api-reference/daemon-workspaces/unregister-a-workspace.md): Unregisters a workspace. Its past runs are kept in the history. Project files are never touched; with `purge: true` the folder's `.cliq/` directory is deleted too. - [Diagnose this daemon](https://docs.getcliq.io/api-reference/daemon-workspaces/diagnose-this-daemon.md): Checks whether this daemon is ready to run teams and reports every problem it finds: the data directory and database, installed agents and their settings, teams and the tools they need, registered workspaces whose folders are missing, and runs that errored in the last 24 hours. Takes no fields; send… - [Stream run events](https://docs.getcliq.io/api-reference/daemon-runs/stream-run-events.md): Opens a server-sent event stream of one run's live events, the way `cliq run` shows progress. Pass the run id (not the name) in the `run_id` query parameter. - [Push a run event](https://docs.getcliq.io/api-reference/daemon-runs/push-a-run-event.md): Reports something that happened in a run. Agents call this through the SDK; you normally do not. The event is sent to everyone following the run (Stream run events) and forwarded to CliqHub for notifications. It is not stored on the daemon. - [Subscribe to run events](https://docs.getcliq.io/api-reference/daemon-runs/subscribe-to-run-events.md): CliqHub calls this when someone opens a run's page in CliqHub: from then on the daemon streams that run's events to CliqHub. You do not need to call it yourself; to follow a run locally use Stream run events. - [Unsubscribe from run events](https://docs.getcliq.io/api-reference/daemon-runs/unsubscribe-from-run-events.md): CliqHub calls this when the last person viewing a run in CliqHub leaves: the daemon stops streaming that run's events to CliqHub. Unsubscribing a run that is not streamed succeeds. - [List runs](https://docs.getcliq.io/api-reference/daemon-runs/list-runs.md): Returns this daemon's most recent runs, newest first: 20 unless you send `limit`, optionally only those of one workspace. Sub-runs are included as separate runs; use Get a run tree to see how they nest. - [Read a run log](https://docs.getcliq.io/api-reference/daemon-runs/read-a-run-log.md): Returns a run's log, the text its phases and agents wrote. Send just `run_id` for the whole log. To follow a running run, send `after_id` (start with `0`): each reply has at most one chunk of up to 64 KB and its end offset as `id`; send that as the next `after_id` until `run_state` is finished and n… - [Get a run tree](https://docs.getcliq.io/api-reference/daemon-runs/get-a-run-tree.md): Returns the whole tree a run belongs to: its top run and every sub-run started by `type: team` and `map` phases, at any depth. Any run of the tree can be sent; the reply is the same. - [Send a run data record](https://docs.getcliq.io/api-reference/daemon-runs/send-a-run-data-record.md): Records a named piece of output for a phase of a run (a run data record), such as a summary or a report. Agents call this through the SDK. The record is queued and sent to CliqHub, which stores it with the run; the daemon keeps no copy, so it is delivered once the daemon is connected even if CliqHub… - [Supply run inputs](https://docs.getcliq.io/api-reference/daemon-runs/supply-run-inputs.md): Gives a paused run (`awaiting_input`) the inputs it is waiting for. The values are merged into the run's inputs (new values win), and the run resumes at once. CliqHub sends this when someone answers in the CliqHub UI; you can call it too. - [Check for supplied inputs](https://docs.getcliq.io/api-reference/daemon-runs/check-for-supplied-inputs.md): Tells a paused run's orchestrator whether its inputs have arrived. `supplied` is `false` while the run is still `awaiting_input` and `true` once it is not, with the run's current inputs. Used by the run itself; clients follow the run with Stream run events. - [Resume a run from a phase](https://docs.getcliq.io/api-reference/daemon-runs/resume-a-run-from-a-phase.md): Runs a finished run again from one phase onwards, reusing the stored output of the phases before it. The run keeps its id and goes back to `running`; follow it with Stream run events. Use it to retry a failed phase without redoing the work before it. - [List run phases](https://docs.getcliq.io/api-reference/daemon-runs/list-run-phases.md): Returns a run's phases in workflow order with their status, agent, attempt and timing, and whether each has stored output a rerun could start after. - [Upload an artifact](https://docs.getcliq.io/api-reference/daemon-artifacts/upload-an-artifact.md): Uploads a file a run produced to CliqHub and returns its id and a download link. Agents call this through the SDK. The run must be `running` or `awaiting_input`. Send text as UTF-8 in `content`, or binary as base64 with `encoding: "base64"`. - [Get an artifact](https://docs.getcliq.io/api-reference/daemon-artifacts/get-an-artifact.md): Returns an artifact's details and a fresh presigned download link, read from CliqHub. Agents use it to open `cliq://artifacts/` references from earlier phases. - [List local agents](https://docs.getcliq.io/api-reference/daemon-agents/list-local-agents.md): Lists every agent found on the agents path, with its version, type and folder. With `check_reg: true` each row also says whether the agent is registered in your CliqHub organization; if CliqHub cannot be asked, every agent reads as not registered. - [Get a local agent](https://docs.getcliq.io/api-reference/daemon-agents/get-a-local-agent.md): Returns one agent from the agents path by name, with its full manifest. - [Register an agent with CliqHub](https://docs.getcliq.io/api-reference/daemon-agents/register-an-agent-with-cliqhub.md): Sends an agent's manifest to CliqHub so it is registered in your organization (the one this daemon is signed in to). The agent is found by `name` on the agents path, or read from the folder `path` when you send one. Only the manifest is sent; the agent's code stays on the daemons that have it. - [Unregister an agent from CliqHub](https://docs.getcliq.io/api-reference/daemon-agents/unregister-an-agent-from-cliqhub.md): Removes an agent's registration from your CliqHub organization: every version, or only `version`. The agent stays on this daemon's agents path. Built-in agents cannot be unregistered. - [List settings](https://docs.getcliq.io/api-reference/daemon-settings/list-settings.md): Lists the daemon-wide settings, optionally only keys starting with `prefix`. With `workspace_dir`, that workspace's secrets are listed after them (none when the path is not a registered workspace). `workspace_dir` is required in the body; send `null` for daemon-wide only. - [Get a setting](https://docs.getcliq.io/api-reference/daemon-settings/get-a-setting.md): Reads one setting. A setting that is not set is not an error: `value` is `null`. A workspace key read without `workspace_dir`, or for a path that is not registered, also reads as `null`. - [Set a setting](https://docs.getcliq.io/api-reference/daemon-settings/set-a-setting.md): Writes one setting; `value: null` clears it. Daemon-wide keys take effect at once (logging keys are re-applied immediately). A workspace key needs the `workspace_dir` of a registered workspace. - [List instances](https://docs.getcliq.io/api-reference/daemon-instances/list-instances.md): Lists the 50 most recent runs as instances, newest first, in every state, with where each executes. Takes no fields; send `{}`. - [Get an instance](https://docs.getcliq.io/api-reference/daemon-instances/get-an-instance.md): Returns one instance by run id or name, with its workspace, team, error and the sub-runs it started. - [Stop an instance](https://docs.getcliq.io/api-reference/daemon-instances/stop-an-instance.md): Stops a run that is going: the agent process running now is sent `SIGTERM` and the run is marked `cancelled`. Stopping a run that has already finished does nothing and returns `stopped: false`. - [Get daemon status](https://docs.getcliq.io/api-reference/daemon-daemon/get-daemon-status.md): Returns who this daemon is (process, version, host), whether and as whom it is signed in to CliqHub, which realm it is in, and the signed-in user's organizations, realms and tokens. The CLI also calls it to check the daemon is reachable. Takes no fields; send `{}`. - [Restart the daemon](https://docs.getcliq.io/api-reference/daemon-daemon/restart-the-daemon.md): Answers, then exits about 200 ms later with exit code 75 so its supervisor (the CLI's launcher, launchd, systemd or Docker) starts it again. Runs in progress are interrupted and are marked `crashed` when the daemon comes back. Without a supervisor the daemon simply stops. Takes no fields; send `{}`. - [Get daemon summary](https://docs.getcliq.io/api-reference/daemon-daemon/get-daemon-summary.md): Counts of what this daemon holds (workspaces, installed teams, agents), its 10 most recent runs, and the state of its queue of messages to CliqHub. Takes no fields; send `{}`. A growing `outbox.failed` count means CliqHub has been refusing or unreachable. - [Sign in to CliqHub](https://docs.getcliq.io/api-reference/daemon-sign-in/sign-in-to-cliqhub.md): Signs the daemon in to CliqHub with a username and password or a personal token, and settles which realm it belongs to. Send `credentials` to sign in; send only `realm` (with or without `confirm_switch`) to finish a realm choice with the sign-in already stored. - [Sign out of CliqHub](https://docs.getcliq.io/api-reference/daemon-sign-in/sign-out-of-cliqhub.md): Removes the daemon's stored sign-in and the user's login defaults, and asks CliqHub to end the session. The daemon stays in its realm and keeps running teams and syncing with its own realm token. Takes no fields; send `{}`. - [Mint a CliqHub token](https://docs.getcliq.io/api-reference/daemon-sign-in/mint-a-cliqhub-token.md): Creates a CliqHub token as the signed-in user: a user token (`cliq_tok_…`, the default) for scripts and CI, or a realm token (`type: realm`, `cliq_dt_…`) to enroll another daemon in `realm_id`. The token is shown only in this reply. - [Rotate a dispatch key](https://docs.getcliq.io/api-reference/daemon-sign-in/rotate-a-dispatch-key.md): Asks CliqHub to replace a realm's dispatch key pair, which signs the tokens CliqHub uses when it sends work to the realm's daemons, and returns the new public key. Needs a signed-in user who administers the realm. The private key never leaves CliqHub. - [Create a local token](https://docs.getcliq.io/api-reference/daemon-local-tokens/create-a-local-token.md): Mints a new local token with a label and returns its value once. Only a hash is kept, so a lost token cannot be shown again; revoke it and create another. `type` and `realm_id` are accepted but not used. - [List local tokens](https://docs.getcliq.io/api-reference/daemon-local-tokens/list-local-tokens.md): Lists the active local tokens, newest first, without their values. Takes no fields; send `{}`. - [Revoke a local token](https://docs.getcliq.io/api-reference/daemon-local-tokens/revoke-a-local-token.md): Revokes a local token by id. A revoked token no longer appears in List local tokens. - [Create a HUG review](https://docs.getcliq.io/api-reference/daemon-hug/create-a-hug-review.md): Agent asks the daemon to create a review. When enrolled, the daemon proxies to CliqHub. When in standalone mode, the review is stored locally in SQLite and an event is emitted on the run's SSE stream for the CLI to prompt the user. - [Get review status](https://docs.getcliq.io/api-reference/daemon-hug/get-review-status.md): Agent checks the status of a review. When enrolled, proxies to CliqHub. When in standalone mode, reads from the local SQLite store. - [Nudge reviewers](https://docs.getcliq.io/api-reference/daemon-hug/nudge-reviewers.md): Agent nudges reviewers of a pending review. When enrolled, proxies to CliqHub. When in standalone mode, this is a no-op. - [Send chat message to reviewer](https://docs.getcliq.io/api-reference/daemon-hug/send-chat-message-to-reviewer.md): Agent sends a chat message to the reviewer. When enrolled, the message is queued for CliqHub via the outbox. When in standalone mode, this is a no-op. - [Deliver a verdict, input, or chat message](https://docs.getcliq.io/api-reference/daemon-hug/deliver-a-verdict-input-or-chat-message.md): CliqHub delivers a reviewer's verdict, structured input, or chat message to the daemon. This is a Hub command with `tx_id` dedup and ack. For `verdict` and `input` types, the values (`payload.values` or `payload.fields.values`) are merged into the run's inputs, and a run in `awaiting_input` state is… - [Poll pending messages](https://docs.getcliq.io/api-reference/daemon-hug/poll-pending-messages.md): Returns and removes every message waiting for a review, oldest first. Agents call this in a loop while they wait for a reviewer; an empty list means nothing new yet. - [Execute a run](https://docs.getcliq.io/api-reference/daemon-hub-commands/execute-a-run.md): Starts a run CliqHub has already validated and assigned to this daemon, and answers as soon as it starts. The run keeps CliqHub's `run_id`; a repeat of a run that is still going returns it again. Without `workspace_dir` the run gets a fresh folder under the daemon's workspace root (`ephemeral/