CreateOAuthCredential
Create an OAuth Credential
Request Parameters
Parameter |
Type |
Description |
Required |
action |
string |
“CreateOAuthCredential” |
Required |
grantType |
string |
One of ‘authorization_code’ or ‘single_sign_on’ |
Required |
scope |
string |
A space separated list of valid scopes from tbloauthserver_scopes |
Required |
name |
string |
The name to give the oAuth Credential for the authorization_code $grantType |
Optional |
serviceId |
int |
The id of the service for the single_sign_on $grantType |
Optional |
description |
string |
The description of the OAuth Credential |
Optional |
logoUri |
string |
URL or Path Relative to the Base WHMCS Client Area Directory to a logo image file for this application. |
Optional |
redirectUri |
string |
Authorised Redirect URIs |
Optional |
Response Parameters
Parameter |
Type |
Description |
result |
string |
The result of the operation: success or error |
credentialId |
int |
The ID of the newly created oauth credential |
clientIdentifier |
string |
The randomly generated oauth client identifier |
clientSecret |
string |
The randomly generated secret for the auth credential |
Example Request (CURL)
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://www.example.com/includes/api.php');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,
http_build_query(
array(
'action' => 'CreateOAuthCredential',
// See https://developers.whmcs.com/api/authentication
'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
'password' => 'SECRET_OR_HASHED_PASSWORD',
'grantType' => 'single_sign_on',
'scope' => 'clientarea:sso clientarea:billing_info clientarea:announcements',
'serviceId' => '1',
'description' => 'Billing and Announcements SSO',
'responsetype' => 'json',
)
)
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
Example Request (Local API)
$command = 'CreateOAuthCredential';
$postData = array(
'grantType' => 'single_sign_on',
'scope' => 'clientarea:sso clientarea:billing_info clientarea:announcements',
'serviceId' => '1',
'description' => 'Billing and Announcements SSO',
);
$adminUsername = 'ADMIN_USERNAME'; // Optional for WHMCS 7.2 and later
$results = localAPI($command, $postData, $adminUsername);
print_r($results);
Example Response JSON
{
"result": "success",
"credentialId": "1",
"clientIdentifier": "COMPANY-NAME.SQxOYrZOUTQC8YTkLQuQ0w==",
"clientSecret": "60XScB\/W8zzxtciWlvX8+OoO4ZAQj8dNLeFIulRlYhDgksrSJd0Olv+X7wyoJEWEOpZ9IivCaySN7s+\/a++Tlg=="
}
Error Responses
Possible error condition responses include:
- A valid grant type is required.
- The requested grant type “x” is invalid.
- A name for the Client Credential is required.
- A service ID is required for the single sign-on grant type.
- At least one valid scope is required.
- The requested scope “x” is invalid.
- A valid Service ID is required.
- Service ID not associated with valid Client.
Version History
Version |
Changelog |
1.0 |
Initial Version |