API Reference · v2.3.0

CloudStick REST API

The CloudStick API is organized around REST. It has predictable, resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

All requests are made over HTTPS to the base URL below. Requests made over plain HTTP are rejected.

BASE_URL = https://version2-api.cloudstick.io

Every endpoint is prefixed with /api/v2.

Authentication
Pass your API key as a Bearer token in the Authorization header of every request:
Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7

You can find or regenerate your API key in the CloudStick dashboard under Account → API Keys.

Errors

CloudStick uses conventional HTTP response codes to indicate success or failure. Codes in the 2xx range indicate success; codes in the 4xx range indicate a client error; codes in the 5xx range indicate a server error.

All error responses share the same shape:

{
  "message": "Error description"
}
CodeMeaning
200OK
201Created
400Bad Request — malformed or missing parameters.
401Unauthorized — no valid credentials supplied.
403Forbidden — credentials lack permission.
404Not Found — resource does not exist.
409Conflict — request conflicts with current state.
429Too Many Requests — rate limit hit.
500Internal Server Error — something went wrong on our end.

Pagination

List endpoints accept pagination parameters and return a consistent envelope. Pagination is controlled with two query parameters:

ParameterTypeDescription
pageintegerPage number. Defaults to 1.
limitintegerItems per page. Default 20, max 100.

Paginated responses are wrapped as follows:

{
  "data": [ ... ],
  "total": 120,
  "page": 1,
  "limit": 20
}

Rate limiting

Rate limiting is delegated to CloudStick's edge infrastructure. If you exceed the allowed request rate, the API responds with 429 Too Many Requests.

When you receive a 429, back off and retry after a short delay. Implement exponential backoff in production integrations.
{
  "message": "Too Many Requests"
}

Users

Manage the authenticated user's profile, credentials, API keys and account history.

Get profile

GET/api/v2/users/{uid}

Retrieve the profile of a user.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": {
    "uid": "usr_8Kd92Lm",
    "email": "[email protected]",
    "first_name": "Jane",
    "last_name": "Doe",
    "phone": "+1-202-555-0143",
    "role": "customer",
    "plan": "pro",
    "verified": true,
    "created_at": "2026-01-04T12:00:00Z"
  }
}

Update profile

PATCH/api/v2/users/{uid}

Update profile fields. Only the supplied fields are changed.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
first_namestringoptionalUpdated first name.
last_namestringoptionalUpdated last name.
phonestringoptionalUpdated phone number (E.164).
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Smith"
  }'
Response200 OK
{
  "data": {
    "uid": "usr_8Kd92Lm",
    "first_name": "Jane",
    "last_name": "Smith",
    "phone": "+1-202-555-0199"
  }
}

Change password

PATCH/api/v2/users/{uid}/password

Change the password for an authenticated user. The current password must be supplied.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
old_passwordstringrequiredThe current password.
new_passwordstringrequiredThe new password.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm/password" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{
    "old_password": "S3curePass!",
    "new_password": "N3wSecret!"
  }'
Response200 OK
{
  "message": "Password changed successfully"
}

Delete account

DELETE/api/v2/users/{uid}

Permanently delete the user account and all associated resources. This action cannot be undone.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Account deleted"
}

Regenerate API key

POST/api/v2/users/{uid}/regenerate/apikey

Generate a new API key, immediately invalidating the previous key. Store the returned key securely — it is shown only once.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm/regenerate/apikey" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": {
    "api_key": "cs_live_9z8y7x6w5v4u3t2s1r0q"
  }
}

List login history

GET/api/v2/users/{uid}/login-history

Return a paginated list of login events for the user.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Query parameters
FieldTypeDescription
pageintegeroptionalPage number (default 1).
limitintegeroptionalItems per page (max 100).
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm/login-history?page=1&limit=20" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "id": "login_1",
      "ip": "203.0.113.42",
      "country": "US",
      "created_at": "2026-06-18T09:12:00Z"
    }
  ],
  "total": 24,
  "page": 1,
  "limit": 20
}

List account activity

GET/api/v2/users/{uid}/activity

Return a paginated activity log for the user account.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Query parameters
FieldTypeDescription
pageintegeroptionalPage number.
limitintegeroptionalItems per page (max 100).
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm/activity" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "id": "act_5",
      "action": "server.added",
      "detail": "prod-web-01",
      "created_at": "2026-06-10T14:00:00Z"
    }
  ],
  "total": 8,
  "page": 1,
  "limit": 20
}

List pending confirmations

GET/api/v2/users/{uid}/pending

