Webpros Cloud API (0.0.1)

Download OpenAPI specification:

This API is used to provision and manage customer accounts, products and credentials on the Webpros Cloud platform.

Important concepts

API authentication

All calls to the API are authenticated by credentials presented by the caller in two HTTP headers, both of which must be presented with every call:

  • X-WPC-API-TOKENID - must contain the ID of a valid API token. This value is a UUID and it is not considered to be a secret.
  • X-WPC-API-TOKENSECRET - contains the secret associated with the token. This is a 64-character string consisting entirely of characters from the RFC 4648 base64 repertoire and the value is considered to be a secret.

API tokens may be created, listed, modified and deleted using the endpoints under the /token path. Note that the secret associated with a token is only returned to the caller in the response of the POST call that creates the token. It is not possible to retrieve the secret string later. Secret strings and token IDs are generated by the system; the caller may not specify their own IDs or secrets.

The token presented by the API caller determine the endpoints, and the level of access, available to the caller. Each token is associated with a set of privileges, specified when the token is created. These privileges define the actions that may be performed using the token.

Tokens with the "api_token:create" privilege may be used to create other tokens. Any token created in this way may have any (or all) of the privileges of the token used to create it; it is not possible to assign additional permissions to a new token.

The access requirements are noted in the documentation for each endpoint.

Pagination

API endpoints which return multiple objects use a common 'envelope' format. This is a JSON object containing:

  • a data member containing an array of objects
  • a next member containing the ID of the first object in the next 'page' of results, or null if there are no more results to retrieve.

To support pagination, objects are always returned in the order of their id field. Two optional query arguments, start and count, enable pages of results to be retrieved. To obtain the first page of results, the start argument may be omitted or given as null. Subsequent pages may be retrieved by taking the value of the next member in the result envelope and passing it as the value of the start argument. The optional count argument specifies the maximum number of records to be returned. The server may return up to this number of records.

Users

A user is a direct customer of Webpros Cloud, or an internal (system) user. Users interact with Webpros Cloud through the API. Most users are direct customers who have at some point bought at least one Webpros Cloud product.

Entitlements

An entitlement is an instance of a product, bought by a customer. For example, when Webpros sells a customer a WP Squared product consisting of 1,000 sites and 1,000GB of storage space, that customer receives an entitlement to create up to 1,000 sites and consume up to 1,000GB of storage space. When the customer resells web sites and storage space, they consume resources against an entitlement. The customer has a user account in Webpros Cloud, through which they manage their entitlements.

WP Squared packages

A WP Squared package is a defined quantity of resources taken from a WP Squared entitlement. Webpros customers buy entitlements and then divide them up into packages to resell to their own customers. A package would typically be created by a Webpros customer whenever they complete a sale, e.g. of a hosting package, to one of their own customers.

health

Server health status

Get server status

Authorizations:
(apiUserIdapiPassword)

Responses

Response samples

Content type
application/json
{
  • "code": 200,
  • "message": "string"
}

entitlement

Operations relating to entitlements, i.e. resources paid for by a customer

Get a list of entitlements

