Authentication
Every CMP API request must be authenticated with an API key and a secret key, supplied as HTTP headers. These credentials identify the account making the request and determine which resources it may access.
Obtaining API credentials
API credentials are issued per user from the CMP web console:
- Sign in to the Cloud Management Portal.
- Open your account / profile settings.
- Locate the API Keys (or API Credentials) section.
- Generate a key pair. You will receive:
- API Key (
apikey) — a public identifier for your account. - Secret Key (
secretkey) — a private secret used to authorize requests.
- API Key (
The secret key grants full API access at your account's privilege level. Treat it like a password: never commit it to source control, embed it in client-side code, or share it. If a secret key is exposed, regenerate the key pair from the console immediately.
Supplying credentials
Send both keys as HTTP request headers on every request:
| Header | Type | Required | Description |
|---|---|---|---|
apikey | string | ✅ Yes | Your account's public API key. |
secretkey | string | ✅ Yes | Your account's secret key. |
Because apikey and secretkey are required on all endpoints, they are omitted from the per-endpoint parameter tables in the rest of this reference. Always include them as headers.
Example
curl -X GET \
"https://portal.your-domain.com/restapi/zone/zonelist" \
-H "apikey: YOUR_API_KEY" \
-H "secretkey: YOUR_SECRET_KEY"
Credentials are sent as headers, not as query-string or body parameters. Requests that place them elsewhere will be rejected with 401.
Authorization & permissions
The privileges of the API call match the privileges of the account that owns the credentials. If the account is not permitted to view or modify a resource, the request is rejected with:
550 Permission Denied
See Error Codes for the full list of authentication and authorization responses.
Security best practices
- Rotate keys periodically and immediately after any suspected exposure.
- Scope access by using an account with the minimum privileges required for the automation.
- Transport security — always call the API over HTTPS; never over plain HTTP.
- Server-side only — keep credentials on trusted servers, never in browsers or mobile apps.