Return all pending confirmation requests (server transfers, team invites, etc.) for the user.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/users/usr_8Kd92Lm/pending" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "id": "pending_3",
      "type": "server_transfer",
      "detail": "srv_9Lk44",
      "created_at": "2026-06-19T08:00:00Z"
    }
  ]
}

Servers

Add, configure, and monitor your cloud servers.

Add a server

POST/api/v2/servers/users/{uid}

Connect a new server to Cloudstick. The agent is installed automatically.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
namestringrequiredFriendly name for the server.
ipstringrequiredPublic IPv4 address.
providerstringoptionalCloud provider slug, e.g. digitalocean.
osstringoptionalOS slug, e.g. ubuntu-22.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/servers/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "prod-web-01",
    "ip": "198.51.100.10",
    "provider": "digitalocean"
  }'
Response200 OK
{
  "data": {
    "sid": "srv_9Lk44",
    "name": "prod-web-01",
    "ip": "198.51.100.10",
    "status": "provisioning"
  }
}

List servers

GET/api/v2/servers/users/{uid}

Return all servers belonging to the user.

Path parameters
FieldTypeDescription
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/servers/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "sid": "srv_9Lk44",
      "name": "prod-web-01",
      "ip": "198.51.100.10",
      "status": "active",
      "php_cli_version": "8.3"
    }
  ]
}

Get server details

GET/api/v2/servers/{sid}/users/{uid}

Retrieve detailed information about a specific server.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": {
    "sid": "srv_9Lk44",
    "name": "prod-web-01",
    "ip": "198.51.100.10",
    "os": "Ubuntu 22.04",
    "status": "active",
    "timezone": "UTC",
    "php_cli_version": "8.3",
    "created_at": "2026-03-01T10:00:00Z"
  }
}

Delete server

DELETE/api/v2/servers/{sid}/users/{uid}

Remove a server from Cloudstick. The agent is uninstalled and all managed resources are detached.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Server deleted"
}

Rename server

PATCH/api/v2/name/servers/{sid}/users/{uid}

Change the friendly name of a server.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
namestringrequiredThe new server name.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/name/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "name": "prod-web-edge" }'
Response200 OK
{
  "data": { "sid": "srv_9Lk44", "name": "prod-web-edge" }
}

Update timezone

PATCH/api/v2/timezone/servers/{sid}/users/{uid}

Set the system timezone of the server.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
timezonestringrequiredAn IANA timezone, e.g. America/New_York.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/timezone/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "timezone": "America/New_York" }'
Response200 OK
{
  "data": { "sid": "srv_9Lk44", "timezone": "America/New_York" }
}

Reboot server

GET/api/v2/reboot/servers/{sid}/users/{uid}

Issue a graceful reboot of the server.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/reboot/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Reboot scheduled"
}

Change PHP CLI version

PATCH/api/v2/phpcli/servers/{sid}/users/{uid}

Set the default PHP version used by the command-line interpreter.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
php_versionstringrequiredPHP version, e.g. 8.3.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/phpcli/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "php_version": "8.3" }'
Response200 OK
{
  "data": { "sid": "srv_9Lk44", "php_cli_version": "8.3" }
}

Server activity log

GET/api/v2/activity/servers/{sid}/users/{uid}

Return a paginated activity log for the server.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Query parameters
FieldTypeDescription
pageintegeroptionalPage number.
limitintegeroptionalItems per page (max 100).
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/activity/servers/srv_9Lk44/users/usr_8Kd92Lm?page=1&limit=20" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "id": "sact_12",
      "action": "website.created",
      "detail": "example.com",
      "created_at": "2026-06-15T10:00:00Z"
    }
  ],
  "total": 18, "page": 1, "limit": 20
}

Transfer server

POST/api/v2/transfer/servers/{sid}/users/{uid}

Initiate a transfer of server ownership to another user. The target user must accept the pending transfer.

Path parameters
FieldTypeDescription
sidstringrequiredUnique identifier of the server.
uidstringrequiredUnique identifier of the user.
Body parameters
FieldTypeDescription
target_uidstringrequiredThe recipient user id.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/transfer/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "target_uid": "usr_2Aq11Bd" }'
Response200 OK
{
  "message": "Transfer initiated"
}

Websites

Manage websites hosted on your servers.

List websites

GET/api/v2/websites/servers/{sid}/users/{uid}

Return all websites on the given server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/websites/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    {
      "wid": "web_5Df33",
      "domain": "example.com",
      "stack": "nginx",
      "php_version": "8.2",
      "status": "active"
    }
  ]
}