Get information about the entitlements (blocks of resources, like web sites) paid for by the user who owns the API credentials used to make the request. Entitlement objects are returned in order of entitlementId.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (EntitlementIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: an entitlementId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Create an entitlement

Create a new entitlement for a user. An entitlement is a block of resources paid for by a user, and is normally completed following a successful purchase.

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json
required

Create a new entitlement, specifying resource limits

userId
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for a user

productId
required
string (ProductIdType) [ 1 .. 255 ] characters

A unique identifier for a product

suspended
boolean
Default: false

Whether the entitlement, and all resources within it, is suspended

Responses

Request samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "suspended": false
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "productId": "cpanel-server-small",
  • "suspended": false,
  • "serviceId": "wpsquared",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Get entitlements owned by a specific user

Get information about the entitlements (blocks of resources, like web sites) paid for by a specific user. Note: this endpoint is only available to callers authorised as administrators. Entitlement objects are returned in order of entitlementId.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of a user

query Parameters
start
string or null (EntitlementIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: an entitlementId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Get information about a specific entitlement

Get information about the specified entitlement, including resource limits and current resource usage. Callers authorised as administrators may request information about any existing entitlement; other callers may only request information about entitlements they own.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (EntitlementIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of an entitlement

Responses

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "productId": "cpanel-server-small",
  • "suspended": false,
  • "serviceId": "wpsquared",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Modify an entitlement

Change elements of an entitlement, e.g. resource limits and suspension status. Only administrators may use this endpint. Note that resource limits cannot be reduced below the current level of resource usage.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (EntitlementIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of the entitlement to modify

Request Body schema: application/json
required

Modify an entitlement. Resource limits may be altered, but cannot be reduced below the current level of resource usage - i.e. the entitlement cannot be "overdrawn". The entitlement may be suspended; this operation will take all of its resources (e.g. web sites) offline. Note that the userId and productId fields are optional, and any values supplied in these fields will be ignored. It is therefore not possible to change the product associated with an entitlement, or to reassign an entitlement to a different user.

userId
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for a user

suspended
boolean
Default: false

Whether the entitlement, and all resources within it, is suspended

Responses

Request samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "suspended": false
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "productId": "cpanel-server-small",
  • "suspended": false,
  • "serviceId": "wpsquared",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Delete an entitlement

Delete an entitlement, and delete all associated resources (e.g. web sites). Only callers with administrator authorisation may delete entitlements.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (EntitlementIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of an entitlement

Responses

Response samples

Content type
application/json
{
  • "entitlementId": "01234567-89ab-cdef-0123-456789abcdef"
}

package - WP Squared

Operations relating to packages of WP Squared sites and resources created by a customer

Get information about WP Squared packages

Get information about all WP Squared packages created by the current user. If the user's credentials have administrator access, return information about all WP Squared packages. Package objects are returned in order of packageId.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (PackageIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a packageId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Create a new WP Squared package

Create a WP Squared package using resources from a specific entitlement

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json
required

Create a new WP Squared package, consuming resources from the specified entitlement. The maximum number of sites and the limit on disk space within the package must also be specified. If no region is specified, the package will be created in the user's default region.

entitlementId
required
string (EntitlementIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for an entitlement

zoneId
string (ZoneIdType) [ 1 .. 64 ] characters

The unique name of a zone

suspended
boolean
Default: false

Whether the package is suspended, e.g. inaccessible to the end-user

object

Responses

Request samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "entitlementId": "01234567-89ab-cdef-0123-456789abcdef",
  • "serviceId": "wpsquared",
  • "zoneId": "eu-central-de1",
  • "suspended": false,
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "entitlementId": "01234567-89ab-cdef-0123-456789abcdef",
  • "serviceId": "wpsquared",
  • "zoneId": "eu-central-de1",
  • "suspended": false,
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Get information about WP Squared packages belonging to a specific user

Get information about all WP Squared packages created by the specified user. If the caller does not have administrative privilege, they may only retrieve details about their own packages. Package objects are returned in order of packageId.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of a user

query Parameters
start
string or null (PackageIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a packageId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Modify a package

Modify the resource allocations or suspended status of a WP Squared package

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (PackageIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of WP Squared package to modify

Request Body schema: application/json
required

Modify a WP Squared package, e.g. to suspend or unsuspend it or to modify the limits on the number of sites or amount of disk space allocated. Note that the limits cannot be reduced below the amount of resource currently consumed by the package.

entitlementId
required
string (EntitlementIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for an entitlement

zoneId
string (ZoneIdType) [ 1 .. 64 ] characters

The unique name of a zone

suspended
boolean
Default: false

Whether the package is suspended, e.g. inaccessible to the end-user

object

Responses

Request samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "entitlementId": "01234567-89ab-cdef-0123-456789abcdef",
  • "serviceId": "wpsquared",
  • "zoneId": "eu-central-de1",
  • "suspended": false,
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "entitlementId": "01234567-89ab-cdef-0123-456789abcdef",
  • "serviceId": "wpsquared",
  • "zoneId": "eu-central-de1",
  • "suspended": false,
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null,
  • "data": {
    }
}

Delete a WP Squared package

Delete a WP Squared package, and all associated web sites and resources

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (PackageIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of WP Squared package to be deleted

Responses

Response samples

Content type
application/json
{
  • "packageId": "01234567-89ab-cdef-0123-456789abcdef"
}

region

Enumerate Webpros Cloud regions

Get a list of Webpros Cloud regions

Get a list of Webpros Cloud regions.

Authorizations:
(apiUserIdapiPassword)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": null
}

Get information about a specific Webpros Cloud region

Get information about the specified region.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (RegionIdType)
Examples: eu-central sa-central us-south

ID of the region to be retrieved

Responses

Response samples

Content type
application/json
{
  • "id": "eu-central"
}

token

Operations relating to API access tokens

Get API access tokens

If authenticated as a user, return an array of all API access tokens belonging to that user. If authenticated as a manger, return all API access tokens known to the system. Tokens are returned in order of tokenId.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (TokenIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a tokenId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Create an API access token

Create a new API access token.

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json

Create an API access token. Values for the enabled and expiryDate fields may be specified. If the caller is authenticated as a user, the userId field is optional and, if present, must contain the user's own ID.

userId
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for a user

enabled
boolean
Default: false

Whether API calls may be made using this token

object (PermissionsShortType)

Responses

Request samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "enabled": true,
  • "expiryDate": "2025-04-15T12:57:34Z",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "tokenId": "01234567-89ab-cdef-0123-456789abcdef",
  • "enabled": true,
  • "expiryDate": "2025-04-15T12:57:34Z",
  • "lastSeen": "2025-04-15T12:57:34Z",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "permissions": {
    },
  • "permissionsShort": {
    },
  • "secret": "x0vXlnot5pffRoa+QmD1OXGq9WQp3U+ZWiBnAR5zScq9bd6QV2sYRqho3614tKDU"
}

Get a specific access token by ID. Or you can use id "current" - and get info about current token

Return details of the specified token, or 404 if it does not exist. Note that the token's secret is not returned.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (TokenIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of the token to be retrieved

Responses

Response samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "tokenId": "01234567-89ab-cdef-0123-456789abcdef",
  • "enabled": true,
  • "expiryDate": "2025-04-15T12:57:34Z",
  • "lastSeen": "2025-04-15T12:57:34Z",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "permissions": {
    },
  • "permissionsShort": {
    }
}

Modify API access tokens

Enable or disable the specified token, or modify its expiry date.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (TokenIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of the token to modify

Request Body schema: application/json
required

Modify an API access token. The token may be enabled or disabled by setting the value of the enabled field; its expiry date may be modified by supplying a value for the expiryDate field. The token's ID and secret may not be modified.

userId
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...

A unique identifier for a user

enabled
boolean
Default: false

Whether API calls may be made using this token

object (PermissionsShortType)

Responses

Request samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "enabled": true,
  • "expiryDate": "2025-04-15T12:57:34Z",
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "userId": "01234567-89ab-cdef-0123-456789abcdef",
  • "tokenId": "01234567-89ab-cdef-0123-456789abcdef",
  • "enabled": true,
  • "expiryDate": "2025-04-15T12:57:34Z",
  • "lastSeen": "2025-04-15T12:57:34Z",
  • "creationDate": "2025-04-15T12:57:34Z",
  • "permissions": {
    },
  • "permissionsShort": {
    }
}

Delete a specific access token by ID

Delete the specified token, returning 404 if it does not exist. The ID of the deleted token is returned in the response body.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (TokenIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of the token to be retrieved

Responses

Response samples

Content type
application/json
{
  • "tokenId": [
    ]
}

Get all API access tokens for the specified user

Given a user ID, return all API tokens associated with that user. If the caller does not have administrative permissions, they may only supply their own user ID as the userID argument. Tokens are returned in order of tokenId.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of a user

query Parameters
start
string or null (TokenIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a tokenId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Delete all API access tokens for the specified user

Given a user ID, delete all API tokens associated with that user. If the caller does not have administrative permissions, they may only supply their own user ID in the userID argument.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

Unique identifier of a user

Responses

Response samples

Content type
application/json
{
  • "tokenIds": [
    ]
}

user

Operations relating to users

Get a list of users

Get a list of users known to the platform. If the caller is authorised as an administrator, return all users; otherwise, return only the user record associated with the caller's credentials. Objects are returned ordered by userId.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (UserIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a userId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "01234567-89ab-cdef-0123-456789abcdef"
}

Create a new user record

Create a new user record. Only callers authenticated as administrators may use this endpoint.

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json
required

Create a new user record

defaultZone
string (ZoneIdType) [ 1 .. 64 ] characters

The unique name of a zone

name
any
enabled
boolean
Default: false
object (PermissionsShortType)

Responses

Request samples

Content type
application/json
{
  • "defaultZone": "eu-central-de1",
  • "name": null,
  • "enabled": true,
  • "permissions": {
    }
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "defaultZone": "eu-central-de1",
  • "enabled": true,
  • "permissions": {
    },
  • "permissionsShort": {
    },
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null
}

Get data about a specific user

Get a specific user record. If the caller is authorised as an administrator, any user record may be retrieved. Otherwise, only the record associated with caller's API credentials may be retrieved.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (UserIdType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: 01234567-89ab-cdef-0123-456789abcdef

ID of user whose details are to be retrieved. Or you can use id "current" - and get info about current user

Responses

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "defaultZone": "eu-central-de1",
  • "enabled": true,
  • "permissions": {
    },
  • "permissionsShort": {
    },
  • "creationDate": "2025-04-15T12:57:34Z",
  • "modificationDate": null
}

zone

Enumerate Webpros Cloud zones, which are locations in which services can be provisioned

Get information about Webpros Cloud zones

Get a list of Webpros Cloud zones, including information about which services are available in each zone and whether the caller is permitted to create new resources in the zone.

Authorizations:
(apiUserIdapiPassword)

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": "eu-central-de1"
}

Get information about a specific Webpros Cloud zone

Get information about the services available in the specified zone, and whether the caller may provision new resources in the zone.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (ZoneIdType) [ 1 .. 64 ] characters
Examples: eu-central-de1 us-south-tx1 sa-central-br1

ID of the zone to be retrieved

Responses

Response samples

Content type
application/json
{
  • "id": "eu-central-de1",
  • "regionId": "eu-central",
  • "countryCode": "DE",
  • "available": true,
  • "services": [
    ]
}

product

Operations relating to products available on the Webpros Cloud platform

Get a list of available products

Get a list of products available on the Webpros Cloud platform. Products are returned ordered by their id.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (ProductIdNullableType) ^[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-f...
Examples: start=01234567-89ab-cdef-0123-456789abcdef

For pagination: a productId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": null
}

Get information about a specific product

Get detailed information about a specific product.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (ProductIdType) [ 1 .. 255 ] characters
Examples: cpanel-server-small cpanel-server-medium

ID of the product to be retrieved

Responses

Response samples

Content type
application/json
{
  • "id": "cpanel-server-small",
  • "serviceId": "wpsquared",
  • "name": "WP Squared Basic",
  • "version": 1,
  • "available": true,
  • "description": "Managed WP Squared with 2500 sites and 2500GB included",
  • "data": {
    }
}

service

Operations relating to services available in Webpros Cloud zones

Get information about Webpros Cloud services

Get a list of Webpros Cloud services, including information about which zones they are available in.

Authorizations:
(apiUserIdapiPassword)
query Parameters
start
string or null (ServiceIdNullableType)
Examples: start=wpsquared start=cpanel start=whmcs start=plesk

For pagination: a serviceId value identifying the first record to be returned. This value will normally be taken from the next value in the response of the previous call to this endpoint.

count
integer (RecordCountType) >= 1
Examples: count=10

Maximum number of records to return in the response

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "next": null
}

Get information about a specific Webpros Cloud service

Get information about the specified service, including which zones it is available in.

Authorizations:
(apiUserIdapiPassword)
path Parameters
id
required
string (ServiceIdType)
Examples: wpsquared cpanel whmcs plesk

ID of the service to be retrieved

Responses

Response samples

Content type
application/json
{
  • "id": "wpsquared",
  • "description": "WP Squared",
  • "zones": [
    ],
  • "templates": [
    ]
}

sso

Operations relating to Single Sign-On (SSO) authentication

Generate an SSO token for a WP Squared package

Generate a single-use, time-limited SSO token that can be used to log in to a WP Squared package without providing credentials. The token is valid for a configured period of time (default 5 minutes) and can only be used once.

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json
required

Create a new SSO token for a specific package

Responses

Request samples

Content type
application/json
{
  • "packageId": "01234567-89ab-cdef-0123-456789abcdef"
}

Response samples

Content type
application/json
{
  • "id": "01234567-89ab-cdef-0123-456789abcdef",
  • "packageId": "01234567-89ab-cdef-0123-456789abcdef",
  • "ssoUrl": "http://example.com",
  • "expiresAt": "2025-04-15T12:57:34Z"
}

Validate and use an SSO token

This endpoint is used by the WP Squared system to validate a token when a user attempts to log in using an SSO link. If the token is valid (not expired and not used), it is marked as used and the user is granted access. If the token is invalid, unauthorized, or has already been used, an error is returned.

Authorizations:
(apiUserIdapiPassword)
Request Body schema: application/json
required

Validate an SSO token

token
required
string

SSO token string to validate

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "packageId": "01234567-89ab-cdef-0123-456789abcdef",
  • "userId": "01234567-89ab-cdef-0123-456789abcdef"
}