Difference between revisions of "API Authentication Credentials"

From WHMCS Documentation

m (Creating Admin API Authentication Credentials)
Line 1: Line 1:
 
<div class="docs-alert-info"><i class="fa fa-question-circle"></i> This page describes a feature available in version 7.2 and above</div>
 
<div class="docs-alert-info"><i class="fa fa-question-circle"></i> This page describes a feature available in version 7.2 and above</div>
  
The WHMCS API is available for administrative actions and its usage is described in depth within our developer [https://developers.whmcs.com/api/ API documentation].
+
In WHMCS 7.2 and later, you can generate unique API authentication credentials. This allows for better management and security for provisioning access to API connected devices and systems.  
  
WHMCS version 7.2 introduces the ability to generate unique API authentication credentials. This allows for better management and security for provisioning access to API connected devices and systems. API authentication with an admin's login username and password is allowed for backwards compatibility, however it is not recommended and may be deprecated in a future release.
+
For more information about using the WHMCS API, see our [https://developers.whmcs.com/api/ API documentation].
  
 
==Managing API Roles==
 
==Managing API Roles==
  
Admin API authentication roles are managed in the Admin Area by navigating to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
+
To manage admin API authentication roles in the Admin Area, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
  
 
[[File:API_Cred_admin_menu_nav.png|300px]]
 
[[File:API_Cred_admin_menu_nav.png|300px]]
Line 13: Line 13:
 
===Creating Admin API Roles===
 
===Creating Admin API Roles===
  
Click the '''Create API Role button''' to open '''Role Management''' modal. Enter a role in the '''Role Name ''' section and tick the API permissions you wish for this role to have access to. You may optionally provide a description for contextual reference.
+
To create an admin API role:
 +
 
 +
# Go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
 +
# Click '''Create API Role''' to open the '''Role Management''' modal.  
 +
# Enter a role in the '''Role Name ''' section.
 +
# Check the desired API permissions.
 +
# Optionally, enter a description.
  
 
[[File:API_admin_menu_roles_modal.png|550px]]
 
[[File:API_admin_menu_roles_modal.png|550px]]
Line 19: Line 25:
 
==Managing API Credentials==
 
==Managing API Credentials==
  
Admin API authentication credentials are managed in the Admin Area by navigating to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
+
To manage admin API authentication credentials, go to '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
  
 
[[File:API_Cred_admin_menu_nav.png|300px]]
 
[[File:API_Cred_admin_menu_nav.png|300px]]
Line 25: Line 31:
 
===Creating Admin API Authentication Credentials===
 
===Creating Admin API Authentication Credentials===
  
Click the '''Generate New API Credential''' button to open '''Generate New API Credential''' modal.  You must select the admin member of staff for whom the new credential will authenticate.  You may optionally provide a description for contextual reference.
+
To create new admin API authentication credentials:
 
 
[[File:API_Cred_generate_select_admin2.png|550px]]
 
 
 
Click the ''Generate'' button to provision a unique API credential for the selected admin user.  The dialog screen will update and provide the credential ''Identifier'' and ''Secret''.  These two values should be used in leu of the admin's username and password for API authentication.  To the right of each value is a quick copy button for your convenience.
 
 
 
[[File:API_Cred_generated_pair2.png|550px]]
 
 
 
<div class="docs-alert-warning">You must copy the Secret value.  It will not be available at a later time due to cryptographic security.  If you fail to copy this value, a new credential pair will need to be generated</div>
 
  
After you have copied and saved the ''Identifier'' and ''Secret'' in a private and secure location, you may exit the dialog screen by clicking either the ''X'' at the top right corner or outside the dialog screen.
+
# Go to  '''Configuration (<i class="fa fa-wrench" aria-hidden="true"></i>) > System Settings > Manage API Credentials''' or, prior to WHMCS 8.0, '''Setup > Staff Management > Manage API Credentials'''.
 +
# Click '''Generate New API Credential''' to open the '''Generate New API Credential''' modal. 
 +
# Select the admin who the new credential will authenticate.
 +
# Optionally, enter a description.[[File:API_Cred_generate_select_admin2.png|550px]]
 +
# Click '''Generate''' to provision a unique API credential for the selected admin.  The credential identifier and secret will display. 
 +
#* These two values should be used in leu of the admin's username and password for API authentication. 
 +
#* To the right of each value is a quick copy button for your convenience.[[File:API_Cred_generated_pair2.png|550px]]<div class="docs-alert-warning">You must copy the Secret value at this time. If you lose this, you will need to generate a new credential pair.</div>
 +
# Click the '''X''' at the top right corner to exit.
  
Once a credential pair has been generated, it will be itemized in the ''API Credentials'' table.
+
The new API credential will appear in the list.
  
 
[[File:API_Cred_table2.png|550px]]
 
[[File:API_Cred_table2.png|550px]]

Revision as of 18:07, 17 December 2021

This page describes a feature available in version 7.2 and above

In WHMCS 7.2 and later, you can generate unique API authentication credentials. This allows for better management and security for provisioning access to API connected devices and systems.

For more information about using the WHMCS API, see our API documentation.

Managing API Roles

To manage admin API authentication roles in the Admin Area, go to Configuration () > System Settings > Manage API Credentials or, prior to WHMCS 8.0, Setup > Staff Management > Manage API Credentials.

API Cred admin menu nav.png

Creating Admin API Roles

To create an admin API role:

  1. Go to Configuration () > System Settings > Manage API Credentials or, prior to WHMCS 8.0, Setup > Staff Management > Manage API Credentials.
  2. Click Create API Role to open the Role Management modal.
  3. Enter a role in the Role Name section.
  4. Check the desired API permissions.
  5. Optionally, enter a description.

API admin menu roles modal.png

Managing API Credentials

To manage admin API authentication credentials, go to Configuration () > System Settings > Manage API Credentials or, prior to WHMCS 8.0, Setup > Staff Management > Manage API Credentials.

API Cred admin menu nav.png

Creating Admin API Authentication Credentials

To create new admin API authentication credentials:

  1. Go to Configuration () > System Settings > Manage API Credentials or, prior to WHMCS 8.0, Setup > Staff Management > Manage API Credentials.
  2. Click Generate New API Credential to open the Generate New API Credential modal.
  3. Select the admin who the new credential will authenticate.
  4. Optionally, enter a description.API Cred generate select admin2.png
  5. Click Generate to provision a unique API credential for the selected admin. The credential identifier and secret will display.
    • These two values should be used in leu of the admin's username and password for API authentication.
    • To the right of each value is a quick copy button for your convenience.API Cred generated pair2.png
      You must copy the Secret value at this time. If you lose this, you will need to generate a new credential pair.
  6. Click the X at the top right corner to exit.

The new API credential will appear in the list.

API Cred table2.png

You may create as many API credential pairs for an admin as you require. You may remove any credential pair to invalidate access and authentication attempts that are received with that Identifier.

Furthermore, you may alter the admin's login password freely without invalidating credentials provisioned by this feature. If you disable or remove entirely an admin user, any associated API credentials will become invalid. As noted above, if your copy of the Secret is forgot or otherwise unknown, simply create a new API credential pair, then use the freshly generated Identifier and Secret in your integration. We advise you promptly delete the former credential pair whose secret is unknown

Updating Credential Descriptions

You may update the description and associated API Roles at any time. Find the credential you wish to edit in the table list. Click the associated edit button (depicted by a pencil icon) to open the Credential Management dialog screen.

API Cred manage cred.png

You may update just the description for a credential at any time directly in the description field of the table. This field is provided to enable effective management of multiple credentials associated with a given admin users and for your contextual use.

To simply update a description, locate the desired credential by utilizing the API Credential table's search function and/or by using column sorting & pagination. Once you have found the credential, click the current description to active the editor.

API Cred edit desc.png

Once you have typed in the new description, click the check button to the immediate right.

Removing Admin API Authentication Credentials

You may revoke API authentication by removing a generated credential.

To remove a authentication with a given credential, locate the desired credential by utilizing the API Credential table's search function and/or by using column sorting and pagination. Once you have found the credential to be removed, click the delete button found in the right most column of that row.

API Cred delete2.png

A confirmation dialog screen will be presented. Click the Delete Credentials button to permanently remove the credential.