Website activity

GET/api/v2/activity/websites/{wid}/servers/{sid}/users/{uid}

Return the activity log for a specific website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/activity/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    { "id": "wact_9", "action": "ssl.installed", "created_at": "2026-06-12T08:00:00Z" }
  ]
}

Change PHP version

PATCH/api/v2/phpversion/websites/{wid}/servers/{sid}/users/{uid}

Switch the PHP version for the website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
php_versionstringrequiredTarget PHP version, e.g. 8.3.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/phpversion/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "php_version": "8.3" }'
Response200 OK
{
  "data": { "wid": "web_5Df33", "php_version": "8.3" }
}

Change stack

PATCH/api/v2/stack/websites/{wid}/servers/{sid}/users/{uid}

Switch the web server stack (e.g. nginx → apache).

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
stackstringrequiredStack slug: nginx, apache, or ols.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/stack/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "stack": "apache" }'
Response200 OK
{
  "data": { "wid": "web_5Df33", "stack": "apache" }
}

Add domains

PATCH/api/v2/adddomain/websites/{wid}/servers/{sid}/users/{uid}

Add one or more alias domains to the website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
domainsstring[]requiredArray of domains to add.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/adddomain/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["www.example.com"] }'
Response200 OK
{
  "data": { "wid": "web_5Df33", "domains": ["example.com", "www.example.com"] }
}

Remove domains

PATCH/api/v2/removedomain/websites/{wid}/servers/{sid}/users/{uid}

Remove alias domains from the website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
domainsstring[]requiredArray of domains to remove.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/removedomain/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "domains": ["www.example.com"] }'
Response200 OK
{
  "message": "Domains removed"
}

WordPress

Automate WordPress installations, credentials, and magic login links.

Create WordPress site

GET/api/v2/wordpress/create/websites/{wid}/servers/{sid}/users/{uid}

Install WordPress on a website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/wordpress/create/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "WordPress installed"
}

Get WordPress details

GET/api/v2/wordpress/websites/{wid}/servers/{sid}/users/{uid}

Retrieve WordPress installation details including admin credentials.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/wordpress/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": {
    "wp_version": "6.5.3",
    "admin_user": "admin",
    "admin_email": "[email protected]",
    "table_prefix": "wp_"
  }
}

Delete WordPress site

GET/api/v2/wordpress/delete/websites/{wid}/servers/{sid}/users/{uid}

Uninstall WordPress from a website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/wordpress/delete/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "WordPress removed"
}

Databases

Create and manage MySQL/MariaDB databases and users.

Create database

POST/api/v2/databases/servers/{sid}/users/{uid}

Create a new MySQL/MariaDB database on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
namestringrequiredDatabase name.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/databases/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "name": "my_app_db" }'
Response200 OK
{
  "data": { "did": "db_7Mn22", "name": "my_app_db" }
}

List databases

GET/api/v2/databases/servers/{sid}/users/{uid}

Return all databases on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/databases/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "did": "db_7Mn22", "name": "my_app_db" }]
}

Delete database

DELETE/api/v2/databases/{did}/servers/{sid}/users/{uid}

Permanently drop the database.

Path parameters
FieldTypeDescription
didstringrequiredDatabase identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/databases/db_7Mn22/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Database deleted"
}

Create database user

POST/api/v2/databaseusers/servers/{sid}/users/{uid}

Create a new MySQL/MariaDB user.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
usernamestringrequiredDatabase username.
passwordstringrequiredDatabase password.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/databaseusers/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "username": "app_user", "password": "Str0ngP@ss!" }'
Response200 OK
{
  "data": { "dbuid": "dbu_3Xp11", "username": "app_user" }
}

List database users

GET/api/v2/databaseusers/servers/{sid}/users/{uid}

Return all database users on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/databaseusers/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "dbuid": "dbu_3Xp11", "username": "app_user" }]
}

Delete database user

DELETE/api/v2/databaseusers/{dbuid}/servers/{sid}/users/{uid}

Remove a database user.

Path parameters
FieldTypeDescription
dbuidstringrequiredDatabase user identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/databaseusers/dbu_3Xp11/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Database user deleted"
}

Assign user to database

POST/api/v2/databases/{did}/assign/servers/{sid}/users/{uid}

Link an existing database user to a database.

Path parameters
FieldTypeDescription
didstringrequiredDatabase identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
dbuidstringrequiredDatabase user to link.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/databases/db_7Mn22/assign/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "dbuid": "dbu_3Xp11" }'
Response200 OK
{
  "message": "User assigned"
}

