PUT PAM Providers

The PUT /PamProviders operation updates an existing PAMClosed PAM (Privileged Access Management): Controls privileged access by vaulting credentials, enforcing least-privilege/just-in-time access, rotating secrets, and auditing sessions. Across Keyfactor products, PAM protects diverse sensitive operations and secrets—for example certificate stores and CA credentials—via built-in or third-party providers; external integrations are delivered as custom PAM extensions (several published on Keyfactor’s public GitHub). provider. On success, the operation returns HTTP 200 OK with  details for the updated provider.

Tip:  The following permissions (see Security Roles and Claims) are required to use this feature:

/pam/modify/
OR
/pam/modify/#/ (where # is a specific PAM provider ID)

Permissions for PAM providers can be set at the system-wide level or with fine-grained control at the PAM provider level. See PAM Permissions for more information about the differences between system-wide and more targeted permissions.

Important:  This operation replaces the entire record. Any fields not included in the request are cleared or set to their default values.

To avoid unintended data loss, first perform a GET to retrieve the existing record, update only the required fields, and then submit the full set of values in the PUT request.

This operation has two available versions. Keyfactor recommends using the newer operation when possible. For more information, see Endpoint Definition Versioning.

Version 2 of PUT /PamProviders has been redesigned to remove references to PAM associations with areas and containers.

Table 649: PUT PamProviders v2 Input Parameters

Name In

Description

Id Body Required. An integer indicating the Keyfactor Command reference ID for the PAM provider. This ID is automatically set by Keyfactor Command.
Name Body

Required. A string indicating the name of the PAM provider. This name is used to identify the PAM provider throughout Keyfactor Command.

Important:  The name you give to your PAM provider in Keyfactor Command must match the name of the PAM provider as referenced in the manifest.json file (see Installing Custom PAM Provider Extensions).
Provider Type Body

Required. An object containing details about the provider type for the provider. Only the provider type ID is needed on input. ClosedShow provider type details.

Provider Type Param Values Body

Required in some cases.  An array of objects containing the values for the provider types specified by ProviderTypeParam. Values are only supported in this field if the Remote parameter is set to false, in which case they are required. ClosedShow provider type parameter value details.

Example:  When creating or updating a PAM provider for Delinea local to Keyfactor Command, your request body might look like (where the ProviderType ID and ProviderTypeParam Ids and Names are retrieved using GET /PamProviders/Types):
Copy
{
   "Name": "PAMProviders.Delinea.PAMProvider",
   "Remote": false,
   "ProviderType": {
      "Id": "bd1762ce-3ea5-41fb-bfb4-1b6de6393fa3"
   },
   "ProviderTypeParamValues": [
      {
         "ProviderTypeParam": {
            "Id": 19,
            "Name": "SecretServerUrl"
         },
         "Value": "https://MyDelineaURL"
      },
      {
         "ProviderTypeParam": {
            "Id": 20,
            "Name": "Username"
         },
         "Value": "MyDelineaServiceAccountUser"
      },
      {
         "ProviderTypeParam": {
            "Id": 21,
            "Name": "Password"
         },
         "Value": "MySuperSecretPasswordtoAccessDelinea"
      }
   ]
}
Remote Body A Boolean indicating whether the PAM provider is local to the Keyfactor Command server (False) or local to the orchestrator (True). The default is False.

Table 650: PUT PamProviders v2 Response Data

Name

Description

Id An integer indicating the Keyfactor Command reference ID for the PAM provider. This ID is automatically set by Keyfactor Command.
Name

A string indicating the name of the PAM provider. This name is used to identify the PAM provider throughout Keyfactor Command.

Provider Type

An object containing details about the provider type for the provider. ClosedShow provider type details.

Provider Type Param Values

An array of objects containing the values for the provider types specified by ProviderTypeParam. This field contains values only if the Remote parameter is set to False. ClosedShow provider type parameter value details.

Remote A Boolean indicating whether the PAM provider is local to the Keyfactor Command server (False) or local to the orchestrator (True). The default is False.

Version 1 of PUT /PamProviders includes the same capabilities as version 2 except it includes references to the deprecated parameters related to the area of Keyfactor Command to which the PAM provider applies.

Table 651: PUT PamProviders v1 Input Parameters

Name In

Description

Id Body Required. An integer indicating the Keyfactor Command reference ID for the PAM provider. This ID is automatically set by Keyfactor Command.
Name Body

Required. A string indicating the name of the PAM provider. This name is used to identify the PAM provider throughout Keyfactor Command.

Important:  The name you give to your PAM provider in Keyfactor Command must match the name of the PAM provider as referenced in the manifest.json file (see Installing Custom PAM Provider Extensions).
Provider Type Body

Required. An object containing details about the provider type for the provider. Only the provider type ID is needed on input. ClosedShow provider type details.

Provider Type Param Values Body

Required in some cases.  An array of objects containing the values for the provider types specified by ProviderTypeParam. Values are only supported in this field if the Remote parameter is set to false, in which case they are required. ClosedShow provider type parameter value details.

Example:  When creating or updating a PAM provider for Delinea local to Keyfactor Command, your request body might look like (where the ProviderType ID and ProviderTypeParam Ids and Names are retrieved using GET /PamProviders/Types):
Copy
{
   "Name": "PAMProviders.Delinea.PAMProvider",
   "Remote": false,
   "ProviderType": {
      "Id": "bd1762ce-3ea5-41fb-bfb4-1b6de6393fa3"
   },
   "ProviderTypeParamValues": [
      {
         "ProviderTypeParam": {
            "Id": 19,
            "Name": "SecretServerUrl"
         },
         "Value": "https://MyDelineaURL"
      },
      {
         "ProviderTypeParam": {
            "Id": 20,
            "Name": "Username"
         },
         "Value": "MyDelineaServiceAccountUser"
      },
      {
         "ProviderTypeParam": {
            "Id": 21,
            "Name": "Password"
         },
         "Value": "MySuperSecretPasswordtoAccessDelinea"
      }
   ]
}
Remote Body A Boolean indicating whether the PAM provider is local to the Keyfactor Command server (False) or local to the orchestrator (True). The default is False.

Table 652: PUT PamProviders v1 Response Data

Name

Description

Id An integer indicating the Keyfactor Command reference ID for the PAM provider. This ID is automatically set by Keyfactor Command.
Name

A string indicating the name of the PAM provider. This name is used to identify the PAM provider throughout Keyfactor Command.

Area

An integer indicating the area of Keyfactor Command the provider is used for.

This is considered deprecated and may be removed in a future release.

Provider Type

An object containing details about the provider type for the provider. ClosedShow provider type details.

Provider Type Param Values

An array of objects containing the values for the provider types specified by ProviderTypeParam. This field contains values only if the Remote parameter is set to False. ClosedShow provider type parameter value details.

Remote A Boolean indicating whether the PAM provider is local to the Keyfactor Command server (False) or local to the orchestrator (True). The default is False.
Secure Area Id

An integer indicating the Keyfactor Command reference ID for the certificate store container the PAM provider is associated with, if any.

This is considered deprecated and may be removed in a future release.