An open API service indexing awesome lists of open source software.

https://github.com/keyfactor/keyfactor-go-client-sdk

Client SDK in golang for the Keyfactor Command REST API
https://github.com/keyfactor/keyfactor-go-client-sdk

keyfactor-api-client

Last synced: about 1 year ago
JSON representation

Client SDK in golang for the Keyfactor Command REST API

Awesome Lists containing this project

README

          

# Go API client for keyfactor

This reference serves to document REST-based methods to manage and integrate with Keyfactor. In addition, an embedded
interface allows for the execution of calls against the current Keyfactor API instance.

## Support for Keyfactor Command Go Client SDK

Keyfactor Command Go Client SDK is open source and supported on best effort level for this tool/library/client.
This means customers can report Bugs, Feature Requests, Documentation amendment or questions as well as requests for
customer information required for setup that needs Keyfactor access to obtain. Such requests do not follow normal SLA
commitments for response or resolution. If you have a support issue, please open a support ticket via the Keyfactor
Support Portal at https://support.keyfactor.com/

###### To report a problem or suggest a new feature, use the **[Issues](../../issues)
** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **[Pull requests](../../pulls)
** tab.

---

## Overview

This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using
the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.

- API version: v1
- Package version: 1.0.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen

## Installation

Install the following dependencies:

```shell
go get "github.com/Keyfactor/keyfactor-go-client-sdk"
```

Put the package under your project folder and add the following in import:

```golang
package main

import "github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
```

## Configuration

The `keyfactor.NewConfiguration()` method is used to configure the Keyfactor Go Client SDK. The client can be configured
by passing a map of configuration options to the `NewConfiguration()` method, or by passing a blank map and setting
the configuration options individually on the returned `Configuration` object.

The following configuration options are available:

### Basic Authentication Example

#### Via Environment Variables

##### Simple
```go
package main

import (
"os"
"strings"
"fmt"
"github.com/Keyfactor/keyfactor-auth-client-go/auth_providers"
"github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
)

func main(){
basicAuthNoParamsConfig := &auth_providers.CommandAuthConfigBasic{}
conf := basicAuthNoParamsConfig.GetServerConfig()

c := keyfactor.NewAPIClient(conf)
authErr := c.AuthClient.Authenticate()
if authErr != nil {
fmt.Errorf("%s", authErr)
return
}
}
```

##### Verbose
```go
package main

import (
"os"
"strings"
"fmt"
"github.com/Keyfactor/keyfactor-auth-client-go/auth_providers"
"github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
)

func main(){
username, _ := os.LookupEnv(auth_providers.EnvKeyfactorUsername)
password, _ := os.LookupEnv(auth_providers.EnvKeyfactorPassword)
domain, _ := os.LookupEnv(auth_providers.EnvKeyfactorDomain)
hostname, _ := os.LookupEnv(auth_providers.EnvKeyfactorHostName)
apiPath, _ := os.LookupEnv(auth_providers.EnvKeyfactorAPIPath)
skipVerify, _ := os.LookupEnv(auth_providers.EnvKeyfactorSkipVerify)
caCertPath, _ := os.LookupEnv(auth_providers.EnvKeyfactorCACert)

var skipVerifyBool bool
skipVerify = strings.ToLower(skipVerify)
skipVerifyBool = skipVerify == "true" || skipVerify == "1" || skipVerify == "yes" || skipVerify == "y" || skipVerify == "t"

basicAuthNoParamsConfig := &auth_providers.CommandAuthConfigBasic{}

basicAuthNoParamsConfig.
WithCommandHostName(hostname).
WithCommandAPIPath(apiPath).
WithCommandCACert(caCertPath).
WithSkipVerify(skipVerifyBool)

basicAuthNoParamsConfig.
WithUsername(username).
WithPassword(password).
WithDomain(domain)

conf := basicAuthNoParamsConfig.GetServerConfig()

c := keyfactor.NewAPIClient(conf)
authErr := c.AuthClient.Authenticate()
if authErr != nil {
fmt.Errorf("%s", authErr)
return
}
}

```

### OAuth2 Authentication Example

#### Via Environment Variables

##### Simple

```go
package main

import (
"os"
"fmt"
"strings"
"github.com/Keyfactor/keyfactor-auth-client-go/auth_providers"
"github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
)

func main() {
oAuthNoParamsConfig := &auth_providers.CommandConfigOauth{}
conf := oAuthNoParamsConfig.GetServerConfig()

c := keyfactor.NewAPIClient(&conf)

authErr := c.AuthClient.Authenticate()
if authErr != nil {
fmt.Errorf("%s", authErr)
return
}
}

```

##### Verbose
```go
package main

import (
"os"
"fmt"
"strings"
"github.com/Keyfactor/keyfactor-auth-client-go/auth_providers"
"github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
)

func main() {
clientId, _ := os.LookupEnv(auth_providers.EnvKeyfactorClientID)
clientSecret, _ := os.LookupEnv(auth_providers.EnvKeyfactorClientSecret)
tokenUrl, _ := os.LookupEnv(auth_providers.EnvKeyfactorAuthTokenURL)
hostname, _ := os.LookupEnv(auth_providers.EnvKeyfactorHostName)
apiPath, _ := os.LookupEnv(auth_providers.EnvKeyfactorAPIPath)
skipVerify, _ := os.LookupEnv(auth_providers.EnvKeyfactorSkipVerify)
caCertPath, _ := os.LookupEnv(auth_providers.EnvKeyfactorCACert)
var skipVerifyBool bool
skipVerify = strings.ToLower(skipVerify)
skipVerifyBool = skipVerify == "true" || skipVerify == "1" || skipVerify == "yes" || skipVerify == "y" || skipVerify == "t"

oAuthNoParamsConfig := &auth_providers.CommandConfigOauth{}

// Set base configuration
oAuthNoParamsConfig.CommandAuthConfig.
WithCommandHostName(hostname).
WithCommandAPIPath(apiPath).
WithCommandCACert(caCertPath).
WithSkipVerify(skipVerifyBool)

// Set OAuth2 configuration yes this must be done after setting the base configuration
oAuthNoParamsConfig.
WithClientId(clientId).
WithClientSecret(clientSecret).
WithTokenUrl(tokenUrl)

conf := oAuthNoParamsConfig.GetServerConfig()

c := keyfactor.NewAPIClient(&conf)

authErr := c.AuthClient.Authenticate()
if authErr != nil {
fmt.Errorf("%s", authErr)
return
}
}
```