SSL Certificates

Install, renew, and remove SSL certificates on your websites.

Install Let's Encrypt certificate

POST/api/v2/ssl/letsencrypt/websites/{wid}/servers/{sid}/users/{uid}

Issue and install a free Let's Encrypt SSL certificate for the website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/ssl/letsencrypt/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "SSL certificate installed"
}

Upload custom certificate

POST/api/v2/ssl/custom/websites/{wid}/servers/{sid}/users/{uid}

Upload a custom SSL certificate and private key.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
certificatestringrequiredPEM-encoded certificate.
private_keystringrequiredPEM-encoded private key.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/ssl/custom/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "certificate": "-----BEGIN CERTIFICATE-----\n...", "private_key": "-----BEGIN PRIVATE KEY-----\n..." }'
Response200 OK
{
  "message": "Custom SSL installed"
}

Remove certificate

DELETE/api/v2/ssl/websites/{wid}/servers/{sid}/users/{uid}

Remove the SSL certificate from a website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/ssl/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "SSL certificate removed"
}

Renew free certificate

POST/api/v2/ssl/renew/websites/{wid}/servers/{sid}/users/{uid}

Force-renew the Let's Encrypt certificate before it expires.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/ssl/renew/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "SSL certificate renewed"
}

Backups

Manage automated backup plans and trigger manual backups.

List backup plans

GET/api/v2/backupplans/users/{uid}

Return all available backup plans for the user.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/backupplans/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    { "plan_id": "bp_free", "name": "Free", "retention_days": 7, "storage_gb": 5 }
  ]
}

Enable backups

POST/api/v2/backups/websites/{wid}/servers/{sid}/users/{uid}

Enable scheduled backups for a website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
plan_idstringrequiredBackup plan to use.
frequencystringoptionalFrequency: daily or weekly.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/backups/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "plan_id": "bp_free", "frequency": "daily" }'
Response200 OK
{
  "message": "Backups enabled"
}

Trigger manual backup

POST/api/v2/backups/manual/websites/{wid}/servers/{sid}/users/{uid}

Immediately trigger an on-demand backup.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/backups/manual/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Backup started"
}

Restore backup

PATCH/api/v2/backups/restore/websites/{wid}/servers/{sid}/users/{uid}

Restore a website from a specific backup.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
backup_idstringrequiredBackup snapshot to restore.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/backups/restore/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "backup_id": "bk_20260619" }'
Response200 OK
{
  "message": "Restore started"
}

SSH & System

Manage SSH keys and system users on your servers.

List SSH keys

GET/api/v2/sshkeys/servers/{sid}/users/{uid}

Return all SSH public keys on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/sshkeys/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "kid": "key_9Rz11", "label": "my-laptop", "fingerprint": "SHA256:abc..." }]
}

Add SSH key

POST/api/v2/sshkeys/servers/{sid}/users/{uid}

Add a public SSH key to the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
labelstringrequiredFriendly label for the key.
public_keystringrequiredThe OpenSSH public key string.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/sshkeys/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "label": "my-laptop", "public_key": "ssh-ed25519 AAAA..." }'
Response200 OK
{
  "data": { "kid": "key_9Rz11", "label": "my-laptop" }
}

Delete SSH key

DELETE/api/v2/sshkeys/{kid}/servers/{sid}/users/{uid}

Remove an SSH key from the server.

Path parameters
FieldTypeDescription
kidstringrequiredSSH key identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/sshkeys/key_9Rz11/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "SSH key removed"
}

Create system user

POST/api/v2/systemusers/servers/{sid}/users/{uid}

Create a Linux system user on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
usernamestringrequiredLinux username.
passwordstringrequiredPassword for the user.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/systemusers/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "username": "deploy", "password": "Str0ng!" }'
Response200 OK
{
  "data": { "suid": "su_4Kl88", "username": "deploy" }
}

List system users

GET/api/v2/systemusers/servers/{sid}/users/{uid}

Return all system users on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/systemusers/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "suid": "su_4Kl88", "username": "deploy" }]
}

Delete system user

DELETE/api/v2/systemusers/{suid}/servers/{sid}/users/{uid}

Remove a system user from the server.

Path parameters
FieldTypeDescription
suidstringrequiredSystem user identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/systemusers/su_4Kl88/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "System user deleted"
}

Cron Jobs

Schedule recurring tasks at the server and website level.

Create server cron

POST/api/v2/crons/servers/{sid}/users/{uid}

