License
The license endpoints let administrators check the current license status and activate new licenses on a Canvus Server. A valid license controls how many Canvus clients can connect simultaneously.
Canvus supports two activation methods:
- Online activation -- The server contacts the licensing service directly using an activation key.
- Offline activation -- For air-gapped environments. You generate an activation request on the server, submit it manually to MultiTaction, and install the resulting license data.
All license endpoints require administrator authentication.
Get License Info
Returns the current license status, including validity, expiration date, edition, and client limits.
Request
- Method:
GET - URL:
/api/v1/license - Authentication: Admin required (
Private-Tokenheader) - Streaming: Supported via
?subscribequery parameter
Response Fields
is_valid-- Boolean. Whether the license is currently valid and active.has_expired-- Boolean. Whether the license has passed its expiration date.valid_until-- String. Expiration date inYYYY-MM-DDformat.max_clients-- Integer. Maximum number of simultaneous Canvus client connections allowed.-1means unlimited.edition-- String. License edition identifier (e.g.,"enterprise"). Empty string if not set.type-- String. License type identifier. Empty string if not set.
Example Request
curl -H "Private-Token: glpat-a4F8kNz2Qx9bR7cY" \
https://canvus.example.com/api/v1/license
Example Response
{
"edition": "enterprise",
"has_expired": false,
"is_valid": true,
"max_clients": 25,
"type": "subscription",
"valid_until": "2027-03-15"
}
Streaming Example
To receive live updates when the license status changes (e.g., a new license is activated or the current one expires), add ?subscribe:
curl -N -H "Private-Token: glpat-a4F8kNz2Qx9bR7cY" \
"https://canvus.example.com/api/v1/license?subscribe"
Error Responses
- 401 Unauthorized --
{"msg": "error description"}-- Missing or invalid authentication token. - 403 Forbidden --
{"msg": "error description"}-- Authenticated user is not an administrator.
Activate License (Online)
Activates a license by contacting the licensing service over the internet. The server sends the activation key to the licensing service and installs the returned license automatically.
This requires the Canvus Server to have outbound internet access to the MultiTaction licensing service.
Request
- Method:
POST - URL:
/api/v1/license/activate - Authentication: Admin required (
Private-Tokenheader) - Content-Type:
application/json - Streaming: Not applicable
Request Body Fields
key-- String, required. The license activation key provided by MultiTaction (format:XXXX-XXXX-XXXX-XXXX).
Example Request
curl -X POST \
-H "Private-Token: glpat-a4F8kNz2Qx9bR7cY" \
-H "Content-Type: application/json" \
-d '{"key": "A1B2-C3D4-E5F6-G7H8"}' \
https://canvus.example.com/api/v1/license/activate
Error Responses
- 400 Bad Request --
{"msg": "error description"}-- Invalid key format or activation rejected by the licensing service. - 401 Unauthorized --
{"msg": "error description"}-- Missing or invalid authentication token. - 402 Payment Required --
{"msg": "error description"}-- License key is not valid or has been revoked. - 403 Forbidden --
{"msg": "error description"}-- Authenticated user is not an administrator. - 500 Internal Server Error --
{"msg": "error description"}-- Could not reach the licensing service (check outbound network access).
Get Offline Activation Request
Generates an activation request payload for environments where the Canvus Server cannot reach the internet. You submit this payload to MultiTaction through a separate channel (email, web portal) to receive the license data for installation.
Request
- Method:
GET - URL:
/api/v1/license/request - Authentication: Admin required (
Private-Tokenheader) - Streaming: Not applicable
Query Parameters
key-- String, required. The license activation key provided by MultiTaction (format:XXXX-XXXX-XXXX-XXXX).
Example Request
curl -H "Private-Token: glpat-a4F8kNz2Qx9bR7cY" \
"https://canvus.example.com/api/v1/license/request?key=A1B2-C3D4-E5F6-G7H8"
Example Response
The response contains the activation request payload. Save this output and provide it to MultiTaction to receive your license data.
Error Responses
- 400 Bad Request --
{"msg": "error description"}-- Missing or invalid key parameter. - 401 Unauthorized --
{"msg": "error description"}-- Missing or invalid authentication token. - 403 Forbidden --
{"msg": "error description"}-- Authenticated user is not an administrator.
Install License (Offline)
Installs a license obtained through the offline activation process. After submitting your activation request to MultiTaction and receiving the license data, use this endpoint to install it.
Request
- Method:
POST - URL:
/api/v1/license - Authentication: Admin required (
Private-Tokenheader) - Content-Type:
application/json - Streaming: Not applicable
Request Body Fields
license-- String, required. The license data received from MultiTaction's offline activation process.
Example Request
curl -X POST \
-H "Private-Token: glpat-a4F8kNz2Qx9bR7cY" \
-H "Content-Type: application/json" \
-d '{"license": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9..."}' \
https://canvus.example.com/api/v1/license
Error Responses
- 400 Bad Request --
{"msg": "error description"}-- Invalid or corrupted license data. - 401 Unauthorized --
{"msg": "error description"}-- Missing or invalid authentication token. - 403 Forbidden --
{"msg": "error description"}-- Authenticated user is not an administrator.