UpdateOAuthCredential

Updates a given OAuth API Client Credential.

Request Parameters

Parameter Type Description Required
action string “UpdateOAuthCredential” Required
credentialId int The auto increment ID of the credential set to be updated Required
clientApiIdentifier string The OAuth API Client Credential Unique Identifier (Client ID) to be updated. Only required if credentialId is not known/passed. Optional
name string The name to assign Optional
description string The description to assign Optional
grantType string The grant type for which the credential set is valid for. Possible values include: authorization_code or single_sign_on Optional
scope string A space delimited list of the scopes for which the credential set is valid. See CreateOAuthCredential for permitted values Optional
serviceId int The service ID for which the credential relates to Optional
logoUri string[] he logoUri to assign Optional
redirectUri string An array of Authorized Redirect URIs Optional
resetSecret bool Set to true to reset the OAuth API Client Credential Secret Optional

Response Parameters

Parameter Type Description
result string The result of the operation: success or error
credentialId int The auto increment ID for the credential set
newClientSecret string Present only if resetSecret is passed as true

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' => 'UpdateOAuthCredential',
            // See https://developers.whmcs.com/api/authentication
            'username' => 'IDENTIFIER_OR_ADMIN_USERNAME',
            'password' => 'SECRET_OR_HASHED_PASSWORD',
            'credentialId' => '1',
            'name' => 'Credential name',
            'resetSecret' => true,
            'responsetype' => 'json',
        )
    )
);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);

Example Request (Local API)

$command = 'UpdateOAuthCredential';
$postData = array(
    'credentialId' => '1',
    'name' => 'Credential name',
    'resetSecret' => true,
);
$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",
    "newClientSecret": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

Error Responses

Possible error condition responses include:

  • A Credential ID or Client Identifier is required.
  • Invalid Credential ID provided.
  • Invalid Client Identifier provided.
  • The requested grant type “xxxxx” is invalid.
  • A name for the Client Credential is required.
  • A service ID is required for the single sign-on grant type.
  • The requested scope “xxxxxxx” is invalid.

Version History

Version Changelog
6.2.0 Initial Version