# Hill90 > Documentation for the Hill90 microservices platform. ## Docs - [Add a step to workflow](https://docs.hill90.com/api-reference/add-a-step-to-workflow.md) - [Add or remove agent participants](https://docs.hill90.com/api-reference/add-or-remove-agent-participants.md): Add or remove agent participants from a group thread. Only the thread owner or admin can modify participants. Removing an agent sets left_at and marks any pending messages from that agent as error. - [Agent runtime CPU/memory metrics](https://docs.hill90.com/api-reference/agent-runtime-cpumemory-metrics.md) - [Get agent artifacts (badges)](https://docs.hill90.com/api-reference/agents/get-agent-artifacts-badges.md) - [Get agent operational metrics](https://docs.hill90.com/api-reference/agents/get-agent-operational-metrics.md) - [Get agent progression stats](https://docs.hill90.com/api-reference/agents/get-agent-progression-stats.md) - [List agent status transitions](https://docs.hill90.com/api-reference/agents/list-agent-status-transitions.md) - [List agent workspace files](https://docs.hill90.com/api-reference/agents/list-agent-workspace-files.md) - [Append journal entry](https://docs.hill90.com/api-reference/append-journal-entry.md): Add a memory journal entry to an agent for context persistence. - [Assign skill to agent](https://docs.hill90.com/api-reference/assign-skill-to-agent.md): Assigns a skill from the catalog to an agent. Agent must be stopped. RBAC on scope: container_local — any user (own agents). host_docker/vps_system — admin only. - [Cancel all pending messages](https://docs.hill90.com/api-reference/cancel-all-pending-messages.md): Marks all pending messages in the thread as error with message 'Cancelled by user'. Bumps seq for SSE visibility. - [Change password](https://docs.hill90.com/api-reference/change-password.md): Password change endpoint. Currently returns 501 because Keycloak 12+ removed the /account/credentials/password REST endpoint. A browser-based flow via kc_action=UPDATE_PASSWORD will be implemented in a future PR. - [Clone an agent](https://docs.hill90.com/api-reference/clone-an-agent.md) - [Connection health stats](https://docs.hill90.com/api-reference/connection-health-stats.md): Returns aggregate health statistics for the authenticated user's provider connections, including overall counts and per-provider breakdown with average latency. - [Create a workflow](https://docs.hill90.com/api-reference/create-a-workflow.md) - [Create agent](https://docs.hill90.com/api-reference/create-agent.md): Creates a new agent definition. - [Create an MCP server](https://docs.hill90.com/api-reference/create-an-mcp-server.md) - [Create container profile](https://docs.hill90.com/api-reference/create-container-profile.md): Creates a new container profile. Admin only. API-created profiles always have is_platform=false. - [Create model policy](https://docs.hill90.com/api-reference/create-model-policy.md): Creates a new model policy. Admin policies are platform-scoped; user policies are owner-scoped. model_aliases can only be set by admins. - [Create or update a vault secret key](https://docs.hill90.com/api-reference/create-or-update-a-vault-secret-key.md): Write a key-value pair to a vault KV v2 path. Merges with existing keys. Requires BAO_TOKEN configured on API service. Admin only. - [Create provider connection](https://docs.hill90.com/api-reference/create-provider-connection.md): Creates a new provider connection with an encrypted API key. The key is encrypted at rest and never returned in responses. Admins can set platform=true to create a platform connection (created_by=NULL). - [Create shared knowledge collection](https://docs.hill90.com/api-reference/create-shared-knowledge-collection.md): Creates a new shared knowledge collection owned by the authenticated user. - [Create skill](https://docs.hill90.com/api-reference/create-skill.md): Creates a new skill. Admin only. - [Create thread](https://docs.hill90.com/api-reference/create-thread.md): Creates a new thread and sends the first message. Supports both direct (single agent_id) and group (agent_ids array) creation. For group threads, dispatches to all running agents and returns three-array response (dispatched/skipped/failed). Max 8 agents per group. - [Create tool](https://docs.hill90.com/api-reference/create-tool.md): Creates a new tool. Admin only. - [Create user model](https://docs.hill90.com/api-reference/create-user-model.md): Creates a user-defined model. For single models, provide connection_id and litellm_model. For router models, provide model_type='router' and routing_config. Name must not conflict with active platform models. Admins can set platform=true to create a platform model (created_by=NULL). - [Delete a vault secret key](https://docs.hill90.com/api-reference/delete-a-vault-secret-key.md): Remove a key from a vault KV v2 path. If the last key is removed, the entire path is deleted. Admin only. - [Delete a workflow](https://docs.hill90.com/api-reference/delete-a-workflow.md) - [Delete agent](https://docs.hill90.com/api-reference/delete-agent.md): Deletes an agent. Requires admin role. Optionally purges volumes. - [Delete agent webhook](https://docs.hill90.com/api-reference/delete-agent-webhook.md) - [Delete an MCP server](https://docs.hill90.com/api-reference/delete-an-mcp-server.md) - [Delete avatar](https://docs.hill90.com/api-reference/delete-avatar.md): Removes the user's avatar from S3 and clears the DB reference. - [Delete container profile](https://docs.hill90.com/api-reference/delete-container-profile.md): Deletes a container profile. Admin only. Platform profiles cannot be deleted. Profiles assigned to agents cannot be deleted. - [Delete model policy](https://docs.hill90.com/api-reference/delete-model-policy.md): Deletes a model policy. Fails if agents are assigned. Users can delete own; admins can delete any. - [Delete provider connection](https://docs.hill90.com/api-reference/delete-provider-connection.md): Deletes a provider connection and atomically cascades to router models referencing it (JSONB route cleanup). Single models are cascaded via FK ON DELETE CASCADE. - [Delete shared knowledge collection](https://docs.hill90.com/api-reference/delete-shared-knowledge-collection.md): Deletes a collection and all its sources, documents, and chunks (cascade). - [Delete skill](https://docs.hill90.com/api-reference/delete-skill.md): Deletes a skill. Admin only. Platform skills cannot be deleted. Skills assigned to agents cannot be deleted. - [Delete source](https://docs.hill90.com/api-reference/delete-source.md): Deletes a source and its documents/chunks (cascade). - [Delete thread](https://docs.hill90.com/api-reference/delete-thread.md): Deletes thread and cascades to messages and participants. - [Delete tool](https://docs.hill90.com/api-reference/delete-tool.md): Deletes a tool. Admin only. Platform tools cannot be deleted. Tools referenced by skills cannot be deleted. - [Delete user model](https://docs.hill90.com/api-reference/delete-user-model.md): Deletes a user-defined model. - [Detailed health check](https://docs.hill90.com/api-reference/detailed-health-check.md): Returns service health with database connectivity, uptime, memory usage, and Node.js version. Public — no authentication required. - [Export agent configuration](https://docs.hill90.com/api-reference/export-agent-configuration.md) - [Export agent events as CSV](https://docs.hill90.com/api-reference/export-agent-events-as-csv.md) - [Forward a user click to the agent browser](https://docs.hill90.com/api-reference/forward-a-user-click-to-the-agent-browser.md) - [Get agent detail](https://docs.hill90.com/api-reference/get-agent-detail.md): Returns a single agent, scoped to ownership. - [Get agent events](https://docs.hill90.com/api-reference/get-agent-events.md): Returns structured tool invocation and inference events for a running agent. Container events (shell, filesystem, runtime) come from the JSONL event log. Inference events (model_usage) are merged from the database with owner scoping. With follow=true, returns an SSE stream with initial inference bac… - [Get agent logs](https://docs.hill90.com/api-reference/get-agent-logs.md): Returns container logs. Requires admin role. With follow=true, returns an SSE stream (text/event-stream). Without follow, returns JSON with log text. - [Get agent status](https://docs.hill90.com/api-reference/get-agent-status.md): Returns agent status from DB and live container inspection. Scoped to ownership. - [Get agent tool install statuses](https://docs.hill90.com/api-reference/get-agent-tool-install-statuses.md): Returns per-tool installation status for the agent. Scoped to ownership. - [Get avatar image](https://docs.hill90.com/api-reference/get-avatar-image.md): Streams the user's avatar as image/webp. Supports ETag/If-None-Match. - [Get container profile](https://docs.hill90.com/api-reference/get-container-profile.md): Returns a single container profile by ID. - [Get current user claims](https://docs.hill90.com/api-reference/get-current-user-claims.md): Returns the JWT claims of the authenticated user. - [Get DOM element at coordinates (Describe mode)](https://docs.hill90.com/api-reference/get-dom-element-at-coordinates-describe-mode.md) - [Get MCP server detail](https://docs.hill90.com/api-reference/get-mcp-server-detail.md) - [Get model policy](https://docs.hill90.com/api-reference/get-model-policy.md): Returns a single model policy. Users can see own + platform policies. - [Get shared knowledge collection](https://docs.hill90.com/api-reference/get-shared-knowledge-collection.md): Returns a single collection. Users can see own private + shared. Admins see all. - [Get skill](https://docs.hill90.com/api-reference/get-skill.md): Returns a single skill. All authenticated users can read. - [Get source by ID](https://docs.hill90.com/api-reference/get-source-by-id.md): Returns a single source with its metadata, status, and chunk count. - [Get thread detail with messages](https://docs.hill90.com/api-reference/get-thread-detail-with-messages.md): Returns thread metadata, participants, and all messages. Requires participant membership or admin role. - [Get tool](https://docs.hill90.com/api-reference/get-tool.md): Returns a single tool. All authenticated users can read. - [Get user profile](https://docs.hill90.com/api-reference/get-user-profile.md): Returns the authenticated user's Keycloak profile and avatar status. - [Get workflow detail](https://docs.hill90.com/api-reference/get-workflow-detail.md) - [Get workflow run history](https://docs.hill90.com/api-reference/get-workflow-run-history.md) - [Health check](https://docs.hill90.com/api-reference/health-check.md): Returns service health status. Public — no authentication required. - [Import agent from exported config](https://docs.hill90.com/api-reference/import-agent-from-exported-config.md) - [Inbound webhook trigger (public, no auth)](https://docs.hill90.com/api-reference/inbound-webhook-trigger-public-no-auth.md) - [Ingest a source into a collection](https://docs.hill90.com/api-reference/ingest-a-source-into-a-collection.md): Creates a source, runs ingestion (chunking + indexing), and returns the source with ingest job summary. V1 supports text and markdown only. web_page source type returns 422. - [Knowledge API](https://docs.hill90.com/api-reference/knowledge.md): Agent knowledge management, shared knowledge library, hybrid search, and quality metrics. - [Knowledge graph — nodes and edges for visualization](https://docs.hill90.com/api-reference/knowledge-graph-—-nodes-and-edges-for-visualization.md) - [Latest browser screenshot for thread agent](https://docs.hill90.com/api-reference/latest-browser-screenshot-for-thread-agent.md) - [List agent journal entries](https://docs.hill90.com/api-reference/list-agent-journal-entries.md): Returns memory journal entries for context persistence, newest first. - [List agent templates](https://docs.hill90.com/api-reference/list-agent-templates.md) - [List agent webhooks](https://docs.hill90.com/api-reference/list-agent-webhooks.md) - [List agents](https://docs.hill90.com/api-reference/list-agents.md): Returns agents scoped to the authenticated user (all agents for admin). - [List agents with knowledge](https://docs.hill90.com/api-reference/list-agents-with-knowledge.md): Returns agents that have knowledge entries, with entry counts and last updated timestamps. Scoped to ownership — users see their own agents, admins see all. - [List chat threads](https://docs.hill90.com/api-reference/list-chat-threads.md): Lists threads the caller participates in. Admin sees all threads. Returns last message preview (truncated to 100 chars). - [List container profiles](https://docs.hill90.com/api-reference/list-container-profiles.md): Returns all container profiles. Used by agent form to populate the profile selector. - [List eligible models](https://docs.hill90.com/api-reference/list-eligible-models.md): Returns the caller's own user_models plus platform models (created_by IS NULL) that are eligible for use in policies and agent assignments. Only active models are returned by default. - [List knowledge entries](https://docs.hill90.com/api-reference/list-knowledge-entries.md): Returns knowledge entries for a specific agent. Requires agent_id query parameter. Users can only list entries for agents they own. Admins can list any agent's entries. - [List MCP servers](https://docs.hill90.com/api-reference/list-mcp-servers.md) - [List model policies](https://docs.hill90.com/api-reference/list-model-policies.md): Returns model policies. Admins see all; users see own + platform. - [List notifications for current user](https://docs.hill90.com/api-reference/list-notifications-for-current-user.md) - [List provider connections](https://docs.hill90.com/api-reference/list-provider-connections.md): Returns provider connections owned by the authenticated user. API keys are never exposed. - [List provider models](https://docs.hill90.com/api-reference/list-provider-models.md): Returns available models from the provider API for a given connection. Each model includes auto-detected type and capabilities. - [List shared knowledge collections](https://docs.hill90.com/api-reference/list-shared-knowledge-collections.md): Returns shared knowledge collections visible to the authenticated user. Users see own private + all shared collections. Admins see all. - [List skills](https://docs.hill90.com/api-reference/list-skills.md): Returns all skills. All authenticated users see all skills. - [List sources in a collection](https://docs.hill90.com/api-reference/list-sources-in-a-collection.md): Returns sources for a given collection. Visibility-scoped. - [List tools](https://docs.hill90.com/api-reference/list-tools.md): Returns all tools in the catalog. - [List user models](https://docs.hill90.com/api-reference/list-user-models.md): Returns models owned by the authenticated user plus platform models (created_by IS NULL), including single and router models. - [List vault secrets inventory](https://docs.hill90.com/api-reference/list-vault-secrets-inventory.md): Returns secrets schema grouped by vault path with key names and consumer service mappings. Admin only. NEVER returns secret values. - [List workflow steps](https://docs.hill90.com/api-reference/list-workflow-steps.md) - [List workflows](https://docs.hill90.com/api-reference/list-workflows.md) - [Manually trigger a workflow](https://docs.hill90.com/api-reference/manually-trigger-a-workflow.md) - [Mark all notifications as read](https://docs.hill90.com/api-reference/mark-all-notifications-as-read.md) - [Mark notification as read](https://docs.hill90.com/api-reference/mark-notification-as-read.md) - [Navigate browser history (back/forward/reload)](https://docs.hill90.com/api-reference/navigate-browser-history-backforwardreload.md) - [Navigate browser to URL](https://docs.hill90.com/api-reference/navigate-browser-to-url.md) - [API Reference](https://docs.hill90.com/api-reference/overview.md): Hill90 REST API endpoint documentation. - [Press a keyboard key (Enter, Tab, Escape, etc.)](https://docs.hill90.com/api-reference/press-a-keyboard-key-enter-tab-escape-etc.md) - [Get user preferences](https://docs.hill90.com/api-reference/profile/get-user-preferences.md) - [Update user preferences (shallow merge)](https://docs.hill90.com/api-reference/profile/update-user-preferences-shallow-merge.md) - [Query usage](https://docs.hill90.com/api-reference/query-usage.md): Query model usage with optional filtering by agent, model, request type, and date range. Supports grouping by agent, model, day, or request type. Users see own usage only (via owner column); admins see all. - [Read knowledge entry](https://docs.hill90.com/api-reference/read-knowledge-entry.md): Returns a single knowledge entry with full content. Users can only read entries from agents they own. Admins can read any entry. - [Reconcile tool installations](https://docs.hill90.com/api-reference/reconcile-tool-installations.md): Re-evaluates required tools from assigned skills and installs any missing tools in the running agent container. Already-installed tools are skipped. Stale install records for unassigned tools are cleaned up. Requires admin role. Agent must be running. - [Register agent webhook](https://docs.hill90.com/api-reference/register-agent-webhook.md) - [Remove a step from workflow](https://docs.hill90.com/api-reference/remove-a-step-from-workflow.md) - [Remove skill from agent](https://docs.hill90.com/api-reference/remove-skill-from-agent.md): Removes a skill assignment from an agent. Agent must be stopped. RBAC on scope: container_local — any user (own agents). host_docker/vps_system — admin only. - [Scroll the browser page](https://docs.hill90.com/api-reference/scroll-the-browser-page.md) - [Search knowledge entries](https://docs.hill90.com/api-reference/search-knowledge-entries.md): Full-text search across knowledge entries. Without agent_id, searches across all owned agents (or all agents for admins). With agent_id, searches only that agent's entries (ownership enforced for users). - [Search messages in a thread](https://docs.hill90.com/api-reference/search-messages-in-a-thread.md) - [Search shared knowledge](https://docs.hill90.com/api-reference/search-shared-knowledge.md): Full-text search across shared knowledge chunks. Results include provenance (source, document, collection metadata) and relevance scores. Scoped to user's visible collections. - [Send message in thread](https://docs.hill90.com/api-reference/send-message-in-thread.md): Sends a user message and dispatches work to the agent. Pre-checks: agent running, concurrency guard, elevated scope check. - [Set agent auto-start schedule](https://docs.hill90.com/api-reference/set-agent-auto-start-schedule.md) - [Shared knowledge quality stats](https://docs.hill90.com/api-reference/shared-knowledge-quality-stats.md): Returns aggregate quality and operations metrics for shared knowledge. Response contains only counts, rates, averages, and status distributions. No raw query text, no requester identifiers, no cross-user query logs. - [Skill-tool dependency graph](https://docs.hill90.com/api-reference/skill-tool-dependency-graph.md) - [SSE message stream](https://docs.hill90.com/api-reference/sse-message-stream.md): Server-Sent Events stream with DB-backed cursor replay via Last-Event-ID. - [Start agent](https://docs.hill90.com/api-reference/start-agent.md): Creates and starts the agent container. Requires admin role. - [Stop agent](https://docs.hill90.com/api-reference/stop-agent.md): Stops and removes the agent container. Requires admin role. - [Delete an object from a bucket](https://docs.hill90.com/api-reference/storage/delete-an-object-from-a-bucket.md) - [List MinIO buckets](https://docs.hill90.com/api-reference/storage/list-minio-buckets.md) - [List objects in a bucket](https://docs.hill90.com/api-reference/storage/list-objects-in-a-bucket.md) - [Upload a file to a bucket](https://docs.hill90.com/api-reference/storage/upload-a-file-to-a-bucket.md) - [Cancel task](https://docs.hill90.com/api-reference/tasks/cancel-task.md) - [Create task](https://docs.hill90.com/api-reference/tasks/create-task.md) - [Get task](https://docs.hill90.com/api-reference/tasks/get-task.md) - [List tasks](https://docs.hill90.com/api-reference/tasks/list-tasks.md) - [Transition task status](https://docs.hill90.com/api-reference/tasks/transition-task-status.md) - [Update task](https://docs.hill90.com/api-reference/tasks/update-task.md) - [Thread-scoped agent event stream](https://docs.hill90.com/api-reference/thread-scoped-agent-event-stream.md): Server-side validated, correlation-filtered event stream for all running agents in the thread. Validates participant membership, resolves active agents, proxies their event streams, and filters to events whose correlation_id matches a message_id in this thread. Returns SSE when follow=true, JSON arr… - [Type text into the focused element](https://docs.hill90.com/api-reference/type-text-into-the-focused-element.md) - [Update a workflow](https://docs.hill90.com/api-reference/update-a-workflow.md) - [Update agent](https://docs.hill90.com/api-reference/update-agent.md): Updates agent configuration. Agent must be stopped. Users can assign own or platform policies to own agents. - [Update an MCP server](https://docs.hill90.com/api-reference/update-an-mcp-server.md) - [Update container profile](https://docs.hill90.com/api-reference/update-container-profile.md): Updates a container profile. Admin only. is_platform cannot be changed via API. - [Update display name](https://docs.hill90.com/api-reference/update-display-name.md): Updates firstName and/or lastName via Keycloak Account API. - [Update model policy](https://docs.hill90.com/api-reference/update-model-policy.md): Updates a model policy. Users can update own policies; admins can update any. model_aliases can only be set by admins. - [Update provider connection](https://docs.hill90.com/api-reference/update-provider-connection.md): Updates a provider connection. If api_key is provided, it is re-encrypted and is_valid is reset. - [Update shared knowledge collection](https://docs.hill90.com/api-reference/update-shared-knowledge-collection.md): Updates a collection. Users can only update own collections. - [Update skill](https://docs.hill90.com/api-reference/update-skill.md): Updates a skill. Admin only. Platform skills are immutable (403). - [Update thread](https://docs.hill90.com/api-reference/update-thread.md): Update thread title and/or lead agent. Requires thread owner or admin role. Set lead_agent_id to enable collaborative mode (lead agent produces single combined response). Set to null to revert to broadcast dispatch. - [Update tool](https://docs.hill90.com/api-reference/update-tool.md): Updates a tool. Admin only. Platform tools are immutable (403). - [Update user model](https://docs.hill90.com/api-reference/update-user-model.md): Updates a user-defined model. Supports type transitions (single to router and vice versa). Name collision checks apply on rename. - [Upload agent avatar](https://docs.hill90.com/api-reference/upload-agent-avatar.md) - [Upload avatar](https://docs.hill90.com/api-reference/upload-avatar.md): Upload or replace avatar image. Resized to 256x256 WebP. - [Validate all connections](https://docs.hill90.com/api-reference/validate-all-connections.md): Validates all provider connections owned by the authenticated user sequentially. Returns per-connection results with latency and error details. - [Validate provider connection](https://docs.hill90.com/api-reference/validate-provider-connection.md): Tests whether the provider key is valid by sending a lightweight request through the AI service. Updates is_valid on the connection. - [Vault seal status](https://docs.hill90.com/api-reference/vault-seal-status.md): Returns vault health status. Degrades gracefully if vault is unreachable. Admin only. - [Architecture Overview](https://docs.hill90.com/architecture/overview.md): High-level architecture of the Hill90 platform. - [Services](https://docs.hill90.com/architecture/services.md): Service inventory and responsibilities. - [Agent Tools](https://docs.hill90.com/features/agent-tools.md): Complete reference for the 11 tools available to agents running in the agentbox sandbox. - [Browser Viewer](https://docs.hill90.com/features/browser-viewer.md): Live browser-in-browser experience for observing and controlling agent Playwright sessions. - [Authentication](https://docs.hill90.com/getting-started/authentication.md): How authentication and authorization work in Hill90. - [Overview](https://docs.hill90.com/getting-started/overview.md): What Hill90 is, how it works, and the technology stack. - [Quickstart](https://docs.hill90.com/getting-started/quickstart.md): Get started with the Hill90 platform. - [Hill90 Documentation](https://docs.hill90.com/index.md): Documentation for the Hill90 microservices platform. ## OpenAPI Specs - [openapi](https://docs.hill90.com/openapi.yaml)