### Create Client Via Configuration File
```go
package main

import (
"fmt"
"os"
"strings"
"github.com/Keyfactor/keyfactor-auth-client-go/auth_providers"
"github.com/Keyfactor/keyfactor-go-client-sdk/api/keyfactor"
)

func main() {
var commandConfig *auth_providers.Config
var serverConfig auth_providers.Server
var profile string
var configFile string
profile, _ = os.LookupEnv(auth_providers.EnvKeyfactorAuthProfile)
configFile, _ = os.LookupEnv(auth_providers.EnvKeyfactorConfigFile)

if profile == "" {
profile = "default"
}
if configFile == "" {
homeDir, _ := os.UserHomeDir()
configFile = fmt.Sprintf("%s/%s", homeDir, auth_providers.DefaultConfigFilePath)
}
var cfgReadErr error
if strings.HasSuffix(configFile, ".yaml") || strings.HasSuffix(configFile, ".yml") {
commandConfig, cfgReadErr = auth_providers.ReadConfigFromYAML(configFile)
} else {
commandConfig, cfgReadErr = auth_providers.ReadConfigFromJSON(configFile)
}

if cfgReadErr != nil {
fmt.Errorf("%s",cfgReadErr)
return
}

// check if the profile exists in the config file
var ok bool
if serverConfig, ok = commandConfig.Servers[profile]; !ok {
fmt.Errorf("invalid profile: %s\n", profile)
return
}

c := keyfactor.NewAPIClient(&serverConfig)

authErr := c.AuthClient.Authenticate()
if authErr != nil {
fmt.Errorf("%s", authErr)
return
}
}

```

## Documentation for API Endpoints

All URIs are relative to *http://keyfactor.example.com*