Add a cron job to the server crontab.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
schedulestringrequiredCron expression, e.g. 0 * * * *.
commandstringrequiredShell command to run.
userstringoptionalSystem user to run the command as.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/crons/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "schedule": "0 * * * *", "command": "/usr/bin/php /var/www/artisan schedule:run" }'
Response200 OK
{
  "data": { "cid": "cron_7Qb22", "schedule": "0 * * * *", "command": "/usr/bin/php /var/www/artisan schedule:run" }
}

List server crons

GET/api/v2/crons/servers/{sid}/users/{uid}

Return all cron jobs on the server.

Path parameters
FieldTypeDescription
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/crons/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "cid": "cron_7Qb22", "schedule": "0 * * * *", "command": "..." }]
}

Delete server cron

DELETE/api/v2/crons/{cid}/servers/{sid}/users/{uid}

Remove a cron job from the server.

Path parameters
FieldTypeDescription
cidstringrequiredCron job identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/crons/cron_7Qb22/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Cron deleted"
}

FTP Accounts

Create and manage FTP accounts for your websites.

Create FTP account

POST/api/v2/ftp/websites/{wid}/servers/{sid}/users/{uid}

Create an FTP account scoped to a website directory.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
usernamestringrequiredFTP username.
passwordstringrequiredFTP password.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/ftp/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "username": "ftp_deploy", "password": "Passw0rd!" }'
Response200 OK
{
  "data": { "fid": "ftp_2Wc44", "username": "ftp_deploy" }
}

List FTP accounts

GET/api/v2/ftp/websites/{wid}/servers/{sid}/users/{uid}

Return all FTP accounts for a website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/ftp/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "fid": "ftp_2Wc44", "username": "ftp_deploy" }]
}

Delete FTP account

DELETE/api/v2/ftp/{fid}/websites/{wid}/servers/{sid}/users/{uid}

Remove an FTP account.

Path parameters
FieldTypeDescription
fidstringrequiredFTP account identifier.
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/ftp/ftp_2Wc44/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "FTP account deleted"
}

Email Services

Manage email accounts, passwords, quotas, and forwarders.

Create email account

POST/api/v2/emails/websites/{wid}/servers/{sid}/users/{uid}

Create an email account on the website domain.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
emailstringrequiredFull email address.
passwordstringrequiredAccount password.
quota_mbintegeroptionalMailbox quota in MB.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/emails/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "email": "[email protected]", "password": "M@ilPass1", "quota_mb": 500 }'
Response200 OK
{
  "data": { "eid": "em_6Vp33", "email": "[email protected]", "quota_mb": 500 }
}

List email accounts

GET/api/v2/emails/websites/{wid}/servers/{sid}/users/{uid}

Return all email accounts for the website.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/emails/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "eid": "em_6Vp33", "email": "[email protected]", "quota_mb": 500 }]
}

Delete email account

DELETE/api/v2/emails/{eid}/websites/{wid}/servers/{sid}/users/{uid}

Permanently remove an email account and its mailbox.

Path parameters
FieldTypeDescription
eidstringrequiredEmail account identifier.
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X DELETE "https://version2-api.cloudstick.io/api/v2/emails/em_6Vp33/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Email account deleted"
}

Add email forwarder

POST/api/v2/emailforwarders/websites/{wid}/servers/{sid}/users/{uid}

Create an email forwarder that redirects messages to another address.

Path parameters
FieldTypeDescription
widstringrequiredWebsite identifier.
sidstringrequiredServer identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
sourcestringrequiredSource email address.
destinationstringrequiredDestination email address.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/emailforwarders/websites/web_5Df33/servers/srv_9Lk44/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "source": "[email protected]", "destination": "[email protected]" }'
Response200 OK
{
  "data": { "fwid": "fwd_1Az55", "source": "[email protected]", "destination": "[email protected]" }
}

DNS / Cloudflare

Manage Cloudflare zones, DNS records, and cache purging.

Add Cloudflare zone

POST/api/v2/cloudflarezones/users/{uid}

Add a domain to Cloudflare via the linked integration.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
domainstringrequiredRoot domain to add.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/cloudflarezones/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "domain": "example.com" }'
Response200 OK
{
  "data": { "zone_id": "cf_zone_Abc1", "domain": "example.com", "status": "active" }
}

Create DNS record

POST/api/v2/dnsrecords/cloudflarezones/{zone_id}/users/{uid}

Create a DNS record in the Cloudflare zone.

