Skip to content

Keyfactor/keyfactor-go-client-sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

** tab. If you want to contribute actual bug fixes or proposed enhancements, use the **Pull requests ** tab.


Overview

This API client was generated by the OpenAPI Generator project. By using the OpenAPI-spec 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:

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

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

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
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
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
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
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

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 Post /Agents/Approve Approve a list of agents
AgentApi AgentDisapprove Post /Agents/Disapprove Disapprove a list of agents
AgentApi AgentFetchLogs Post /Agents/{id}/FetchLogs Schedules a job on the agent to retrieve log files
AgentApi AgentGetAgentDetail Get /Agents/{id} Returns details for a single agent, specified by ID
AgentApi AgentGetAgents Get /Agents Returns all agents according to the provided filter and output parameters
AgentApi AgentReset0 Post /Agents/Reset Reset a list of agents
AgentApi AgentReset1 Post /Agents/{id}/Reset Reset an agent to a new state
AgentApi 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 Post /AgentBluePrint/ApplyBlueprint Applies the selected agent blueprint to the provided agents
AgentBlueprintApi AgentBlueprintDeleteBlueprint Delete /AgentBluePrint/{id} Deletes an agent blueprint by its Keyfactor identifier
AgentBlueprintApi AgentBlueprintGenerateBlueprint Post /AgentBluePrint/GenerateBluePrint Generates an agent blueprint from the provided agents
AgentBlueprintApi AgentBlueprintGetAgentBlueprint Get /AgentBluePrint/{id} Returns an agent blueprint according to the provided filter and output parameters
AgentBlueprintApi AgentBlueprintGetAgentBlueprints Get /AgentBluePrint Returns all agent blueprints according to the provided filter and output parameters
AgentBlueprintApi AgentBlueprintGetBlueprintJobs Get /AgentBluePrint/{id}/Jobs Gets the agent blueprint scheduled jobs
AgentBlueprintApi AgentBlueprintGetBlueprintStores Get /AgentBluePrint/{id}/Stores Gets the agent blueprint certificate stores
AgentPoolApi AgentPoolCreateAgentPool Post /AgentPools Creates an agent pool with the provided properties
AgentPoolApi AgentPoolDeleteAgentPool Delete /AgentPools/{id} Deletes the agent pool associated with the provided id
AgentPoolApi AgentPoolGetAgentPoolById Get /AgentPools/{id} Returns a single agent pool associated with the provided id
AgentPoolApi AgentPoolGetAgentPools Get /AgentPools Returns all agent pools according to the provided filter and output parameters
AgentPoolApi AgentPoolGetDefaultAgentPoolAgents Get /AgentPools/Agents Returns all agents for the default agent pool
AgentPoolApi AgentPoolUpdateAgentPool Put /AgentPools Updates an existing agent pool with the provided properties
AuditLogApi AuditLogDownloadCSV Get /Audit/Download Returns a Comma Separated file containing the audit log entries according to the provided filter
AuditLogApi AuditLogGetAuditLog Get /Audit/{id} Returns the audit log entry associated with the provided identifier
AuditLogApi AuditLogGetAuditLogs Get /Audit Returns all audit log entries according to the provided filter and output parameters
AuditLogApi AuditLogGetRelatedEntities Get /Audit/RelatedEntities Returns the audit log entry associated with the provided keyfactor id
AuditLogApi AuditLogValidateAuditLog Get /Audit/{id}/Validate Validates the audit log entry associated with the provided keyfactor id
CSRGenerationApi CSRGenerationDeleteCSR Delete /CSRGeneration/Pending/{id} Deletes a CSR associated with the provided identifier
CSRGenerationApi CSRGenerationDeleteCSRs Delete /CSRGeneration/Pending Deletes the CSRs associated with the provided identifiers
CSRGenerationApi CSRGenerationDownload Get /CSRGeneration/Pending/{id} Returns a previously generated CSR associated with the provided identifier
CSRGenerationApi CSRGenerationGetPendingCSRs Get /CSRGeneration/Pending Returns a list of the currently pending CSRs according to the provided query
CSRGenerationApi CSRGenerationPostGenerate Post /CSRGeneration/Generate Generates a CSR according the properties provided
CertificateApi CertificateAnalyzeCert Post /Certificates/Analyze Returns the public information of the certificate
CertificateApi CertificateCertificateHistory Get /Certificates/{id}/History Gets the history of operations on a certificate
CertificateApi CertificateCompareMetadata Get /Certificates/Metadata/Compare Compares the metadata value provided with the metadata value associated with the specified certificate
CertificateApi CertificateDeleteByQuery Delete /Certificates/Query Deletes multiple persisted certificate entities selected by a given query
CertificateApi 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 Delete /Certificates Deletes multiple persisted certificates by their unique ids
CertificateApi CertificateDeletePrivateKeys0 Delete /Certificates/PrivateKey Deletes the persisted private keys of multiple certificates by the unique ids of the Certificates
CertificateApi CertificateDeletePrivateKeys1 Delete /Certificates/PrivateKey/{id} Deletes the persisted private key of the certificate associated with the provided identifier
CertificateApi CertificateDownloadCertificateAsync Post /Certificates/Download Downloads the persisted certificate associated with the provided query
CertificateApi CertificateGetCertificate Get /Certificates/{id} Returns a single certificate that matches the id
CertificateApi CertificateGetCertificateLocations Get /Certificates/Locations/{id} Returns a list of locations the certificate is in
CertificateApi CertificateGetCertificateSecurity Get /Certificates/{id}/Security Gets the list of Security Identities and which permissions they have on the given certificate.
CertificateApi CertificateIdentityAudit Get /Certificates/IdentityAudit/{id} Audit identity permissions for certificate
CertificateApi CertificatePostImportCertificate Post /Certificates/Import Imports the provided certificate into the Keyfactor instance, including any provided associated data
CertificateApi CertificateQueryCertificates Get /Certificates Returns all certificates according to the provided filter and output parameters
CertificateApi CertificateRecoverCertificateAsync Post /Certificates/Recover Recovers the persisted certificate associated with the provided query
CertificateApi CertificateRevoke Post /Certificates/Revoke Revokes the certificates associated with the provided identifiers and associates the provided data with the revocation
CertificateApi 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 Put /Certificates/Metadata/All Updates the metadata for certificates associated with the certificate identifiers or query provided
CertificateApi CertificateUpdateMetadata Put /Certificates/Metadata Updates the metadata for the certificate associated with the identifier provided
CertificateApi CertificateValidateCertificate Get /Certificates/{id}/Validate Validates the certificate chain can be built.
CertificateAuthorityApi CertificateAuthorityCreateCA Post /CertificateAuthority Creates a new CertificateAuthority object
CertificateAuthorityApi CertificateAuthorityDeleteCA Delete /CertificateAuthority/{id} Deletes a CertificateAuthority from the system, specified by ID
CertificateAuthorityApi CertificateAuthorityGetCa Get /CertificateAuthority/{id} Returns details for a single CA, specified by ID
CertificateAuthorityApi CertificateAuthorityGetCas Get /CertificateAuthority Returns all certificate authorities
CertificateAuthorityApi CertificateAuthorityPublishCRL Post /CertificateAuthority/PublishCRL Publishes a CRL according to the provided request
CertificateAuthorityApi CertificateAuthorityTestCertificateAuthority Post /CertificateAuthority/Test Validates the connection info for the CA provided by the model.
CertificateAuthorityApi CertificateAuthorityUpdateCA Put /CertificateAuthority Updates a CertificateAuthority object
CertificateCollectionApi 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 Post /CertificateCollections Creates a new certificate collection with the provided properties
CertificateCollectionApi CertificateCollectionGetCollection0 Get /CertificateCollections/{id} Returns the certificate collection definition associated with the provided Keyfactor identifier
CertificateCollectionApi CertificateCollectionGetCollection1 Get /CertificateCollections/{name} Returns the certificate collection associated with the provided collection name
CertificateCollectionApi CertificateCollectionGetCollections Get /CertificateCollections Returns all certificate collections
CertificateCollectionApi CertificateCollectionSetCollectionPermissions Post /CertificateCollections/{id}/Permissions Set the permissions for a collection
CertificateCollectionApi CertificateCollectionUpdateCollection Put /CertificateCollections Updates an existing certificate collection with the provided properties
CertificateStoreApi CertificateStoreAddCertificate Post /CertificateStores/Certificates/Add Configures a management job to add a certificate to one or more stores with the provided schedule
CertificateStoreApi CertificateStoreApprovePending Post /CertificateStores/Approve Approves the provided certificate stores to make them available for management
CertificateStoreApi CertificateStoreConfigureDiscoveryJob Put /CertificateStores/DiscoveryJob Configures a discovery job to locate currently unmanaged certificate stores
CertificateStoreApi CertificateStoreCreateCertificateStoreServer Post /CertificateStores/Server Creates a new certificate store server with the provided properties
CertificateStoreApi CertificateStoreDeleteCertificateStore Delete /CertificateStores/{id} Deletes a persisted certificate store by its Keyfactor identifier
CertificateStoreApi CertificateStoreDeleteCertificateStores Delete /CertificateStores Deletes multiple persisted certificate store entities by their identifiers
CertificateStoreApi CertificateStoreGetCertificateStoreInventory Get /CertificateStores/{id}/Inventory Returns a single certificate store's inventory associated with the provided id
CertificateStoreApi CertificateStoreRemoveCertificate Post /CertificateStores/Certificates/Remove Configures a management job to remove a certificate from one or more stores with the provided schedule
CertificateStoreApi CertificateStoreSchedule Post /CertificateStores/Schedule Creates an inventory schedule for the provided certificate stores
CertificateStoreApi CertificateStoreScheduleForReenrollment Post /CertificateStores/Reenrollment Schedules a certificate store for reenrollment
CertificateStoreApi CertificateStoreSetPassword Put /CertificateStores/Password Sets a password for the requested certificate store
CertificateStoreApi CertificateStoreUpdateCertificateStoreServer Put /CertificateStores/Server Updates a given certificate store server with the properties of the provided instance
CertificateStoreContainerApi CertificateStoreContainerDeleteCertificateStoreContainers Delete /CertificateStoreContainers/{id} Delete a certificate store container
CertificateStoreContainerApi CertificateStoreContainerGetAllCertificateStoreContainers Get /CertificateStoreContainers Returns all certificate store container according to the provided filter and output parameters
CertificateStoreTypeApi CertificateStoreTypeCreateCertificateStoreType Post /CertificateStoreTypes Creates a new certificate store type with the provided properties
CertificateStoreTypeApi CertificateStoreTypeDeleteCertificateStoreType Delete /CertificateStoreTypes/{id} Deletes a certificate store type according to the provided identifier
CertificateStoreTypeApi CertificateStoreTypeDeleteCertificateStoreTypes Delete /CertificateStoreTypes Deletes certificate store types according to the provided identifiers
CertificateStoreTypeApi CertificateStoreTypeGetCertificateStoreType0 Get /CertificateStoreTypes/{id} Returns a single certificate store type that matches id
CertificateStoreTypeApi CertificateStoreTypeGetCertificateStoreType1 Get /CertificateStoreTypes/Name/{name} Returns a single certificate store type that matches the provided short name
CertificateStoreTypeApi CertificateStoreTypeGetTypes Get /CertificateStoreTypes Returns all certificate store types according to the provided filter and output parameters
CertificateStoreTypeApi CertificateStoreTypeUpdateCertificateStoreType Put /CertificateStoreTypes Updates an existing certificate store type with the provided properties
CustomJobTypeApi CustomJobTypeCreateJobType Post /JobTypes/Custom Creates a custom job type with the provided properties
CustomJobTypeApi CustomJobTypeDeleteJobType Delete /JobTypes/Custom/{id} Deletes the custom job type associated with the provided id
CustomJobTypeApi CustomJobTypeGetJobTypeById Get /JobTypes/Custom/{id} Returns a single custom job type associated with the provided id
CustomJobTypeApi CustomJobTypeGetJobTypes Get /JobTypes/Custom Returns all custom job types according to the provided filter and output parameters
CustomJobTypeApi CustomJobTypeUpdateJobType Put /JobTypes/Custom Updates an existing custom job type with the provided properties
DeniedAlertApi DeniedAlertAddDeniedAlert Post /Alerts/Denied Add a denied alert
DeniedAlertApi DeniedAlertDeleteDeniedAlert Delete /Alerts/Denied/{id} Delete a denied alert
DeniedAlertApi DeniedAlertEditDeniedAlert Put /Alerts/Denied Edit a denied alert
DeniedAlertApi DeniedAlertGetDeniedAlert Get /Alerts/Denied/{id} Get a denied alert
DeniedAlertApi DeniedAlertGetDeniedAlerts Get /Alerts/Denied Gets all denied alerts according to the provided filter and output parameters
EnrollmentApi 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 Get /Enrollment/AvailableRenewal/Id/{id} Returns the type of renewal available for a given certificate.
EnrollmentApi EnrollmentAvailableRenewalThumbprint Get /Enrollment/AvailableRenewal/Thumbprint/{thumbprint} Returns the type of renewal available for a given certificate.
EnrollmentApi 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 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 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 Post /Enrollment/PFX/Deploy Creates management jobs to install a newly enrolled pfx in to one or more certificate stores
EnrollmentApi EnrollmentPostCSREnroll Post /Enrollment/CSR Performs a CSR Enrollment based upon the provided request
EnrollmentApi EnrollmentPostPFXEnroll Post /Enrollment/PFX Performs a PFX Enrollment based upon the provided request
EnrollmentApi EnrollmentPostParsedCSR Post /Enrollment/CSR/Parse Parses the provided CSR and returns the properties
EnrollmentApi EnrollmentRenew Post /Enrollment/Renew Performs a renewal based upon the passed in request
ExpirationAlertApi ExpirationAlertAddExpirationAlert Post /Alerts/Expiration Add an expiration alert
ExpirationAlertApi ExpirationAlertDeleteExpirationAlert Delete /Alerts/Expiration/{id} Delete an expiration alert
ExpirationAlertApi ExpirationAlertEditExpirationAlert Put /Alerts/Expiration Edit an expiration alert
ExpirationAlertApi ExpirationAlertEditSchedule Put /Alerts/Expiration/Schedule Edit schedule
ExpirationAlertApi ExpirationAlertGetExpirationAlert Get /Alerts/Expiration/{id} Get an expiration alert
ExpirationAlertApi ExpirationAlertGetExpirationAlerts Get /Alerts/Expiration Gets all expiration alerts according to the provided filter and output parameters
ExpirationAlertApi ExpirationAlertGetSchedule Get /Alerts/Expiration/Schedule Get the schedule for expiration alerts
ExpirationAlertApi ExpirationAlertTestAllExpirationAlert Post /Alerts/Expiration/TestAll Test All Expiration Alerts
ExpirationAlertApi ExpirationAlertTestExpirationAlert Post /Alerts/Expiration/Test Test an Expiration Alert
IssuedAlertApi IssuedAlertAddIssuedAlert Post /Alerts/Issued Add a issued alert
IssuedAlertApi IssuedAlertDeleteIssuedAlert Delete /Alerts/Issued/{id} Delete a issued alert
IssuedAlertApi IssuedAlertEditIssuedAlert Put /Alerts/Issued Edit a issued alert
IssuedAlertApi IssuedAlertEditSchedule Put /Alerts/Issued/Schedule Edit schedule
IssuedAlertApi IssuedAlertGetIssuedAlert Get /Alerts/Issued/{id} Get a issued alert
IssuedAlertApi IssuedAlertGetIssuedAlerts Get /Alerts/Issued Gets all issued alerts according to the provided filter and output parameters
IssuedAlertApi IssuedAlertGetSchedule Get /Alerts/Issued/Schedule Get the schedule for issued alerts
KeyApi KeyDeleteUnmanagedKey Delete /SSH/Keys/Unmanaged/{id} Deletes Unmanaged Key associated with the provided identifier
KeyApi KeyDeleteUnmanagedKeys Delete /SSH/Keys/Unmanaged Deletes Unmanaged Keys associated with the provided identifiers
KeyApi KeyGenerateKey Post /SSH/Keys/MyKey Generates an SSH Key Pair for the requesting user.
KeyApi KeyGetMyKey Get /SSH/Keys/MyKey Returns the current key of the requesting user
KeyApi KeyGetUnmanagedKey Get /SSH/Keys/Unmanaged/{id} Returns an unmanaged SSH key with provided id.
KeyApi KeyGetUnmanagedKeys Get /SSH/Keys/Unmanaged Returns Unmanaged SSH keys
KeyApi KeyUpdate Put /SSH/Keys/MyKey Updates the requesting user's SSH key
KeyRotationAlertApi KeyRotationAlertAddKeyRotationAlert Post /Alerts/KeyRotation Add a key rotation alert
KeyRotationAlertApi KeyRotationAlertDeleteKeyRotationAlert Delete /Alerts/KeyRotation/{id} Delete a key rotation alert
KeyRotationAlertApi KeyRotationAlertEditKeyRotationAlert Put /Alerts/KeyRotation Edit a key rotation alert
KeyRotationAlertApi KeyRotationAlertEditSchedule Put /Alerts/KeyRotation/Schedule Edit schedule
KeyRotationAlertApi KeyRotationAlertGetKeyRotationAlert Get /Alerts/KeyRotation/{id} Get a key rotation alert
KeyRotationAlertApi KeyRotationAlertGetKeyRotationAlerts Get /Alerts/KeyRotation Gets all key rotation alerts according to the provided filter and output parameters
KeyRotationAlertApi KeyRotationAlertGetSchedule Get /Alerts/KeyRotation/Schedule Get the schedule for key rotation alerts
KeyRotationAlertApi KeyRotationAlertTestAllKeyRotationAlert Post /Alerts/KeyRotation/TestAll Test All Alerts
KeyRotationAlertApi KeyRotationAlertTestKeyRotationAlert Post /Alerts/KeyRotation/Test Test An Alert
LicenseApi LicenseGetCurrentLicense Get /License Gets the current license
LogonApi LogonCreateLogon Post /SSH/Logons Creates a logon with the provided properties
LogonApi LogonDelete Delete /SSH/Logons/{id} Deletes a Logon associated with the provided identifier
LogonApi LogonGetLogon Get /SSH/Logons/{id} Fetches a Logon associated with the provided identifier
LogonApi LogonLogonAccess Post /SSH/Logons/Access Updates the users with access to an existing logon
LogonApi LogonQueryLogons Get /SSH/Logons Returns all Logons according to the provided filter parameters
MacEnrollmentApi MacEnrollmentEditMacEnrollment Put /MacEnrollment Updates mac enrollment settings data
MacEnrollmentApi MacEnrollmentMacEnrollment Get /MacEnrollment Gets mac enrollment settings data
MetadataFieldApi MetadataFieldCreateMetadataField Post /MetadataFields Creates a new metadata field type with the given metadata field type properties
MetadataFieldApi MetadataFieldDeleteMetadataField Delete /MetadataFields/{id} Deletes a persisted metadata field type by its unique id
MetadataFieldApi MetadataFieldDeleteMetadataFields Delete /MetadataFields Deletes multiple persisted metadata field types by their unique ids
MetadataFieldApi MetadataFieldGetAllMetadataFields Get /MetadataFields Returns all metadata field types according to the provided filter and output parameters
MetadataFieldApi MetadataFieldGetMetadataField0 Get /MetadataFields/{id} Gets a persisted metadata field type by its unique id
MetadataFieldApi MetadataFieldGetMetadataField1 Get /MetadataFields/{name} Gets a persisted metadata field type by its unique name
MetadataFieldApi MetadataFieldGetMetadataFieldInUse Get /MetadataFields/{id}/InUse Determines if a metadata field type associated with the provided identifier is currently in use
MetadataFieldApi MetadataFieldUpdateMetadataField Put /MetadataFields Updates a persisted metadata field with the given metadata field type
MonitoringApi MonitoringAddRevocationMonitoring Post /Monitoring/Revocation Add a revocation monitoring endpoint
MonitoringApi MonitoringDeleteRevocationMonitoring Delete /Monitoring/Revocation/{id} Delete a revocation monitoring endpoint
MonitoringApi MonitoringEditRevocationMonitoring Put /Monitoring/Revocation Edit a revocation monitoring endpoint
MonitoringApi MonitoringGetRevocationMonitoring Get /Monitoring/Revocation/{id} Get a revocation monitoring endpoint
MonitoringApi MonitoringGetRevocationMonitoringEndpoints Get /Monitoring/Revocation Gets all revocation monitoring endpoints according to the provided filter and output parameters
MonitoringApi MonitoringResolveOCSP Post /Monitoring/ResolveOCSP Resolve the Certificate authority given
MonitoringApi MonitoringTestAllRevocationMonitoringAlert Post /Monitoring/Revocation/TestAll Test All Alerts
MonitoringApi MonitoringTestRevocationMonitoringAlert Post /Monitoring/Revocation/Test Test Alert
OrchestratorJobApi OrchestratorJobAcknowledgeJobs Post /OrchestratorJobs/Acknowledge Acknowledges orchestrator jobs based on the provided information
OrchestratorJobApi OrchestratorJobGetCustomJobResultData Get /OrchestratorJobs/JobStatus/Data Retrieves the results of a custom job using the provided information
OrchestratorJobApi OrchestratorJobGetJobHistory Get /OrchestratorJobs/JobHistory Returns all histories of an orchestrator job according to the provided filter and output parameters
OrchestratorJobApi OrchestratorJobGetScheduledJobs Get /OrchestratorJobs/ScheduledJobs Returns all scheduled orchestrator jobs according to the provided filter and output parameters
OrchestratorJobApi OrchestratorJobRescheduleJobs Post /OrchestratorJobs/Reschedule Reschedules orchestrator jobs based on the provided information
OrchestratorJobApi OrchestratorJobScheduleBulkJob Post /OrchestratorJobs/Custom/Bulk Schedules the same job for a custom JobType on the specified agents using the provided information
OrchestratorJobApi OrchestratorJobScheduleJob Post /OrchestratorJobs/Custom Schedules a job for a custom JobType on the agent using the provided information
OrchestratorJobApi OrchestratorJobUnscheduleJobs Post /OrchestratorJobs/Unschedule Unschedules orchestrator jobs based on the provided information
PAMProviderApi PAMProviderCreatePamProvider Post /PamProviders Creates a new PAM provider with the associated properties
PAMProviderApi PAMProviderCreatePamProviderType Post /PamProviders/Types Creates a new PAM provider type with the associated properties
PAMProviderApi PAMProviderDeletePamProvider Delete /PamProviders/{id} Deletes a PAM Provider
PAMProviderApi PAMProviderGetPamProvider Get /PamProviders/{id} Returns a single PAM Provider that matches the associated id
PAMProviderApi PAMProviderGetPamProviderTypes Get /PamProviders/Types Returns all PAM providers in the Keyfactor instance
PAMProviderApi PAMProviderGetPamProviders Get /PamProviders Returns all PAM providers according to the provided filter and output parameters
PAMProviderApi PAMProviderUpdatePamProvider Put /PamProviders Updates an existing PAM provider according to the provided properties
PendingAlertApi PendingAlertAddPendingAlert Post /Alerts/Pending Add a pending alert
PendingAlertApi PendingAlertDeletePendingAlert Delete /Alerts/Pending/{id} Delete a pending alert
PendingAlertApi PendingAlertEditPendingAlert Put /Alerts/Pending Edit a pending alert
PendingAlertApi PendingAlertEditSchedule Put /Alerts/Pending/Schedule Edit schedule
PendingAlertApi PendingAlertGetPendingAlert Get /Alerts/Pending/{id} Get a pending alert
PendingAlertApi PendingAlertGetPendingAlerts Get /Alerts/Pending Gets all pending alerts according to the provided filter and output parameters
PendingAlertApi PendingAlertGetSchedule Get /Alerts/Pending/Schedule Get the schedule for pending alerts
PendingAlertApi PendingAlertTestAllPendingAlert Post /Alerts/Pending/TestAll Test all pending alerts. Will send alert emails if SendAlerts is true
PendingAlertApi PendingAlertTestPendingAlert Post /Alerts/Pending/Test Test pending alert. Will send alert emails if SendAlerts is true
ReportsApi ReportsCreateCustomReport Post /Reports/Custom Creates a custom report
ReportsApi ReportsCreateReportSchedule Post /Reports/{id}/Schedules Create a built-in report's schedule that matches the id of the report.
ReportsApi ReportsDeleteReport Delete /Reports/Custom/{id} Delete custom report that matches the id
ReportsApi ReportsDeleteReportSchedule Delete /Reports/Schedules/{id} Delete a built-in report's schedule that matches the id of the schedule.
ReportsApi ReportsGetCustomReport Get /Reports/Custom/{id} Returns a single custom report that matches the id
ReportsApi ReportsGetReport Get /Reports/{id} Returns a single built-in report that matches the id
ReportsApi ReportsGetReportParameters Get /Reports/{id}/Parameters Get a built-in report's parameters that matches the id of the report.
ReportsApi ReportsGetReportSchedule Get /Reports/Schedules/{id} Get a built-in report's schedule that matches the id of the schedule.
ReportsApi ReportsGetReportSchedules Get /Reports/{id}/Schedules Get a built-in report's schedules that matches the id of the report.
ReportsApi ReportsQueryCustomReports Get /Reports/Custom Returns all custom reports according to the provided filter and output parameters
ReportsApi ReportsQueryReports Get /Reports Returns all built-in reports according to the provided filter and output parameters
ReportsApi ReportsUpdateCustomReport Put /Reports/Custom Updates a custom report that matches the id
ReportsApi ReportsUpdateReport Put /Reports Updates a single built-in report that matches the id. Only some fields can be updated.
ReportsApi ReportsUpdateReportParameters Put /Reports/{id}/Parameters Update a built-in report's parameters that matches the id of the report.
ReportsApi ReportsUpdateReportSchedule Put /Reports/{id}/Schedules Update a built-in report's schedule that matches the id of the report.
SMTPApi SMTPSMTP Get /SMTP Gets SMTP profile data
SMTPApi SMTPTestSMTP Post /SMTP/Test Tests SMTP profile data
SMTPApi SMTPUpdateSMTP Put /SMTP Updates SMTP profile data
SecurityApi SecurityDeleteSecurityIdentity Delete /Security/Identities/{id} Deletes the security identity whose ID is provided.
SecurityApi SecurityIdentityPermissions Get /Security/Identities/{id} Gets an object representing the permissions of the identity associated with the provided identifier.
SecurityApi SecurityLookupIdentity Get /Security/Identities/Lookup Validates that the identity with the name given exists.
SecurityRolePermissionsApi SecurityRolePermissionsAddCollectionPermissions Post /Security/Roles/{id}/Permissions/Collections Adds collection permissions to the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsAddContainerPermissions Post /Security/Roles/{id}/Permissions/Containers Adds container permissions to the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsAddGlobalPermissions Post /Security/Roles/{id}/Permissions/Global Adds global permissions to the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsGetCollectionPermissionsForRole Get /Security/Roles/{id}/Permissions/Collections Returns all collection permissions associated with the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsGetContainerPermissionsForRole Get /Security/Roles/{id}/Permissions/Containers Returns all container permissions associated with the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsGetGlobalPermissionsForRole Get /Security/Roles/{id}/Permissions/Global Returns all global permissions associated with the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsGetPermissionsForRole Get /Security/Roles/{id}/Permissions Returns all permissions associated with the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsSetCollectionPermissions Put /Security/Roles/{id}/Permissions/Collections Sets collection permissions to the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsSetContainerPermissions Put /Security/Roles/{id}/Permissions/Containers Sets container permissions to the security role that matches the id.
SecurityRolePermissionsApi SecurityRolePermissionsSetGlobalPermissions Put /Security/Roles/{id}/Permissions/Global Adds global permissions to the security role that matches the id.
SecurityRolesApi SecurityRolesDeleteSecurityRole Delete /Security/Roles/{id} Deletes the security role whose ID is provided.
SecurityRolesApi SecurityRolesGetIdentitiesWithRole Get /Security/Roles/{id}/Identities Returns all identities which have the security role that matches the id.
SecurityRolesApi SecurityRolesUpdateIdentitiesWithRole Put /Security/Roles/{id}/Identities Updates the identities which have the security role that matches the id.
ServerApi ServerAddAccess Post /SSH/Servers/Access Updates logons and users with access to those logons for an existing server
ServerApi ServerCreateServer Post /SSH/Servers Creates a server with the provided properties
ServerApi ServerDelete Delete /SSH/Servers/{id} Deletes a Server associated with the provided identifier
ServerApi ServerGet Get /SSH/Servers/{id} Returns a Server associated with the provided identifier
ServerApi ServerGetAccess Get /SSH/Servers/Access/{id} Retrieves logons and users with access to those logons for an existing server
ServerApi ServerQueryServers Get /SSH/Servers Returns all servers according to the provided filter parameters
ServerApi ServerRemoveAccess Delete /SSH/Servers/Access Updates logons and users with access to those logons for an existing server
ServerApi ServerUpdateServer Put /SSH/Servers Updates an existing server with the provided properties
ServerGroupApi ServerGroupAddAccess Post /SSH/ServerGroups/Access Add access rules to the server group
ServerGroupApi ServerGroupCreateServerGroup Post /SSH/ServerGroups Creates a server group with the provided properties
ServerGroupApi ServerGroupDelete Delete /SSH/ServerGroups/{id} Deletes a ServerGroup associated with the provided identifier
ServerGroupApi ServerGroupGetAccess Get /SSH/ServerGroups/Access/{id} Retrieves logons and users with access to those logons for an existing server group
ServerGroupApi ServerGroupGetGroup Get /SSH/ServerGroups/{id} Returns a ServerGroup associated with the provided identifier
ServerGroupApi ServerGroupGetGroupByName Get /SSH/ServerGroups/{name} Returns a ServerGroup associated with the provided identifier
ServerGroupApi ServerGroupQueryServerGroups Get /SSH/ServerGroups Returns all server groups according to the provided filter parameters
ServerGroupApi ServerGroupRemoveAccess Delete /SSH/ServerGroups/Access Removes access mappings for the specified server group
ServerGroupApi ServerGroupUpdateServerGroup Put /SSH/ServerGroups Updates an existing server group with the provided properties
ServiceAccountApi ServiceAccountCreateServiceAccount Post /SSH/ServiceAccounts Creates a ServiceAccount with the provided properties
ServiceAccountApi ServiceAccountDeleteServiceAccount Delete /SSH/ServiceAccounts/{id} Deletes a ServiceAccount associated with the provided identifier
ServiceAccountApi ServiceAccountDeleteServiceAccounts Delete /SSH/ServiceAccounts Deletes Service Accounts associated with the provided identifiers
ServiceAccountApi ServiceAccountGet Get /SSH/ServiceAccounts/{id} Returns a ServiceAccount associated with the provided identifier
ServiceAccountApi ServiceAccountGetServiceAccountKey Get /SSH/ServiceAccounts/Key/{id} Returns an SSH key with or without private key based on the provided parameters.
ServiceAccountApi ServiceAccountQueryServiceAccounts Get /SSH/ServiceAccounts Returns all ServiceAccounts according to the provided filter parameters
ServiceAccountApi ServiceAccountRotateServiceAccountKey Post /SSH/ServiceAccounts/Rotate/{id} Rotate an SSH key for a specified service account.
ServiceAccountApi ServiceAccountUpdateServiceAccount Put /SSH/ServiceAccounts Updates an SSH key for a specified service account.
SslApi SslAddNetworkRanges Post /SSL/NetworkRanges Adds the provided network range definitions to the associated network definition
SslApi SslCreateNetwork Post /SSL/Networks Creates a network definition according to the provided properties
SslApi SslEndpoint Get /SSL/Endpoints/{id} Returns the details of the associated scanning endpoint
SslApi SslEndpointHistory Get /SSL/Endpoints/{id}/History Returns a list of the scan results for the provided endpoint according to the provided filter and output parameters
SslApi SslGetNetwork Get /SSL/Networks/{identifier} Returns a defined SSL network according to the provided name
SslApi SslGetNetworkRangesForNetwork Get /SSL/NetworkRanges/{id} Returns the network range definitions for the provided network definition
SslApi SslGetNetworks Get /SSL/Networks Returns all defined SSL networks according to the provided filter and output parameters
SslApi SslImmediateSslScan Post /SSL/Networks/{id}/Scan Starts an SSL Scan for the network according to the associated network definition
SslApi SslMonitorAll Put /SSL/Endpoints/MonitorAll Sets all endpoints matching the provided query as 'monitored'
SslApi SslMonitoringStatus Put /SSL/Endpoints/MonitorStatus Sets the monitored status according to the provided endpoint and boolean status
SslApi SslNetworkScanParts Get /SSL/Networks/{id}/Parts Returns the scan job components comprising the entire scan job to be executed
SslApi SslRemoveAllNetworkRanges Delete /SSL/NetworkRanges/{id} Removes all network range definitions from the associated network definition
SslApi SslRemoveNetwork Delete /SSL/Networks/{id} Removes a network definition according to the provided identifier
SslApi SslResults Get /SSL Returns a list of the endpoint scan results according to the provided filter and output parameters
SslApi SslReviewAll Put /SSL/Endpoints/ReviewAll Sets all endpoints matching the provided query as 'reviewed'
SslApi SslReviewedStatus Put /SSL/Endpoints/ReviewStatus Sets the reviewed status according to the provided endpoint and boolean status
SslApi SslScanPart Get /SSL/Parts/{id} Returns the execution details of the associated network scan job part
SslApi SslSetNetworkRanges Put /SSL/NetworkRanges Configures network range definitions for the provided network
SslApi SslUpdateNetwork Put /SSL/Networks Updates an existing network definition according to the provided properties
SslApi SslValidateNetworkRanges Post /SSL/NetworkRanges/Validate Validates the format (using regular expressions) of the provided network range definitions
StatusApi StatusGetEndpoints Get /Status/Endpoints Returns all endpoints to which the requesting identity has access
TemplateApi TemplateGetGlobalSettings Get /Templates/Settings Gets the global template settings.
TemplateApi TemplateGetTemplate Get /Templates/{id} Returns the certificate template associated with the provided id
TemplateApi TemplateGetTemplates Get /Templates Returns all certificate templates according to the provided filter and output parameters
TemplateApi TemplateGetValidSubjectParts Get /Templates/SubjectParts
TemplateApi TemplateImport Post /Templates/Import Imports templates from the provided configuration tenant
TemplateApi TemplateUpdateGlobalSettings Put /Templates/Settings Replaces the existing global template settings.
TemplateApi TemplateUpdateTemplate Put /Templates Updates a certificate template according to the provided properties
UserApi UserCreateUser Post /SSH/Users Creates a new SSH User.
UserApi UserDeleteUser Delete /SSH/Users/{id} Deletes an SSH user.
UserApi UserGetUser Get /SSH/Users/{id} Looks up information about an existing SSH user.
UserApi UserQueryUsers Get /SSH/Users Returns users matching the criteria from the provided query parameters
UserApi UserUpdateUser Put /SSH/Users Updates information about a given user.
UserApi UserUserAccess Post /SSH/Users/Access Updates logon access for a user
WorkflowApi WorkflowApprovePendingRequests Post /Workflow/Certificates/Approve Approves pending certificate requests associated with the provided ids
WorkflowApi WorkflowDenyPendingRequests Post /Workflow/Certificates/Deny Denies pending certificate requests associated with the provided ids
WorkflowApi WorkflowGet Get /Workflow/Certificates/Pending Gets a collection of certificate requests based on the provided query.
WorkflowApi WorkflowGetCertificateRequestDetails Get /Workflow/Certificates/{id} Returns certificate request details based on the provided ID.
WorkflowApi WorkflowGetDenied Get /Workflow/Certificates/Denied Gets a collection of denied certificate requests based on the provided query.
WorkflowDefinitionApi WorkflowDefinitionConfigureDefinitionSteps Put /Workflow/Definitions/{definitionId}/Steps Sets the provided steps on the latest version of the definition.
WorkflowDefinitionApi WorkflowDefinitionCreateNewDefinition Post /Workflow/Definitions Creates a new base definition without any steps.
WorkflowDefinitionApi WorkflowDefinitionDelete Delete /Workflow/Definitions/{definitionId} Deletes the definition matching the given Id.
WorkflowDefinitionApi WorkflowDefinitionGet Get /Workflow/Definitions/{definitionId} Gets a workflow definition.
WorkflowDefinitionApi WorkflowDefinitionGetStepSchema Get /Workflow/Definitions/Steps/{extensionName} Gets the schema of a given step with the specified extension name.
WorkflowDefinitionApi WorkflowDefinitionPublishDefinition Post /Workflow/Definitions/{definitionId}/Publish Makes the most recent version of a Workflow Definition the published version.
WorkflowDefinitionApi WorkflowDefinitionQuery Get /Workflow/Definitions Gets the Definitions matching the query specifications.
WorkflowDefinitionApi WorkflowDefinitionQueryAvailableSteps Get /Workflow/Definitions/Steps Gets the result set of available steps for a given query.
WorkflowDefinitionApi WorkflowDefinitionQueryWorkflowTypes Get /Workflow/Definitions/Types Performs a query against the workflow types in the system.
WorkflowDefinitionApi WorkflowDefinitionUpdateExistingDefinition Put /Workflow/Definitions/{definitionId} Updates the existing definition's DisplayName and Description.
WorkflowInstanceApi WorkflowInstanceDeleteInstance Delete /Workflow/Instances/{instanceId} Deletes the specified instance.
WorkflowInstanceApi WorkflowInstanceGet Get /Workflow/Instances/{instanceId} Get information relevant for knowing where an instance is in its workflow.
WorkflowInstanceApi WorkflowInstanceQuery Get /Workflow/Instances Gets the workflow instances matching the query specifications.
WorkflowInstanceApi WorkflowInstanceQueryInstancesAssignedToMe Get /Workflow/Instances/AssignedToMe Gets the workflow instances waiting on the user.
WorkflowInstanceApi WorkflowInstanceQueryInstancesStartedByMe Get /Workflow/Instances/My Gets the workflow instances started by the user.
WorkflowInstanceApi WorkflowInstanceRestart Post /Workflow/Instances/{instanceId}/Restart Restarts a failed instance against the specified definition version or the published version if no version is specified.
WorkflowInstanceApi WorkflowInstanceSignal Post /Workflow/Instances/{instanceId}/Signals Receives the given signal for the given instance.
WorkflowInstanceApi WorkflowInstanceStop Post /Workflow/Instances/{instanceId}/Stop Rejects an instance, preventing it from continuing.

Documentation For Models

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime

Author