Class | Method | HTTP request | Description
--------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
*AgentApi* | [**AgentApprove**](docs/AgentApi.md#agentapprove) | **Post** /Agents/Approve | Approve a list of agents
*AgentApi* | [**AgentDisapprove**](docs/AgentApi.md#agentdisapprove) | **Post** /Agents/Disapprove | Disapprove a list of agents
*AgentApi* | [**AgentFetchLogs**](docs/AgentApi.md#agentfetchlogs) | **Post** /Agents/{id}/FetchLogs | Schedules a job on the agent to retrieve log files
*AgentApi* | [**AgentGetAgentDetail**](docs/AgentApi.md#agentgetagentdetail) | **Get** /Agents/{id} | Returns details for a single agent, specified by ID
*AgentApi* | [**AgentGetAgents**](docs/AgentApi.md#agentgetagents) | **Get** /Agents | Returns all agents according to the provided filter and output parameters
*AgentApi* | [**AgentReset0**](docs/AgentApi.md#agentreset0) | **Post** /Agents/Reset | Reset a list of agents
*AgentApi* | [**AgentReset1**](docs/AgentApi.md#agentreset1) | **Post** /Agents/{id}/Reset | Reset an agent to a new state
*AgentApi* | [**AgentSetAuthCertificateReenrollment**](docs/AgentApi.md#agentsetauthcertificatereenrollment) | **Post** /Agents/SetAuthCertificateReenrollment | Update the AuthCertificateReenrollment value for an agent to request or require (or unset the request) the agent to enroll for a new client authentication certificate on its next registration.
*AgentBlueprintApi* | [**AgentBlueprintApplyBlueprint**](docs/AgentBlueprintApi.md#agentblueprintapplyblueprint) | **Post** /AgentBluePrint/ApplyBlueprint | Applies the selected agent blueprint to the provided agents
*AgentBlueprintApi* | [**AgentBlueprintDeleteBlueprint**](docs/AgentBlueprintApi.md#agentblueprintdeleteblueprint) | **Delete** /AgentBluePrint/{id} | Deletes an agent blueprint by its Keyfactor identifier
*AgentBlueprintApi* | [**AgentBlueprintGenerateBlueprint**](docs/AgentBlueprintApi.md#agentblueprintgenerateblueprint) | **Post** /AgentBluePrint/GenerateBluePrint | Generates an agent blueprint from the provided agents
*AgentBlueprintApi* | [**AgentBlueprintGetAgentBlueprint**](docs/AgentBlueprintApi.md#agentblueprintgetagentblueprint) | **Get** /AgentBluePrint/{id} | Returns an agent blueprint according to the provided filter and output parameters
*AgentBlueprintApi* | [**AgentBlueprintGetAgentBlueprints**](docs/AgentBlueprintApi.md#agentblueprintgetagentblueprints) | **Get** /AgentBluePrint | Returns all agent blueprints according to the provided filter and output parameters
*AgentBlueprintApi* | [**AgentBlueprintGetBlueprintJobs**](docs/AgentBlueprintApi.md#agentblueprintgetblueprintjobs) | **Get** /AgentBluePrint/{id}/Jobs | Gets the agent blueprint scheduled jobs
*AgentBlueprintApi* | [**AgentBlueprintGetBlueprintStores**](docs/AgentBlueprintApi.md#agentblueprintgetblueprintstores) | **Get** /AgentBluePrint/{id}/Stores | Gets the agent blueprint certificate stores
*AgentPoolApi* | [**AgentPoolCreateAgentPool**](docs/AgentPoolApi.md#agentpoolcreateagentpool) | **Post** /AgentPools | Creates an agent pool with the provided properties
*AgentPoolApi* | [**AgentPoolDeleteAgentPool**](docs/AgentPoolApi.md#agentpooldeleteagentpool) | **Delete** /AgentPools/{id} | Deletes the agent pool associated with the provided id
*AgentPoolApi* | [**AgentPoolGetAgentPoolById**](docs/AgentPoolApi.md#agentpoolgetagentpoolbyid) | **Get** /AgentPools/{id} | Returns a single agent pool associated with the provided id
*AgentPoolApi* | [**AgentPoolGetAgentPools**](docs/AgentPoolApi.md#agentpoolgetagentpools) | **Get** /AgentPools | Returns all agent pools according to the provided filter and output parameters
*AgentPoolApi* | [**AgentPoolGetDefaultAgentPoolAgents**](docs/AgentPoolApi.md#agentpoolgetdefaultagentpoolagents) | **Get** /AgentPools/Agents | Returns all agents for the default agent pool
*AgentPoolApi* | [**AgentPoolUpdateAgentPool**](docs/AgentPoolApi.md#agentpoolupdateagentpool) | **Put** /AgentPools | Updates an existing agent pool with the provided properties
*AuditLogApi* | [**AuditLogDownloadCSV**](docs/AuditLogApi.md#auditlogdownloadcsv) | **Get** /Audit/Download | Returns a Comma Separated file containing the audit log entries according to the provided filter
*AuditLogApi* | [**AuditLogGetAuditLog**](docs/AuditLogApi.md#auditloggetauditlog) | **Get** /Audit/{id} | Returns the audit log entry associated with the provided identifier
*AuditLogApi* | [**AuditLogGetAuditLogs**](docs/AuditLogApi.md#auditloggetauditlogs) | **Get** /Audit | Returns all audit log entries according to the provided filter and output parameters
*AuditLogApi* | [**AuditLogGetRelatedEntities**](docs/AuditLogApi.md#auditloggetrelatedentities) | **Get** /Audit/RelatedEntities | Returns the audit log entry associated with the provided keyfactor id
*AuditLogApi* | [**AuditLogValidateAuditLog**](docs/AuditLogApi.md#auditlogvalidateauditlog) | **Get** /Audit/{id}/Validate | Validates the audit log entry associated with the provided keyfactor id
*CSRGenerationApi* | [**CSRGenerationDeleteCSR**](docs/CSRGenerationApi.md#csrgenerationdeletecsr) | **Delete** /CSRGeneration/Pending/{id} | Deletes a CSR associated with the provided identifier
*CSRGenerationApi* | [**CSRGenerationDeleteCSRs**](docs/CSRGenerationApi.md#csrgenerationdeletecsrs) | **Delete** /CSRGeneration/Pending | Deletes the CSRs associated with the provided identifiers
*CSRGenerationApi* | [**CSRGenerationDownload**](docs/CSRGenerationApi.md#csrgenerationdownload) | **Get** /CSRGeneration/Pending/{id} | Returns a previously generated CSR associated with the provided identifier
*CSRGenerationApi* | [**CSRGenerationGetPendingCSRs**](docs/CSRGenerationApi.md#csrgenerationgetpendingcsrs) | **Get** /CSRGeneration/Pending | Returns a list of the currently pending CSRs according to the provided query
*CSRGenerationApi* | [**CSRGenerationPostGenerate**](docs/CSRGenerationApi.md#csrgenerationpostgenerate) | **Post** /CSRGeneration/Generate | Generates a CSR according the properties provided
*CertificateApi* | [**CertificateAnalyzeCert**](docs/CertificateApi.md#certificateanalyzecert) | **Post** /Certificates/Analyze | Returns the public information of the certificate
*CertificateApi* | [**CertificateCertificateHistory**](docs/CertificateApi.md#certificatecertificatehistory) | **Get** /Certificates/{id}/History | Gets the history of operations on a certificate
*CertificateApi* | [**CertificateCompareMetadata**](docs/CertificateApi.md#certificatecomparemetadata) | **Get** /Certificates/Metadata/Compare | Compares the metadata value provided with the metadata value associated with the specified certificate
*CertificateApi* | [**CertificateDeleteByQuery**](docs/CertificateApi.md#certificatedeletebyquery) | **Delete** /Certificates/Query | Deletes multiple persisted certificate entities selected by a given query
*CertificateApi* | [**CertificateDeleteCertificate**](docs/CertificateApi.md#certificatedeletecertificate) | **Delete** /Certificates/{id} | Deletes a persisted certificate by its unique id as well as the stored private key (if present) associated with it
*CertificateApi* | [**CertificateDeleteCertificates**](docs/CertificateApi.md#certificatedeletecertificates) | **Delete** /Certificates | Deletes multiple persisted certificates by their unique ids
*CertificateApi* | [**CertificateDeletePrivateKeys0**](docs/CertificateApi.md#certificatedeleteprivatekeys0) | **Delete** /Certificates/PrivateKey | Deletes the persisted private keys of multiple certificates by the unique ids of the Certificates
*CertificateApi* | [**CertificateDeletePrivateKeys1**](docs/CertificateApi.md#certificatedeleteprivatekeys1) | **Delete** /Certificates/PrivateKey/{id} | Deletes the persisted private key of the certificate associated with the provided identifier
*CertificateApi* | [**CertificateDownloadCertificateAsync**](docs/CertificateApi.md#certificatedownloadcertificateasync) | **Post** /Certificates/Download | Downloads the persisted certificate associated with the provided query
*CertificateApi* | [**CertificateGetCertificate**](docs/CertificateApi.md#certificategetcertificate) | **Get** /Certificates/{id} | Returns a single certificate that matches the id
*CertificateApi* | [**CertificateGetCertificateLocations**](docs/CertificateApi.md#certificategetcertificatelocations) | **Get** /Certificates/Locations/{id} | Returns a list of locations the certificate is in
*CertificateApi* | [**CertificateGetCertificateSecurity**](docs/CertificateApi.md#certificategetcertificatesecurity) | **Get** /Certificates/{id}/Security | Gets the list of Security Identities and which permissions they have on the given certificate.
*CertificateApi* | [**CertificateIdentityAudit**](docs/CertificateApi.md#certificateidentityaudit) | **Get** /Certificates/IdentityAudit/{id} | Audit identity permissions for certificate
*CertificateApi* | [**CertificatePostImportCertificate**](docs/CertificateApi.md#certificatepostimportcertificate) | **Post** /Certificates/Import | Imports the provided certificate into the Keyfactor instance, including any provided associated data
*CertificateApi* | [**CertificateQueryCertificates**](docs/CertificateApi.md#certificatequerycertificates) | **Get** /Certificates | Returns all certificates according to the provided filter and output parameters
*CertificateApi* | [**CertificateRecoverCertificateAsync**](docs/CertificateApi.md#certificaterecovercertificateasync) | **Post** /Certificates/Recover | Recovers the persisted certificate associated with the provided query
*CertificateApi* | [**CertificateRevoke**](docs/CertificateApi.md#certificaterevoke) | **Post** /Certificates/Revoke | Revokes the certificates associated with the provided identifiers and associates the provided data with the revocation
*CertificateApi* | [**CertificateRevokeAll**](docs/CertificateApi.md#certificaterevokeall) | **Post** /Certificates/RevokeAll | Revokes the certificates associated with the provided query and Collection Id and associates the provided data with the revocation
*CertificateApi* | [**CertificateUpdateAllMetadata**](docs/CertificateApi.md#certificateupdateallmetadata) | **Put** /Certificates/Metadata/All | Updates the metadata for certificates associated with the certificate identifiers or query provided
*CertificateApi* | [**CertificateUpdateMetadata**](docs/CertificateApi.md#certificateupdatemetadata) | **Put** /Certificates/Metadata | Updates the metadata for the certificate associated with the identifier provided
*CertificateApi* | [**CertificateValidateCertificate**](docs/CertificateApi.md#certificatevalidatecertificate) | **Get** /Certificates/{id}/Validate | Validates the certificate chain can be built.
*CertificateAuthorityApi* | [**CertificateAuthorityCreateCA**](docs/CertificateAuthorityApi.md#certificateauthoritycreateca) | **Post** /CertificateAuthority | Creates a new CertificateAuthority object
*CertificateAuthorityApi* | [**CertificateAuthorityDeleteCA**](docs/CertificateAuthorityApi.md#certificateauthoritydeleteca) | **Delete** /CertificateAuthority/{id} | Deletes a CertificateAuthority from the system, specified by ID
*CertificateAuthorityApi* | [**CertificateAuthorityGetCa**](docs/CertificateAuthorityApi.md#certificateauthoritygetca) | **Get** /CertificateAuthority/{id} | Returns details for a single CA, specified by ID
*CertificateAuthorityApi* | [**CertificateAuthorityGetCas**](docs/CertificateAuthorityApi.md#certificateauthoritygetcas) | **Get** /CertificateAuthority | Returns all certificate authorities
*CertificateAuthorityApi* | [**CertificateAuthorityPublishCRL**](docs/CertificateAuthorityApi.md#certificateauthoritypublishcrl) | **Post** /CertificateAuthority/PublishCRL | Publishes a CRL according to the provided request
*CertificateAuthorityApi* | [**CertificateAuthorityTestCertificateAuthority**](docs/CertificateAuthorityApi.md#certificateauthoritytestcertificateauthority) | **Post** /CertificateAuthority/Test | Validates the connection info for the CA provided by the model.
*CertificateAuthorityApi* | [**CertificateAuthorityUpdateCA**](docs/CertificateAuthorityApi.md#certificateauthorityupdateca) | **Put** /CertificateAuthority | Updates a CertificateAuthority object
*CertificateCollectionApi* | [**CertificateCollectionCopyFromExistingCollection**](docs/CertificateCollectionApi.md#certificatecollectioncopyfromexistingcollection) | **Post** /CertificateCollections/Copy | Creates a new certificate collection from an existing collection. The permissions, query and description of the existing collection are copied when creating the new record, with the option to overwrite the query or description.
*CertificateCollectionApi* | [**CertificateCollectionCreateCollection**](docs/CertificateCollectionApi.md#certificatecollectioncreatecollection) | **Post** /CertificateCollections | Creates a new certificate collection with the provided properties
*CertificateCollectionApi* | [**CertificateCollectionGetCollection0**](docs/CertificateCollectionApi.md#certificatecollectiongetcollection0) | **Get** /CertificateCollections/{id} | Returns the certificate collection definition associated with the provided Keyfactor identifier
*CertificateCollectionApi* | [**CertificateCollectionGetCollection1**](docs/CertificateCollectionApi.md#certificatecollectiongetcollection1) | **Get** /CertificateCollections/{name} | Returns the certificate collection associated with the provided collection name
*CertificateCollectionApi* | [**CertificateCollectionGetCollections**](docs/CertificateCollectionApi.md#certificatecollectiongetcollections) | **Get** /CertificateCollections | Returns all certificate collections
*CertificateCollectionApi* | [**CertificateCollectionSetCollectionPermissions**](docs/CertificateCollectionApi.md#certificatecollectionsetcollectionpermissions) | **Post** /CertificateCollections/{id}/Permissions | Set the permissions for a collection
*CertificateCollectionApi* | [**CertificateCollectionUpdateCollection**](docs/CertificateCollectionApi.md#certificatecollectionupdatecollection) | **Put** /CertificateCollections | Updates an existing certificate collection with the provided properties
*CertificateStoreApi* | [**CertificateStoreAddCertificate**](docs/CertificateStoreApi.md#certificatestoreaddcertificate) | **Post** /CertificateStores/Certificates/Add | Configures a management job to add a certificate to one or more stores with the provided schedule
*CertificateStoreApi* | [**CertificateStoreApprovePending**](docs/CertificateStoreApi.md#certificatestoreapprovepending) | **Post** /CertificateStores/Approve | Approves the provided certificate stores to make them available for management
*CertificateStoreApi* | [**CertificateStoreConfigureDiscoveryJob**](docs/CertificateStoreApi.md#certificatestoreconfigurediscoveryjob) | **Put** /CertificateStores/DiscoveryJob | Configures a discovery job to locate currently unmanaged certificate stores
*CertificateStoreApi* | [**CertificateStoreCreateCertificateStoreServer**](docs/CertificateStoreApi.md#certificatestorecreatecertificatestoreserver) | **Post** /CertificateStores/Server | Creates a new certificate store server with the provided properties
*CertificateStoreApi* | [**CertificateStoreDeleteCertificateStore**](docs/CertificateStoreApi.md#certificatestoredeletecertificatestore) | **Delete** /CertificateStores/{id} | Deletes a persisted certificate store by its Keyfactor identifier
*CertificateStoreApi* | [**CertificateStoreDeleteCertificateStores**](docs/CertificateStoreApi.md#certificatestoredeletecertificatestores) | **Delete** /CertificateStores | Deletes multiple persisted certificate store entities by their identifiers
*CertificateStoreApi* | [**CertificateStoreGetCertificateStoreInventory**](docs/CertificateStoreApi.md#certificatestoregetcertificatestoreinventory) | **Get** /CertificateStores/{id}/Inventory | Returns a single certificate store's inventory associated with the provided id
*CertificateStoreApi* | [**CertificateStoreRemoveCertificate**](docs/CertificateStoreApi.md#certificatestoreremovecertificate) | **Post** /CertificateStores/Certificates/Remove | Configures a management job to remove a certificate from one or more stores with the provided schedule
*CertificateStoreApi* | [**CertificateStoreSchedule**](docs/CertificateStoreApi.md#certificatestoreschedule) | **Post** /CertificateStores/Schedule | Creates an inventory schedule for the provided certificate stores
*CertificateStoreApi* | [**CertificateStoreScheduleForReenrollment**](docs/CertificateStoreApi.md#certificatestorescheduleforreenrollment) | **Post** /CertificateStores/Reenrollment | Schedules a certificate store for reenrollment
*CertificateStoreApi* | [**CertificateStoreSetPassword**](docs/CertificateStoreApi.md#certificatestoresetpassword) | **Put** /CertificateStores/Password | Sets a password for the requested certificate store
*CertificateStoreApi* | [**CertificateStoreUpdateCertificateStoreServer**](docs/CertificateStoreApi.md#certificatestoreupdatecertificatestoreserver) | **Put** /CertificateStores/Server | Updates a given certificate store server with the properties of the provided instance
*CertificateStoreContainerApi* | [**CertificateStoreContainerDeleteCertificateStoreContainers**](docs/CertificateStoreContainerApi.md#certificatestorecontainerdeletecertificatestorecontainers) | **Delete** /CertificateStoreContainers/{id} | Delete a certificate store container
*CertificateStoreContainerApi* | [**CertificateStoreContainerGetAllCertificateStoreContainers**](docs/CertificateStoreContainerApi.md#certificatestorecontainergetallcertificatestorecontainers) | **Get** /CertificateStoreContainers | Returns all certificate store container according to the provided filter and output parameters
*CertificateStoreTypeApi* | [**CertificateStoreTypeCreateCertificateStoreType**](docs/CertificateStoreTypeApi.md#certificatestoretypecreatecertificatestoretype) | **Post** /CertificateStoreTypes | Creates a new certificate store type with the provided properties
*CertificateStoreTypeApi* | [**CertificateStoreTypeDeleteCertificateStoreType**](docs/CertificateStoreTypeApi.md#certificatestoretypedeletecertificatestoretype) | **Delete** /CertificateStoreTypes/{id} | Deletes a certificate store type according to the provided identifier
*CertificateStoreTypeApi* | [**CertificateStoreTypeDeleteCertificateStoreTypes**](docs/CertificateStoreTypeApi.md#certificatestoretypedeletecertificatestoretypes) | **Delete** /CertificateStoreTypes | Deletes certificate store types according to the provided identifiers
*CertificateStoreTypeApi* | [**CertificateStoreTypeGetCertificateStoreType0**](docs/CertificateStoreTypeApi.md#certificatestoretypegetcertificatestoretype0) | **Get** /CertificateStoreTypes/{id} | Returns a single certificate store type that matches id
*CertificateStoreTypeApi* | [**CertificateStoreTypeGetCertificateStoreType1**](docs/CertificateStoreTypeApi.md#certificatestoretypegetcertificatestoretype1) | **Get** /CertificateStoreTypes/Name/{name} | Returns a single certificate store type that matches the provided short name
*CertificateStoreTypeApi* | [**CertificateStoreTypeGetTypes**](docs/CertificateStoreTypeApi.md#certificatestoretypegettypes) | **Get** /CertificateStoreTypes | Returns all certificate store types according to the provided filter and output parameters
*CertificateStoreTypeApi* | [**CertificateStoreTypeUpdateCertificateStoreType**](docs/CertificateStoreTypeApi.md#certificatestoretypeupdatecertificatestoretype) | **Put** /CertificateStoreTypes | Updates an existing certificate store type with the provided properties
*CustomJobTypeApi* | [**CustomJobTypeCreateJobType**](docs/CustomJobTypeApi.md#customjobtypecreatejobtype) | **Post** /JobTypes/Custom | Creates a custom job type with the provided properties
*CustomJobTypeApi* | [**CustomJobTypeDeleteJobType**](docs/CustomJobTypeApi.md#customjobtypedeletejobtype) | **Delete** /JobTypes/Custom/{id} | Deletes the custom job type associated with the provided id
*CustomJobTypeApi* | [**CustomJobTypeGetJobTypeById**](docs/CustomJobTypeApi.md#customjobtypegetjobtypebyid) | **Get** /JobTypes/Custom/{id} | Returns a single custom job type associated with the provided id
*CustomJobTypeApi* | [**CustomJobTypeGetJobTypes**](docs/CustomJobTypeApi.md#customjobtypegetjobtypes) | **Get** /JobTypes/Custom | Returns all custom job types according to the provided filter and output parameters
*CustomJobTypeApi* | [**CustomJobTypeUpdateJobType**](docs/CustomJobTypeApi.md#customjobtypeupdatejobtype) | **Put** /JobTypes/Custom | Updates an existing custom job type with the provided properties
*DeniedAlertApi* | [**DeniedAlertAddDeniedAlert**](docs/DeniedAlertApi.md#deniedalertadddeniedalert) | **Post** /Alerts/Denied | Add a denied alert
*DeniedAlertApi* | [**DeniedAlertDeleteDeniedAlert**](docs/DeniedAlertApi.md#deniedalertdeletedeniedalert) | **Delete** /Alerts/Denied/{id} | Delete a denied alert
*DeniedAlertApi* | [**DeniedAlertEditDeniedAlert**](docs/DeniedAlertApi.md#deniedalerteditdeniedalert) | **Put** /Alerts/Denied | Edit a denied alert
*DeniedAlertApi* | [**DeniedAlertGetDeniedAlert**](docs/DeniedAlertApi.md#deniedalertgetdeniedalert) | **Get** /Alerts/Denied/{id} | Get a denied alert
*DeniedAlertApi* | [**DeniedAlertGetDeniedAlerts**](docs/DeniedAlertApi.md#deniedalertgetdeniedalerts) | **Get** /Alerts/Denied | Gets all denied alerts according to the provided filter and output parameters
*EnrollmentApi* | [**EnrollmentAddToExistingCertStores**](docs/EnrollmentApi.md#enrollmentaddtoexistingcertstores) | **Post** /Enrollment/PFX/Replace | Creates management jobs to install a newly enrolled pfx into the same certificate stores as the previous certificate
*EnrollmentApi* | [**EnrollmentAvailableRenewalId**](docs/EnrollmentApi.md#enrollmentavailablerenewalid) | **Get** /Enrollment/AvailableRenewal/Id/{id} | Returns the type of renewal available for a given certificate.
*EnrollmentApi* | [**EnrollmentAvailableRenewalThumbprint**](docs/EnrollmentApi.md#enrollmentavailablerenewalthumbprint) | **Get** /Enrollment/AvailableRenewal/Thumbprint/{thumbprint} | Returns the type of renewal available for a given certificate.
*EnrollmentApi* | [**EnrollmentGetMyCSRContext**](docs/EnrollmentApi.md#enrollmentgetmycsrcontext) | **Get** /Enrollment/CSR/Context/My | Returns the list of available CSR enrollment templates and their associated CA mappings that the calling user has permissions on
*EnrollmentApi* | [**EnrollmentGetMyPFXContext**](docs/EnrollmentApi.md#enrollmentgetmypfxcontext) | **Get** /Enrollment/PFX/Context/My | Returns the list of available PFX enrollment templates and their associated CA mappings that the calling user has permissions on
*EnrollmentApi* | [**EnrollmentGetTemplateEnrollmentSettings**](docs/EnrollmentApi.md#enrollmentgettemplateenrollmentsettings) | **Get** /Enrollment/Settings/{id} | Gets the template settings to use during enrollment. The response will be the resolved values for the settings. If there is a template specific setting, the template specific setting will be used in the response. If there is not a template specific setting, the global setting will be used in the response.
*EnrollmentApi* | [**EnrollmentInstallPFXToCertStore**](docs/EnrollmentApi.md#enrollmentinstallpfxtocertstore) | **Post** /Enrollment/PFX/Deploy | Creates management jobs to install a newly enrolled pfx in to one or more certificate stores
*EnrollmentApi* | [**EnrollmentPostCSREnroll**](docs/EnrollmentApi.md#enrollmentpostcsrenroll) | **Post** /Enrollment/CSR | Performs a CSR Enrollment based upon the provided request
*EnrollmentApi* | [**EnrollmentPostPFXEnroll**](docs/EnrollmentApi.md#enrollmentpostpfxenroll) | **Post** /Enrollment/PFX | Performs a PFX Enrollment based upon the provided request
*EnrollmentApi* | [**EnrollmentPostParsedCSR**](docs/EnrollmentApi.md#enrollmentpostparsedcsr) | **Post** /Enrollment/CSR/Parse | Parses the provided CSR and returns the properties
*EnrollmentApi* | [**EnrollmentRenew**](docs/EnrollmentApi.md#enrollmentrenew) | **Post** /Enrollment/Renew | Performs a renewal based upon the passed in request
*ExpirationAlertApi* | [**ExpirationAlertAddExpirationAlert**](docs/ExpirationAlertApi.md#expirationalertaddexpirationalert) | **Post** /Alerts/Expiration | Add an expiration alert
*ExpirationAlertApi* | [**ExpirationAlertDeleteExpirationAlert**](docs/ExpirationAlertApi.md#expirationalertdeleteexpirationalert) | **Delete** /Alerts/Expiration/{id} | Delete an expiration alert
*ExpirationAlertApi* | [**ExpirationAlertEditExpirationAlert**](docs/ExpirationAlertApi.md#expirationalerteditexpirationalert) | **Put** /Alerts/Expiration | Edit an expiration alert
*ExpirationAlertApi* | [**ExpirationAlertEditSchedule**](docs/ExpirationAlertApi.md#expirationalerteditschedule) | **Put** /Alerts/Expiration/Schedule | Edit schedule
*ExpirationAlertApi* | [**ExpirationAlertGetExpirationAlert**](docs/ExpirationAlertApi.md#expirationalertgetexpirationalert) | **Get** /Alerts/Expiration/{id} | Get an expiration alert
*ExpirationAlertApi* | [**ExpirationAlertGetExpirationAlerts**](docs/ExpirationAlertApi.md#expirationalertgetexpirationalerts) | **Get** /Alerts/Expiration | Gets all expiration alerts according to the provided filter and output parameters
*ExpirationAlertApi* | [**ExpirationAlertGetSchedule**](docs/ExpirationAlertApi.md#expirationalertgetschedule) | **Get** /Alerts/Expiration/Schedule | Get the schedule for expiration alerts
*ExpirationAlertApi* | [**ExpirationAlertTestAllExpirationAlert**](docs/ExpirationAlertApi.md#expirationalerttestallexpirationalert) | **Post** /Alerts/Expiration/TestAll | Test All Expiration Alerts
*ExpirationAlertApi* | [**ExpirationAlertTestExpirationAlert**](docs/ExpirationAlertApi.md#expirationalerttestexpirationalert) | **Post** /Alerts/Expiration/Test | Test an Expiration Alert
*IssuedAlertApi* | [**IssuedAlertAddIssuedAlert**](docs/IssuedAlertApi.md#issuedalertaddissuedalert) | **Post** /Alerts/Issued | Add a issued alert
*IssuedAlertApi* | [**IssuedAlertDeleteIssuedAlert**](docs/IssuedAlertApi.md#issuedalertdeleteissuedalert) | **Delete** /Alerts/Issued/{id} | Delete a issued alert
*IssuedAlertApi* | [**IssuedAlertEditIssuedAlert**](docs/IssuedAlertApi.md#issuedalerteditissuedalert) | **Put** /Alerts/Issued | Edit a issued alert
*IssuedAlertApi* | [**IssuedAlertEditSchedule**](docs/IssuedAlertApi.md#issuedalerteditschedule) | **Put** /Alerts/Issued/Schedule | Edit schedule
*IssuedAlertApi* | [**IssuedAlertGetIssuedAlert**](docs/IssuedAlertApi.md#issuedalertgetissuedalert) | **Get** /Alerts/Issued/{id} | Get a issued alert
*IssuedAlertApi* | [**IssuedAlertGetIssuedAlerts**](docs/IssuedAlertApi.md#issuedalertgetissuedalerts) | **Get** /Alerts/Issued | Gets all issued alerts according to the provided filter and output parameters
*IssuedAlertApi* | [**IssuedAlertGetSchedule**](docs/IssuedAlertApi.md#issuedalertgetschedule) | **Get** /Alerts/Issued/Schedule | Get the schedule for issued alerts
*KeyApi* | [**KeyDeleteUnmanagedKey**](docs/KeyApi.md#keydeleteunmanagedkey) | **Delete** /SSH/Keys/Unmanaged/{id} | Deletes Unmanaged Key associated with the provided identifier
*KeyApi* | [**KeyDeleteUnmanagedKeys**](docs/KeyApi.md#keydeleteunmanagedkeys) | **Delete** /SSH/Keys/Unmanaged | Deletes Unmanaged Keys associated with the provided identifiers
*KeyApi* | [**KeyGenerateKey**](docs/KeyApi.md#keygeneratekey) | **Post** /SSH/Keys/MyKey | Generates an SSH Key Pair for the requesting user.
*KeyApi* | [**KeyGetMyKey**](docs/KeyApi.md#keygetmykey) | **Get** /SSH/Keys/MyKey | Returns the current key of the requesting user
*KeyApi* | [**KeyGetUnmanagedKey**](docs/KeyApi.md#keygetunmanagedkey) | **Get** /SSH/Keys/Unmanaged/{id} | Returns an unmanaged SSH key with provided id.
*KeyApi* | [**KeyGetUnmanagedKeys**](docs/KeyApi.md#keygetunmanagedkeys) | **Get** /SSH/Keys/Unmanaged | Returns Unmanaged SSH keys
*KeyApi* | [**KeyUpdate**](docs/KeyApi.md#keyupdate) | **Put** /SSH/Keys/MyKey | Updates the requesting user's SSH key
*KeyRotationAlertApi* | [**KeyRotationAlertAddKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalertaddkeyrotationalert) | **Post** /Alerts/KeyRotation | Add a key rotation alert
*KeyRotationAlertApi* | [**KeyRotationAlertDeleteKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalertdeletekeyrotationalert) | **Delete** /Alerts/KeyRotation/{id} | Delete a key rotation alert
*KeyRotationAlertApi* | [**KeyRotationAlertEditKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalerteditkeyrotationalert) | **Put** /Alerts/KeyRotation | Edit a key rotation alert
*KeyRotationAlertApi* | [**KeyRotationAlertEditSchedule**](docs/KeyRotationAlertApi.md#keyrotationalerteditschedule) | **Put** /Alerts/KeyRotation/Schedule | Edit schedule
*KeyRotationAlertApi* | [**KeyRotationAlertGetKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalertgetkeyrotationalert) | **Get** /Alerts/KeyRotation/{id} | Get a key rotation alert
*KeyRotationAlertApi* | [**KeyRotationAlertGetKeyRotationAlerts**](docs/KeyRotationAlertApi.md#keyrotationalertgetkeyrotationalerts) | **Get** /Alerts/KeyRotation | Gets all key rotation alerts according to the provided filter and output parameters
*KeyRotationAlertApi* | [**KeyRotationAlertGetSchedule**](docs/KeyRotationAlertApi.md#keyrotationalertgetschedule) | **Get** /Alerts/KeyRotation/Schedule | Get the schedule for key rotation alerts
*KeyRotationAlertApi* | [**KeyRotationAlertTestAllKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalerttestallkeyrotationalert) | **Post** /Alerts/KeyRotation/TestAll | Test All Alerts
*KeyRotationAlertApi* | [**KeyRotationAlertTestKeyRotationAlert**](docs/KeyRotationAlertApi.md#keyrotationalerttestkeyrotationalert) | **Post** /Alerts/KeyRotation/Test | Test An Alert
*LicenseApi* | [**LicenseGetCurrentLicense**](docs/LicenseApi.md#licensegetcurrentlicense) | **Get** /License | Gets the current license
*LogonApi* | [**LogonCreateLogon**](docs/LogonApi.md#logoncreatelogon) | **Post** /SSH/Logons | Creates a logon with the provided properties
*LogonApi* | [**LogonDelete**](docs/LogonApi.md#logondelete) | **Delete** /SSH/Logons/{id} | Deletes a Logon associated with the provided identifier
*LogonApi* | [**LogonGetLogon**](docs/LogonApi.md#logongetlogon) | **Get** /SSH/Logons/{id} | Fetches a Logon associated with the provided identifier
*LogonApi* | [**LogonLogonAccess**](docs/LogonApi.md#logonlogonaccess) | **Post** /SSH/Logons/Access | Updates the users with access to an existing logon
*LogonApi* | [**LogonQueryLogons**](docs/LogonApi.md#logonquerylogons) | **Get** /SSH/Logons | Returns all Logons according to the provided filter parameters
*MacEnrollmentApi* | [**MacEnrollmentEditMacEnrollment**](docs/MacEnrollmentApi.md#macenrollmenteditmacenrollment) | **Put** /MacEnrollment | Updates mac enrollment settings data
*MacEnrollmentApi* | [**MacEnrollmentMacEnrollment**](docs/MacEnrollmentApi.md#macenrollmentmacenrollment) | **Get** /MacEnrollment | Gets mac enrollment settings data
*MetadataFieldApi* | [**MetadataFieldCreateMetadataField**](docs/MetadataFieldApi.md#metadatafieldcreatemetadatafield) | **Post** /MetadataFields | Creates a new metadata field type with the given metadata field type properties
*MetadataFieldApi* | [**MetadataFieldDeleteMetadataField**](docs/MetadataFieldApi.md#metadatafielddeletemetadatafield) | **Delete** /MetadataFields/{id} | Deletes a persisted metadata field type by its unique id
*MetadataFieldApi* | [**MetadataFieldDeleteMetadataFields**](docs/MetadataFieldApi.md#metadatafielddeletemetadatafields) | **Delete** /MetadataFields | Deletes multiple persisted metadata field types by their unique ids
*MetadataFieldApi* | [**MetadataFieldGetAllMetadataFields**](docs/MetadataFieldApi.md#metadatafieldgetallmetadatafields) | **Get** /MetadataFields | Returns all metadata field types according to the provided filter and output parameters
*MetadataFieldApi* | [**MetadataFieldGetMetadataField0**](docs/MetadataFieldApi.md#metadatafieldgetmetadatafield0) | **Get** /MetadataFields/{id} | Gets a persisted metadata field type by its unique id
*MetadataFieldApi* | [**MetadataFieldGetMetadataField1**](docs/MetadataFieldApi.md#metadatafieldgetmetadatafield1) | **Get** /MetadataFields/{name} | Gets a persisted metadata field type by its unique name
*MetadataFieldApi* | [**MetadataFieldGetMetadataFieldInUse**](docs/MetadataFieldApi.md#metadatafieldgetmetadatafieldinuse) | **Get** /MetadataFields/{id}/InUse | Determines if a metadata field type associated with the provided identifier is currently in use
*MetadataFieldApi* | [**MetadataFieldUpdateMetadataField**](docs/MetadataFieldApi.md#metadatafieldupdatemetadatafield) | **Put** /MetadataFields | Updates a persisted metadata field with the given metadata field type
*MonitoringApi* | [**MonitoringAddRevocationMonitoring**](docs/MonitoringApi.md#monitoringaddrevocationmonitoring) | **Post** /Monitoring/Revocation | Add a revocation monitoring endpoint
*MonitoringApi* | [**MonitoringDeleteRevocationMonitoring**](docs/MonitoringApi.md#monitoringdeleterevocationmonitoring) | **Delete** /Monitoring/Revocation/{id} | Delete a revocation monitoring endpoint
*MonitoringApi* | [**MonitoringEditRevocationMonitoring**](docs/MonitoringApi.md#monitoringeditrevocationmonitoring) | **Put** /Monitoring/Revocation | Edit a revocation monitoring endpoint
*MonitoringApi* | [**MonitoringGetRevocationMonitoring**](docs/MonitoringApi.md#monitoringgetrevocationmonitoring) | **Get** /Monitoring/Revocation/{id} | Get a revocation monitoring endpoint
*MonitoringApi* | [**MonitoringGetRevocationMonitoringEndpoints**](docs/MonitoringApi.md#monitoringgetrevocationmonitoringendpoints) | **Get** /Monitoring/Revocation | Gets all revocation m