Skip to main content

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:29123 on a machine running the Amove desktop agent. It is not a hosted service and cannot be reached remotely.

Table of Contents

  1. Base URL
  2. Authentication
  3. API Endpoints
  4. Error Model
  5. WebSockets
  6. Routes
  7. Differences from the Web API
  8. 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:

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:

PathPurpose
/notificationUser-level notifications (progress, announcements, app lifecycle)
/statechangeFile 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

AspectWeb API (api.amove.io)Click API (localhost:29123)
HostHosted serviceLocal desktop agent
Path prefix/api/v1/.../<controller>/...
Auth transportAuthorization: Bearer header?token= query parameter
CORSBroadly openRestricted to configured origins
Real-timeSignalR hub at /api/rmNative WebSockets at /notification and /statechange

Getting Started

  1. Install and sign in to the Amove desktop agent on the target machine.
  2. Confirm the agent is running — a GET to http://localhost:29123/management/agent_status returns a status object without requiring a token.
  3. Obtain a token via the Authentication flow.
  4. 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())