Path parameters
FieldTypeDescription
zone_idstringrequiredCloudflare zone identifier.
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
typestringrequiredRecord type: A, AAAA, CNAME, MX, TXT.
namestringrequiredRecord name.
contentstringrequiredRecord value.
ttlintegeroptionalTTL in seconds (1 = auto).
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/dnsrecords/cloudflarezones/cf_zone_Abc1/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "type": "A", "name": "app.example.com", "content": "198.51.100.10" }'
Response200 OK
{
  "data": { "record_id": "dns_Xyz9", "type": "A", "name": "app.example.com", "content": "198.51.100.10" }
}

List DNS records

GET/api/v2/dnsrecords/cloudflarezones/{zone_id}/users/{uid}

Return all DNS records in the zone.

Path parameters
FieldTypeDescription
zone_idstringrequiredCloudflare zone identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/dnsrecords/cloudflarezones/cf_zone_Abc1/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "record_id": "dns_Xyz9", "type": "A", "name": "app.example.com", "content": "198.51.100.10" }]
}

Purge Cloudflare cache

POST/api/v2/cloudflarecache/cloudflarezones/{zone_id}/users/{uid}

Purge all cached assets for the zone.

Path parameters
FieldTypeDescription
zone_idstringrequiredCloudflare zone identifier.
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/cloudflarecache/cloudflarezones/cf_zone_Abc1/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "message": "Cache purged"
}

Teams

Create teams, add members, and share server access.

Create team

POST/api/v2/teams/users/{uid}

Create a new team.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
namestringrequiredTeam name.
Returns

Returns 201 Created on success. See Errors for failure responses.

Request
curl -X POST "https://version2-api.cloudstick.io/api/v2/teams/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "name": "DevOps" }'
Response200 OK
{
  "data": { "tid": "team_5Hj77", "name": "DevOps" }
}

List teams

GET/api/v2/teams/users/{uid}

Return all teams the user owns or belongs to.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/teams/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [{ "tid": "team_5Hj77", "name": "DevOps", "member_count": 3 }]
}

Add member

PATCH/api/v2/teams/{tid}/adduser/users/{uid}

Add a user to the team.

Path parameters
FieldTypeDescription
tidstringrequiredTeam identifier.
uidstringrequiredOwner user identifier.
Body parameters
FieldTypeDescription
member_uidstringrequiredUser to add.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/teams/team_5Hj77/adduser/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "member_uid": "usr_2Aq11Bd" }'
Response200 OK
{
  "message": "Member added"
}

Add server to team

PATCH/api/v2/teams/{tid}/addserver/users/{uid}

Grant a team access to a server.

Path parameters
FieldTypeDescription
tidstringrequiredTeam identifier.
uidstringrequiredOwner user identifier.
Body parameters
FieldTypeDescription
sidstringrequiredServer to add.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/teams/team_5Hj77/addserver/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "sid": "srv_9Lk44" }'
Response200 OK
{
  "message": "Server added to team"
}

Billing

Manage subscriptions and retrieve invoices.

List plans

GET/api/v2/plans

Return all available subscription plans.

Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/plans" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    { "plan_id": "starter", "name": "Starter", "price_usd": 7, "servers": 1 },
    { "plan_id": "pro", "name": "Pro", "price_usd": 12, "servers": 5 }
  ]
}

List invoices

GET/api/v2/invoices/users/{uid}

Return all invoices for the user.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X GET "https://version2-api.cloudstick.io/api/v2/invoices/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7"
Response200 OK
{
  "data": [
    { "inv_id": "inv_Jun2026", "amount_usd": 12, "status": "paid", "date": "2026-06-01" }
  ]
}

Upgrade plan

PATCH/api/v2/subscription/users/{uid}

Change the user subscription to a different plan.

Path parameters
FieldTypeDescription
uidstringrequiredUser identifier.
Body parameters
FieldTypeDescription
plan_idstringrequiredTarget plan identifier.
Returns

Returns 200 OK on success. See Errors for failure responses.

Request
curl -X PATCH "https://version2-api.cloudstick.io/api/v2/subscription/users/usr_8Kd92Lm" \
  -H "Authorization: Bearer cs_live_4f9a2b7c8d1e6035a2b1c0d9e8f7" \
  -H "Content-Type: application/json" \
  -d '{ "plan_id": "pro" }'
Response200 OK
{
  "message": "Plan updated"
}

We use cookies to improve your experience

CloudStick uses cookies to personalise content, analyse traffic and keep you signed in. Cookie Policy · Terms of Service

Manage cookies