curl -X POST "https://your-paneldns-domain.com/api/v1/sub-clients/201/sso-token" \
-H "Authorization: Bearer YOUR_TOKEN"
$response = $httpClient->post('/api/v1/sub-clients/' . $subClientId . '/sso-token', [
'headers' => ['Authorization' => 'Bearer ' . $token],
]);
$loginUrl = $response['data']['login_url'];
// Redirect the WHMCS client to $loginUrl
header('Location: ' . $loginUrl);
{
"ok": true,
"data": {
"login_url": "https://your-paneldns-domain.com/sso/consume?token=3f9c1a2b7e4d5069c8a1b2c3d4e5f607.9a8b7c6d5e4f30211a2b3c4d5e6f7081...",
"expires_in": 60
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Sub-client is not active.",
"code": 422
}
Sub-clients
Generate SSO Token
Generate a one-time SSO login token for a sub-client. Requires sub_clients:write scope.
POST
/
api
/
v1
/
sub-clients
/
{id}
/
sso-token
curl -X POST "https://your-paneldns-domain.com/api/v1/sub-clients/201/sso-token" \
-H "Authorization: Bearer YOUR_TOKEN"
$response = $httpClient->post('/api/v1/sub-clients/' . $subClientId . '/sso-token', [
'headers' => ['Authorization' => 'Bearer ' . $token],
]);
$loginUrl = $response['data']['login_url'];
// Redirect the WHMCS client to $loginUrl
header('Location: ' . $loginUrl);
{
"ok": true,
"data": {
"login_url": "https://your-paneldns-domain.com/sso/consume?token=3f9c1a2b7e4d5069c8a1b2c3d4e5f607.9a8b7c6d5e4f30211a2b3c4d5e6f7081...",
"expires_in": 60
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Sub-client is not active.",
"code": 422
}
Creates a short-lived, single-use SSO token that logs the sub-client straight into their portal session. Use this to build seamless single-sign-on from your billing system or control panel.
The returned URL is valid for 60 seconds and can only be used once. After use or expiry, consuming it returns an error.
integer
required
Sub-client ID.
curl -X POST "https://your-paneldns-domain.com/api/v1/sub-clients/201/sso-token" \
-H "Authorization: Bearer YOUR_TOKEN"
$response = $httpClient->post('/api/v1/sub-clients/' . $subClientId . '/sso-token', [
'headers' => ['Authorization' => 'Bearer ' . $token],
]);
$loginUrl = $response['data']['login_url'];
// Redirect the WHMCS client to $loginUrl
header('Location: ' . $loginUrl);
{
"ok": true,
"data": {
"login_url": "https://your-paneldns-domain.com/sso/consume?token=3f9c1a2b7e4d5069c8a1b2c3d4e5f607.9a8b7c6d5e4f30211a2b3c4d5e6f7081...",
"expires_in": 60
}
}
{
"ok": false,
"error": "Not found.",
"code": 404
}
{
"ok": false,
"error": "Sub-client is not active.",
"code": 422
}