|
|
(8 intermediate revisions by 2 users not shown) |
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>
| + | #REDIRECT [[Manage_API_Credentials]] |
− | | |
− | 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].
| |
− | | |
− | 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.
| |
− | | |
− | ==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'''.
| |
− | | |
− | [[File:API_Cred_admin_menu_nav.png|300px]]
| |
− | | |
− | ===Creating Admin API Roles===
| |
− | | |
− | Click the ''Create API Role button'' to open ''Role Management'' dialog screen. 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.
| |
− | | |
− | [[File:API_admin_menu_roles_modal.png|550px]]
| |
− | | |
− | ==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'''.
| |
− | | |
− | [[File:API_Cred_admin_menu_nav.png|300px]]
| |
− | | |
− | ===Creating Admin API Authentication Credentials===
| |
− | | |
− | Click the ''Generate New API Credential'' button to open ''Generate New API Credential'' dialog screen. You must select the admin member of staff for whom the new credential will authenticate. You may optionally provide a description for contextual reference.
| |
− | | |
− | [[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.
| |
− | | |
− | Once a credential pair has been generated, it will be itemized in the ''API Credentials'' table.
| |
− | | |
− | [[File:API_Cred_table2.png|550px]]
| |
− | | |
− | 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.
| |
− | | |
− | [[File:API_Cred_manage_cred.png|550px]]
| |
− | | |
− | 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.
| |
− | | |
− | [[File:API_Cred_edit_desc.png|250px]]
| |
− | | |
− | 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.
| |
− | | |
− | [[File:API_Cred_delete2.png|550px]] | |
− | | |
− | A confirmation dialog screen will be presented. Click the ''Delete Credentials'' button to permanently remove the credential.
| |