117 lines
4.6 KiB
Markdown
117 lines
4.6 KiB
Markdown
# Admin API
|
|
|
|
Admin API используется UI для управления Crank Community.
|
|
|
|
Base path:
|
|
|
|
```text
|
|
/api/admin
|
|
```
|
|
|
|
## Auth
|
|
|
|
- `POST /api/auth/login`
|
|
- `POST /api/auth/logout`
|
|
- `GET /api/auth/session`
|
|
- `GET /api/auth/profile`
|
|
- `PATCH /api/auth/profile`
|
|
- `POST /api/auth/current-workspace`
|
|
- `POST /api/auth/password`
|
|
|
|
Авторизация основана на email/password и HttpOnly session cookie.
|
|
|
|
## Capabilities
|
|
|
|
- `GET /api/admin/capabilities`
|
|
- `GET /api/admin/workspaces/{workspace_id}/protocol-capabilities`
|
|
|
|
Community capabilities:
|
|
|
|
- supported protocol: `rest`
|
|
- supported security level: `standard`
|
|
- machine access mode: static agent key
|
|
|
|
## Workspaces
|
|
|
|
- `GET /api/admin/workspaces`
|
|
- `POST /api/admin/workspaces`
|
|
- `GET /api/admin/workspaces/{workspace_id}`
|
|
- `PATCH /api/admin/workspaces/{workspace_id}`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}`
|
|
- `GET /api/admin/workspaces/{workspace_id}/members`
|
|
- `PATCH /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/members/{user_id}`
|
|
|
|
## Operations
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/operations`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations`
|
|
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}`
|
|
- `PATCH /api/admin/workspaces/{workspace_id}/operations/{operation_id}`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/operations/{operation_id}`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/versions`
|
|
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}/versions/{version}`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/publish`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/archive`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/test-runs`
|
|
- `GET /api/admin/workspaces/{workspace_id}/operations/{operation_id}/export`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/import`
|
|
|
|
Community принимает только `protocol = rest`.
|
|
|
|
## Samples
|
|
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/samples/input-json`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/samples/output-json`
|
|
- `POST /api/admin/workspaces/{workspace_id}/operations/{operation_id}/drafts/generate`
|
|
|
|
## Secrets
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/secrets`
|
|
- `POST /api/admin/workspaces/{workspace_id}/secrets`
|
|
- `GET /api/admin/workspaces/{workspace_id}/secrets/{secret_id}`
|
|
- `POST /api/admin/workspaces/{workspace_id}/secrets/{secret_id}/rotate`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/secrets/{secret_id}`
|
|
|
|
Create-response может вернуть plaintext secret только один раз. List/read endpoints
|
|
возвращают только metadata.
|
|
|
|
## Auth profiles
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/auth-profiles`
|
|
- `POST /api/admin/workspaces/{workspace_id}/auth-profiles`
|
|
- `GET /api/admin/workspaces/{workspace_id}/auth-profiles/{auth_profile_id}`
|
|
- `PATCH /api/admin/workspaces/{workspace_id}/auth-profiles/{auth_profile_id}`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/auth-profiles/{auth_profile_id}`
|
|
|
|
Auth profile хранит ссылки на secrets и способ применения credential к REST request.
|
|
|
|
## Agents
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/agents`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents`
|
|
- `GET /api/admin/workspaces/{workspace_id}/agents/{agent_id}`
|
|
- `PATCH /api/admin/workspaces/{workspace_id}/agents/{agent_id}`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/agents/{agent_id}`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/versions`
|
|
- `GET /api/admin/workspaces/{workspace_id}/agents/{agent_id}/versions/{version}`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/publish`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/unpublish`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/archive`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/bindings`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/agents/{agent_id}/bindings/{operation_id}`
|
|
|
|
## Agent API keys
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/agents/{agent_id}/platform-api-keys`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/platform-api-keys`
|
|
- `POST /api/admin/workspaces/{workspace_id}/agents/{agent_id}/platform-api-keys/{key_id}/revoke`
|
|
- `DELETE /api/admin/workspaces/{workspace_id}/agents/{agent_id}/platform-api-keys/{key_id}`
|
|
|
|
Полное значение ключа доступно только в create-response.
|
|
|
|
## Logs и usage
|
|
|
|
- `GET /api/admin/workspaces/{workspace_id}/logs`
|
|
- `GET /api/admin/workspaces/{workspace_id}/usage`
|