---
title: "agenthold API"
---

> Documentation Index
> Fetch the complete documentation index at: https://agenthold.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# agenthold API

REST API of the agenthold server. Browser clients authenticate with the
session cookie set by the login flow. All paths are under /api/v1.

Version: 0.1.0

## Servers

- `/api/v1`

## [auth-flow](https://agenthold.dev/api/tags/auth-flow/)

Browser redirects of the login flow. Not JSON endpoints.

- [login](https://agenthold.dev/api/login/) — `GET /auth/login/{provider}`
- [loginCallback](https://agenthold.dev/api/login-callback/) — `GET /auth/callback/{provider}`
- [logout](https://agenthold.dev/api/logout/) — `POST /auth/logout`
- [deliverWebhook](https://agenthold.dev/api/deliver-webhook/) — `POST /hooks/{token}`

## [auth](https://agenthold.dev/api/tags/auth/)

- [listAuthProviders](https://agenthold.dev/api/list-auth-providers/) — `GET /auth/providers`
- [getMe](https://agenthold.dev/api/me/list/) — `GET /me`

## [workspaces](https://agenthold.dev/api/tags/workspaces/)

- [listWorkspaces](https://agenthold.dev/api/workspaces/list/) — `GET /workspaces`
- [createWorkspace](https://agenthold.dev/api/workspaces/create/) — `POST /workspaces`
- [getWorkspace](https://agenthold.dev/api/workspaces/retrieve/) — `GET /workspaces/{workspaceId}`
- [deleteWorkspace](https://agenthold.dev/api/workspaces/delete/) — `DELETE /workspaces/{workspaceId}`
- [updateWorkspace](https://agenthold.dev/api/workspaces/update/) — `PATCH /workspaces/{workspaceId}`
- [listMembers](https://agenthold.dev/api/list-members/) — `GET /workspaces/{workspaceId}/members`
- [removeMember](https://agenthold.dev/api/remove-member/) — `DELETE /workspaces/{workspaceId}/members/{userId}`
- [updateMember](https://agenthold.dev/api/update-member/) — `PATCH /workspaces/{workspaceId}/members/{userId}`

## [invites](https://agenthold.dev/api/tags/invites/)

- [listInvites](https://agenthold.dev/api/list-invites/) — `GET /workspaces/{workspaceId}/invites`
- [createInvite](https://agenthold.dev/api/create-invite/) — `POST /workspaces/{workspaceId}/invites`
- [revokeInvite](https://agenthold.dev/api/revoke-invite/) — `DELETE /workspaces/{workspaceId}/invites/{inviteId}`
- [getInvite](https://agenthold.dev/api/invites/retrieve/) — `GET /invites/{token}`
- [acceptInvite](https://agenthold.dev/api/accept-invite/) — `POST /invites/{token}/accept`

## [agents](https://agenthold.dev/api/tags/agents/)

- [getSandboxLimits](https://agenthold.dev/api/get-sandbox-limits/) — `GET /sandbox/limits`
- [listAgents](https://agenthold.dev/api/list-agents/) — `GET /workspaces/{workspaceId}/agents`
- [createAgent](https://agenthold.dev/api/create-agent/) — `POST /workspaces/{workspaceId}/agents`
- [getAgent](https://agenthold.dev/api/agents/retrieve/) — `GET /agents/{agentId}`
- [deleteAgent](https://agenthold.dev/api/agents/delete/) — `DELETE /agents/{agentId}`
- [updateAgent](https://agenthold.dev/api/agents/update/) — `PATCH /agents/{agentId}`
- [startAgent](https://agenthold.dev/api/start-agent/) — `POST /agents/{agentId}/start`
- [stopAgent](https://agenthold.dev/api/stop-agent/) — `POST /agents/{agentId}/stop`
- [rebuildAgent](https://agenthold.dev/api/rebuild-agent/) — `POST /agents/{agentId}/rebuild`

## [files](https://agenthold.dev/api/tags/files/)

- [listFiles](https://agenthold.dev/api/list-files/) — `GET /agents/{agentId}/files`
- [deleteFile](https://agenthold.dev/api/delete-file/) — `DELETE /agents/{agentId}/files`
- [downloadFile](https://agenthold.dev/api/download-file/) — `GET /agents/{agentId}/files/content`
- [uploadFile](https://agenthold.dev/api/upload-file/) — `PUT /agents/{agentId}/files/content`
- [makeDirectory](https://agenthold.dev/api/make-directory/) — `POST /agents/{agentId}/files/mkdir`

## [sessions](https://agenthold.dev/api/tags/sessions/)

- [listHarnesses](https://agenthold.dev/api/harnesses/list/) — `GET /harnesses`
- [getHarness](https://agenthold.dev/api/get-harness/) — `GET /agents/{agentId}/harness`
- [listSessions](https://agenthold.dev/api/list-sessions/) — `GET /agents/{agentId}/sessions`
- [createSession](https://agenthold.dev/api/create-session/) — `POST /agents/{agentId}/sessions`
- [getSession](https://agenthold.dev/api/sessions/retrieve/) — `GET /sessions/{sessionId}`
- [deleteSession](https://agenthold.dev/api/sessions/delete/) — `DELETE /sessions/{sessionId}`
- [renameSession](https://agenthold.dev/api/sessions/update/) — `PATCH /sessions/{sessionId}`
- [promptSession](https://agenthold.dev/api/prompt-session/) — `POST /sessions/{sessionId}/prompt`
- [cancelSession](https://agenthold.dev/api/cancel-session/) — `POST /sessions/{sessionId}/cancel`
- [answerPermission](https://agenthold.dev/api/answer-permission/) — `POST /sessions/{sessionId}/permissions/{requestId}`
- [listSessionEvents](https://agenthold.dev/api/list-session-events/) — `GET /sessions/{sessionId}/events`

## [sharing](https://agenthold.dev/api/tags/sharing/)

- [listGrants](https://agenthold.dev/api/list-grants/) — `GET /agents/{agentId}/grants`
- [setGrant](https://agenthold.dev/api/set-grant/) — `POST /agents/{agentId}/grants`
- [deleteGrant](https://agenthold.dev/api/delete-grant/) — `DELETE /agents/{agentId}/grants/{grantId}`
- [listAgentAudit](https://agenthold.dev/api/list-agent-audit/) — `GET /agents/{agentId}/audit`

## [tokens](https://agenthold.dev/api/tags/tokens/)

- [listTokens](https://agenthold.dev/api/list-tokens/) — `GET /me/tokens`
- [createToken](https://agenthold.dev/api/create-token/) — `POST /me/tokens`
- [deleteToken](https://agenthold.dev/api/delete-token/) — `DELETE /me/tokens/{tokenId}`

## [provider-logins](https://agenthold.dev/api/tags/provider-logins/)

Claude Code and Codex logins kept on your account and used by your agents.

- [listProviderLogins](https://agenthold.dev/api/list-provider-logins/) — `GET /me/provider-logins`
- [connectProviderLogin](https://agenthold.dev/api/connect-provider-login/) — `PUT /me/provider-logins/{provider}`
- [disconnectProviderLogin](https://agenthold.dev/api/disconnect-provider-login/) — `DELETE /me/provider-logins/{provider}`
- [useMyLogins](https://agenthold.dev/api/use-my-logins/) — `PUT /agents/{agentId}/login`
- [stopUsingLogins](https://agenthold.dev/api/stop-using-logins/) — `DELETE /agents/{agentId}/login`

## [triggers](https://agenthold.dev/api/tags/triggers/)

Schedules and webhooks.

- [listSchedules](https://agenthold.dev/api/list-schedules/) — `GET /agents/{agentId}/schedules`
- [createSchedule](https://agenthold.dev/api/create-schedule/) — `POST /agents/{agentId}/schedules`
- [updateSchedule](https://agenthold.dev/api/schedules/update/) — `PUT /schedules/{scheduleId}`
- [deleteSchedule](https://agenthold.dev/api/schedules/delete/) — `DELETE /schedules/{scheduleId}`
- [runSchedule](https://agenthold.dev/api/run-schedule/) — `POST /schedules/{scheduleId}/run`
- [listWebhooks](https://agenthold.dev/api/list-webhooks/) — `GET /agents/{agentId}/webhooks`
- [createWebhook](https://agenthold.dev/api/create-webhook/) — `POST /agents/{agentId}/webhooks`
- [updateWebhook](https://agenthold.dev/api/webhook/update/) — `PUT /webhooks/{webhookId}`
- [deleteWebhook](https://agenthold.dev/api/webhook/delete/) — `DELETE /webhooks/{webhookId}`

## [tools](https://agenthold.dev/api/tags/tools/)

MCP servers and skills.

- [listWorkspaceMCPServers](https://agenthold.dev/api/list-workspace-mcp-servers/) — `GET /workspaces/{workspaceId}/mcp-servers`
- [createWorkspaceMCPServer](https://agenthold.dev/api/create-workspace-mcp-server/) — `POST /workspaces/{workspaceId}/mcp-servers`
- [listAgentMCPServers](https://agenthold.dev/api/list-agent-mcp-servers/) — `GET /agents/{agentId}/mcp-servers`
- [createAgentMCPServer](https://agenthold.dev/api/create-agent-mcp-server/) — `POST /agents/{agentId}/mcp-servers`
- [attachMCPServer](https://agenthold.dev/api/attach-mcp-server/) — `PUT /agents/{agentId}/mcp-servers/{serverId}`
- [detachMCPServer](https://agenthold.dev/api/detach-mcp-server/) — `DELETE /agents/{agentId}/mcp-servers/{serverId}`
- [updateMCPServer](https://agenthold.dev/api/mcp-servers/update/) — `PUT /mcp-servers/{serverId}`
- [deleteMCPServer](https://agenthold.dev/api/mcp-servers/delete/) — `DELETE /mcp-servers/{serverId}`
- [listSkills](https://agenthold.dev/api/list-skills/) — `GET /workspaces/{workspaceId}/skills`
- [createSkill](https://agenthold.dev/api/create-skill/) — `POST /workspaces/{workspaceId}/skills`
- [updateSkill](https://agenthold.dev/api/skills/update/) — `PUT /skills/{skillId}`
- [deleteSkill](https://agenthold.dev/api/skills/delete/) — `DELETE /skills/{skillId}`
- [listAgentSkills](https://agenthold.dev/api/list-agent-skills/) — `GET /agents/{agentId}/skills`
- [attachSkill](https://agenthold.dev/api/attach-skill/) — `PUT /agents/{agentId}/skills/{skillId}`
- [detachSkill](https://agenthold.dev/api/detach-skill/) — `DELETE /agents/{agentId}/skills/{skillId}`

## [secrets](https://agenthold.dev/api/tags/secrets/)

- [listSecretPresets](https://agenthold.dev/api/list-secret-presets/) — `GET /secrets/presets`
- [listSecrets](https://agenthold.dev/api/list-secrets/) — `GET /workspaces/{workspaceId}/secrets`
- [createSecret](https://agenthold.dev/api/create-secret/) — `POST /workspaces/{workspaceId}/secrets`
- [deleteSecret](https://agenthold.dev/api/secrets/delete/) — `DELETE /secrets/{secretId}`
- [updateSecret](https://agenthold.dev/api/secrets/update/) — `PATCH /secrets/{secretId}`
- [listAgentSecrets](https://agenthold.dev/api/list-agent-secrets/) — `GET /agents/{agentId}/secrets`
- [attachSecret](https://agenthold.dev/api/attach-secret/) — `PUT /agents/{agentId}/secrets/{secretId}`
- [detachSecret](https://agenthold.dev/api/detach-secret/) — `DELETE /agents/{agentId}/secrets/{secretId}`

## [egress](https://agenthold.dev/api/tags/egress/)

- [getEgressCA](https://agenthold.dev/api/get-egress-ca/) — `GET /egress/ca.pem`
- [getNetworkPolicy](https://agenthold.dev/api/get-network-policy/) — `GET /agents/{agentId}/network-policy`
- [setNetworkPolicy](https://agenthold.dev/api/set-network-policy/) — `PUT /agents/{agentId}/network-policy`
- [listEgressLog](https://agenthold.dev/api/list-egress-log/) — `GET /agents/{agentId}/egress-log`

## [streams](https://agenthold.dev/api/tags/streams/)

WebSocket endpoints. Not generated as JSON handlers.

- [openTerminal](https://agenthold.dev/api/open-terminal/) — `GET /agents/{agentId}/terminal`
- [streamSession](https://agenthold.dev/api/stream-session/) — `GET /sessions/{sessionId}/stream`

## [meta](https://agenthold.dev/api/tags/meta/)

- [getVersion](https://agenthold.dev/api/version/list/) — `GET /version`


Source: https://agenthold.dev/api/index.md
