Amove Click API Documentation
Introduction
The Click API is a local HTTP service exposed by the Amove desktop agent on the machine where it is installed. It allows scripted integration with drives, backups, transfers, and related desktop-side operations.
This API is bound to
http://localhost:29123on a machine running the Amove desktop agent. It is not a hosted service and cannot be reached remotely.
Table of Contents
- Base URL
- Authentication
- API Endpoints
- Error Model
- WebSockets
- Routes
- Differences from the Web API
- Getting Started
Base URL
http://localhost:29123
The port is configurable via the agent's appsettings.HostUrl configuration; 29123 is the default.
Authentication
Protected endpoints accept a token as a query-string parameter (?token=...), not an Authorization header.
GET http://localhost:29123/user/get_all_users?token=YOUR_TOKEN
To obtain a token, use the Authentication endpoints — for example, POST /authentication/login with username and password. The agent uses the same JWT-based session model as the Amove Web API.
Some endpoints are public (no token required) — primarily signup and initial login flows. These are listed with "Auth Required: No".
API Endpoints
Endpoints are grouped by controller. Each file below documents one controller:
- Authentication — sign up, login, MFA, profile management
- User — user account management
- UserGroup — user group management
- UsersPermission — permissions for projects and shared drives
- Projects — project management
- SharedCloudDrive — shared cloud drive management
- Cloud — cloud accounts, storage operations, OAuth, P2P transfers
- Storage — storage access keys and bucket administration
- Transfer — cloud-to-cloud transfers
- TransferHistory — historical transfer records
- SSO — single sign-on configuration (Okta, SAML, Entra ID)
- FastrSettings — Fastr settings per cloud account
- ApiToken — API token management
- AccountLogSetting — account log configuration
- BackupReport — backup reporting endpoints
- DriveReport — drive reporting endpoints
- Management — local agent management (drives, backups, mounts, file system)
Cross-cutting documents:
- WebSockets — real-time notification channels
- Error Model — HTTP status codes and application error codes
Error Model
The Click API uses HTTP 499 for application-level validation errors, 401 Unauthorized for authentication failures, and 500 Internal Server Error for unexpected server errors. See errors.md for full details and the list of application error codes.
WebSockets
Two WebSocket endpoints push real-time events from the agent:
| Path | Purpose |
|---|---|
/notification | User-level notifications (progress, announcements, app lifecycle) |
/statechange | File state change events (cache, offline status, sync state) |
See websockets.md for frame formats and sample clients.
Routes
Click API routes are of the form /<controller>/<action>. There is no /api/v1/ prefix.
Differences from the Web API
| Aspect | Web API (api.amove.io) | Click API (localhost:29123) |
|---|---|---|
| Host | Hosted service | Local desktop agent |
| Path prefix | /api/v1/... | /<controller>/... |
| Auth transport | Authorization: Bearer header | ?token= query parameter |
| CORS | Broadly open | Restricted to configured origins |
| Real-time | SignalR hub at /api/rm | Native WebSockets at /notification and /statechange |
Getting Started
- Install and sign in to the Amove desktop agent on the target machine.
- Confirm the agent is running — a GET to
http://localhost:29123/management/agent_statusreturns a status object without requiring a token. - Obtain a token via the Authentication flow.
- Call any protected endpoint with the token as a query parameter.
import requests
token = "YOUR_TOKEN"
response = requests.get(
"http://localhost:29123/user/get_all_users",
params={"token": token, "page": 1, "pagesize": 10},
)
print(response.json())