Certificate Manager - SaaS API (Venafi Control Plane)

The Venafi / CyberArk Certificate Manager - SaaS REST API. 184 operations across 120 paths covering certificate inventory and search, certificate requests and issuing templates, applications, machines and machine identities, credential managers, teams and users, service accounts and scopes, tags, event logs, VSatellites (edge instances/workers), webhook connectors, expiration/auto-renewal monitoring, approval rules, plugins and Workload Identity Manager (distributed issuers). Served from six regional hosts under venafi.cloud.

Operations 184

GET /outagedetection/v1/certificates Retrieve all certificate data #
POST /outagedetection/v1/certificates Import a set of raw certificates #
GET /outagedetection/v1/certificates/{id} Get a certificate's details #
GET /outagedetection/v1/certificates/{id}/contents Download a certificate #
POST /outagedetection/v1/certificates/validation Request validation for a set of certificates #
POST /outagedetection/v1/certificates/retirement Retire certificates #
POST /outagedetection/v1/certificates/recovery Recover a set of certificates #
POST /outagedetection/v1/certificates/deletion Delete a set of retired certificates #
POST /outagedetection/v1/certificatesearch Retrieve certificate data matching search criteria #
GET /outagedetection/v1/certificateinstances Retrieve Certificate Instances #
GET /outagedetection/v1/certificateinstances/{id} Get a certificate installation's details #
POST /outagedetection/v1/certificateinstances/validation Request validation for a set of certificate installations #
POST /outagedetection/v1/certificateinstancesearch Retrieve certificate instance data matching search criteria #
GET /v1/integrationservices Get a list of services #
POST /v1/integrationservices Add a service #
GET /v1/integrationservices/{id} Get service details #
DELETE /v1/integrationservices/{id} Remove a service #
PATCH /v1/integrationservices/{id} Update Service properties #
POST /v1/certificates/imports Import a list of certificates and their associated private key pairs #
GET /v1/certificates/imports/{id} Retrieve import details #
GET /outagedetection/v1/certificaterequests Get the details of all certificate requests #
POST /outagedetection/v1/certificaterequests Create a certificate request #
GET /outagedetection/v1/certificaterequests/{id} Get a certificate request's details #
POST /outagedetection/v1/certificaterequests/{id}/resubmission Resubmit a certificate request #
POST /outagedetection/v1/certificaterequests/validation Validate a certificate request #
POST /outagedetection/v1/certificaterequestssearch Get the details of certificate requests matching custom search criteria #
GET /v1/certificateissuingtemplates Get the details of issuing templates matching simple criteria #
POST /v1/certificateissuingtemplates Add an issuing template #
GET /v1/certificateissuingtemplates/{id} Get an issuing template's details #
PUT /v1/certificateissuingtemplates/{id} Overwrite an issuing template's details #
DELETE /v1/certificateissuingtemplates/{id} Remove an issuing template #
POST /v1/certificateissuingtemplates/domainssynchronization Synchronize issuing templates domains with CA #
GET /outagedetection/v1/applications Get the details of applications #
POST /outagedetection/v1/applications Add an application #
GET /outagedetection/v1/applications/{id} Get an application's details #
PUT /outagedetection/v1/applications/{id} Update an application's details #
DELETE /outagedetection/v1/applications/{id} Remove an application #
POST /outagedetection/v1/applications/{id}/invitations Creates an invitation link for an application. #
GET /outagedetection/v1/applications/{id}/scanaficonfiguration Get the Basic Discovery configuration for an application #
GET /outagedetection/v1/applications/{name}/certificateissuingtemplates/{alias} Get the details of an issuing template by its alias #
PATCH /outagedetection/v1/applications/certificates Manage application assignments for a set of certificates #
GET /outagedetection/v1/applications/name/{name} Get an application's details by its name #
GET /v1/credentialmanagerconfigurations Retrieves a set of Credential Manager Service configurations #
POST /v1/credentialmanagerconfigurations Add a set of Credential Manager Service configurations #
PUT /v1/credentialmanagerconfigurations Update a Credential Manager Service configuration #
GET /v1/credentialmanagerconfigurations/{id} Retrieves a Credential Manager Service configuration by ID #
DELETE /v1/credentialmanagerconfigurations/{id} Delete a Credential Manager Service configuration by ID #
POST /v1/credentialmanagerconfigurations/test Test the connection to a privileged access management #
POST /v1/credentialmanagerconfigurations/{id}/test Test the connection to an external Privilege Access Management by ID #
GET /v1/credentials Retrieves credentials for a company #
POST /v1/credentials Add a set of new shared credentials #
PUT /v1/credentials Update a shared credential #
DELETE /v1/credentials Delete shared credentials #
GET /v1/credentials/{id} Retrieves shared credential by ID #
DELETE /v1/credentials/{id} Delete shared credential by ID #
POST /v1/credentials/test Test the access to shared credential by ID #
GET /v1/machineidentities Get the details of all machine identities #
POST /v1/machineidentities Add a machine identity to a machine #
GET /v1/machineidentities/{id} Get a machine identity's details #
DELETE /v1/machineidentities/{id} Remove a machine identity #
PATCH /v1/machineidentities/{id} Update a machine identity's details #
POST /v1/machineidentities/{id}/workflows Initiate a machine workflow #
POST /v1/machineidentitysearch Get the details of machine identities matching search criteria. #
GET /v1/machinetypes Deprecated. This functionality is no longer supported. Use the Plugins API set instead. #
GET /v1/machines Get the details of all machines #
POST /v1/machines Add a machine #
GET /v1/machines/{id} Get a machine's details #
DELETE /v1/machines/{id} Delete a machine #
PATCH /v1/machines/{id} Update a machine's details #
POST /v1/machines/{id}/workflows Initiate the workflow #
POST /v1/machines/workflows Initiate workflow (currently supported test connection only) #
POST /v1/machinesearch Get the details of machines matching search criteria #
POST /v1/machines/{id}/batchprovisionings/abort Abort active batch provisioning for a machine by ID #
GET /v1/machines/{id}/discovery Get the discovery results for a machine by its ID #
POST /v1/machines/{id}/discovery/abort Abort machine discovery #
GET /v1/users Retrieve users matching specified criteria #
GET /v1/users/{id} Retrieve user details by user ID #
PUT /v1/users/{id}/accounttype Update user account type. #
PUT /v1/users/{id}/locallogin Enable/disable local login for user #
PUT /v1/users/{id}/roles Update user roles. #
GET /v1/users/username/{username} Retrieve user details by username #
PUT /v1/users/{id}/passwordexpiration Update if a user must change their password at next login #
GET /v1/useraccounts Retrieve an authenticated user's account details #
GET /v1/teams Retrieve teams for the current company #
POST /v1/teams Add a team #
GET /v1/teams/{id} Get a team's details #
DELETE /v1/teams/{id} delete a team #
PATCH /v1/teams/{id} Update team's details #
POST /v1/teams/{id}/members Add team members #
DELETE /v1/teams/{id}/members Remove team members #
POST /v1/teams/{id}/owners Add team owners #
DELETE /v1/teams/{id}/owners Remove team owners #
POST /v1/activitylogsearch Retrieve count and activity log entries matching search criteria #
POST /v1/activitylogsearch/export Export filtered event log data to JSON or CSV formats #
GET /v1/activitytypes Retrieve types of activities used for event logging #
POST /v1/edgeinstances/{id}/update Trigger manual update of Satellite Instance #
GET /v1/edgeencryptionkeys Retrieve Satellite Encryption Keys #
GET /v1/edgeencryptionkeys/{id} Retrieve SatelliteEncryption Key By Id #
GET /v1/edgeinstances Retrieve Satellite Instances #
GET /v1/edgeinstances/{id} Retrieve Satellite Instance By Id #
PUT /v1/edgeinstances/{id} Update Satellite Instance #
POST /v1/pairingcodes/satellite Create Pairing Code for Satellite Instance #
POST /v1/recoverycodes/satellite Create Recovery Code for Satellite Instance #
GET /v1/edgeworkers Retrieve Satellite Workers #
POST /v1/edgeworkers Create Satellite Worker #
POST /v1/edgeworkers/{id}/pair Pair Satellite Worker with Satellite Instance #
DELETE /v1/edgeworkers/{id} Delete Satellite Worker #
GET /v1/updatesconfig Retrieve Updates configuration #
PATCH /v1/updatesconfig Create or Update Configuration #
PUT /v1/connectors/{id} Update Connector properties #
DELETE /v1/connectors/{id} Delete a Connector #
GET /v1/connectors Retrieve all Connectors for a company #
POST /v1/connectors Create a Connector #
GET /outagedetection/v1/inventorymonitoringconfig/{type} Get the details of the current inventory monitoring configuration #
PUT /outagedetection/v1/inventorymonitoringconfig/{type} Updates existing inventory monitoring configuration #
PUT /outagedetection/v1/inventorymonitoringconfig/{type}/scheduler Update inventory monitoring scheduler by type #
GET /v1/expirationnotifications/tenantconfiguration Retrieve the certificate expiration notification configuration #
PUT /v1/expirationnotifications/tenantconfiguration Update the certificate expiration notification configuration #
GET /v1/autorenewal/tenantconfiguration Retrieve the monitoring configuration #
PUT /v1/autorenewal/tenantconfiguration Update the monitoring configuration #
POST /v1/autorenewal/trigger Attempt to initiate the certificate renewal check process now. #
GET /v1/autorenewal/status Get the current certificate auto-renewal monitoring status #
GET /v1/autorenewal/{application_id}/configuration Retrieve the monitoring configuration #
PUT /v1/autorenewal/{application_id}/configuration Update the monitoring configuration #
GET /v1/expirationreports/tenantconfiguration Retrieve the certificate expiration reports configuration #
PUT /v1/expirationreports/tenantconfiguration Update the certificate expiration reports configuration #
POST /v1/expirationreports/trigger Attempt to initiate the certificate reports process. #
GET /v1/tags Retrieve all tags #
POST /v1/tags Create a tag #
GET /v1/tags/{name} Retrieve tag by name #
DELETE /v1/tags/{name} Delete tag by name #
GET /v1/tags/{name}/values Retrieve values for a tag #
POST /v1/tags/{name}/values Create tag values #
DELETE /v1/tags/{name}/values/{value} Delete a tag value #
GET /v1/tags/values Retrieve values for all tags #
POST /v1/tags/creation Create tags in bulk #
POST /v1/tags/deletion Delete tags in bulk #
PATCH /v1/tagsassignment Replace, add, or delete tags or values #
POST /v1/tagsassignment/aggregates Bulk operation to retrieve number of entities per tag #
POST /v1/distributedissuers/configurations Create a new Issuer configuration #
GET /v1/distributedissuers/configurations Get the details of all Issuer configurations #
GET /v1/distributedissuers/configurations/{id} Get configurations details for a specific Issuer configuration #
PATCH /v1/distributedissuers/configurations/{id} Update an Issuer configuration's details #
DELETE /v1/distributedissuers/configurations/{id} Remove an Issuer configuration #
POST /v1/distributedissuers/subcaproviders Create a new Sub CA provider #
GET /v1/distributedissuers/subcaproviders Get the details of all Sub CA providers #
GET /v1/distributedissuers/subcaproviders/{id} Get a Sub CA provider's details #
PATCH /v1/distributedissuers/subcaproviders/{id} Update a Sub CA provider's details #
DELETE /v1/distributedissuers/subcaproviders/{id} Remove a Sub CA provider #
POST /v1/distributedissuers/policies Create a new Workload Issuance policy #
GET /v1/distributedissuers/policies Get the details of all Workload Issuance policies #
GET /v1/distributedissuers/policies/{id} Get a Workload Issuance policy's details #
PATCH /v1/distributedissuers/policies/{id} Update a Workload Issuance policy's details #
DELETE /v1/distributedissuers/policies/{id} Remove a Workload Issuance policy #
GET /v1/distributedissuers/intermediatecertificates Get the details of all Issuer intermediate certificates #
POST /v1/certificaterequests/{id}/approval/{decision} Approve or reject pending certificate request #
POST /v1/certificaterequests/approval/bulk/{decision} Approve or reject multiple pending approval certificate requests #
POST /v1/certificaterequests/approvalrules Create an approval rule for certificate requests #
GET /v1/certificaterequests/approvalrules Get all approval rules #
GET /v1/certificaterequests/approvalrules/{id} Retrieve approval rule by id #
PUT /v1/certificaterequests/approvalrules/{id} Update certificate request workflow approval rule #
DELETE /v1/certificaterequests/approvalrules/{id} Delete certificate request workflow approval rule #
GET /v1/certificaterequests/approvalrequests/{entityId} Retrieve approval request for specific certificate request #
POST /v1/certificates/revocations/approvalrules Create an approval rule for certificate revocation #
GET /v1/certificates/revocations/approvalrules Get all certificate revocation approval rules #
GET /v1/certificates/revocations/approvalrules/{id} Retrieve certificate revocation approval rule by id #
PUT /v1/certificates/revocations/approvalrules/{id} Update certificate revocation workflow approval rule #
DELETE /v1/certificates/revocations/approvalrules/{id} Delete certificate revocation workflow approval rule #
GET /v1/plugins Retrieve all plugins #
POST /v1/plugins Create a local plugin #
GET /v1/plugins/{id} Retrieve plugin by ID #
PATCH /v1/plugins/{id} Update a local plugin #
DELETE /v1/plugins/{id} Delete a local plugin #
POST /v1/plugins/{id}/disablements Disable a plugin #
DELETE /v1/plugins/{id}/disablements Remove plugin disablement #
GET /v1/plugins/disablements Retrieve all disabled plugins #
GET /v1/serviceaccounts Retrieves all the Service Accounts the user has access to #
POST /v1/serviceaccounts Creates a Service Account #
GET /v1/serviceaccounts/{id} Gets a Service Account #
PATCH /v1/serviceaccounts/{id} Updates a Service Account #
DELETE /v1/serviceaccounts/{id} Deletes a Service Account #
GET /v1/serviceaccounts/scopes Retrieves all the Service Accounts Scopes available for the user #
PUT /v1/serviceaccounts/{id}/ocitoken Regenerate the OCI registry token for a Service Account with registry scope #
PUT /v1/serviceaccounts/{id}/credentials Updates a Service Account credentials #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/certificate-manager-saas"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

venafi-certificate-manager-saas-openapi.yml Raw ↑
components:
  examples:
    200DeletedCyberArksCredExample:
      description: In this example, two CyberArk credential configuration were successfully deleted.
      value:
        count: 2
        idsCredentialsDeleted:
        - 94e86140-d85f-11ed-afa1-0242ac120002
        - b127028c-d88a-11ed-afa1-0242ac120002
    200GetCyberArkConfExample:
      description: In this example the, response contains the received configuration for a CyberArk provider.
      value:
        cmsDetails:
          appID: my_cyberArk_app
          baseUrl: https://my_cyberark
          certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
          certificatePassword: '***********'
        cmsType: cyberark
        companyId: 5da61974-4427-11ed-b878-0242ac120002
        id: 72e4c1f6-d85f-11ed-afa1-0242ac120002
        vSatelliteIds:
        - 17700d91-cdee-4f23-a841-0345ea6d61a1
        - bf787573-0927-4452-b607-974567dfea18
    200GetCyberArkCredExample:
      description: 'In this example, the CyberArk credential is obtained with its

        details*(references, credentialDetails, createdOn, createdBy, lastModifiedOn and lastModifiedBy properties)*.

        '
      value:
        authType: password
        cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
        cmsType: cyberark
        createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
        createdOn: '2023-07-06T00:00:00Z'
        credentialDetails:
          folder: TLS_Protect_Cloud_credentials
          objectName: my_stored_cyberark_credential01
          safe: safe_path
        id: 94e86140-d85f-11ed-afa1-0242ac120002
        lastModifiedBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
        lastModifiedOn: '2023-07-07T00:00:00Z'
        name: my_cyberark_cred_01
        references:
        - id: 195b6043-0f9f-4d0f-8758-b407ffef64bd
          type: machine
        teamsIds:
        - 69445b95-da76-4d35-ba3c-7f8293dc8bce
        - 2fc5a610-d599-11ed-afa1-0242ac120002
    200GetCyberArkCredWithoutDetailsExample:
      description: 'In this example, the CyberArk credential is obtained without its

        details*(references, credentialDetails, createdOn, createdBy, lastModifiedOn and lastModifiedBy properties)*.

        '
      value:
        authType: password
        cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
        cmsType: cyberark
        id: 94e86140-d85f-11ed-afa1-0242ac120002
        name: my_cyberark_cred_01
        teamsIds:
        - 69445b95-da76-4d35-ba3c-7f8293dc8bce
        - 2fc5a610-d599-11ed-afa1-0242ac120002
    200GetCyberArksConfExample:
      description: In this example, the response contains an array with one configuration for a CyberArk provider.
      value:
        cmsConfigurations:
        - cmsDetails:
            appID: my_cyberArk_app
            baseUrl: https://my_cyberark
            certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
            certificatePassword: '***********'
          cmsType: cyberark
          companyId: 5da61974-4427-11ed-b878-0242ac120002
          createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          createdOn: '2023-07-06T00:00:00Z'
          id: 72e4c1f6-d85f-11ed-afa1-0242ac120002
          lastModifiedBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          lastModifiedOn: '2023-07-07T00:00:00Z'
          name: CyberArk Configuration
          vSatelliteIds:
          - 17700d91-cdee-4f23-a841-0345ea6d61a1
          - bf787573-0927-4452-b607-974567dfea18
        count: 1
    200GetCyberArksCredExample:
      description: "In this example, two CyberArk credentials configurations are obtained with their \ndetails*(references,\
        \ credentialDetails, createdOn, createdBy, lastModifiedOn and lastModifiedBy properties)*; \nthe first one contains\
        \ a **reference** but the second one has not any **reference** yet.\n"
      value:
        count: 2
        credentials:
        - authType: password
          cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
          cmsType: cyberark
          createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          createdOn: '2023-07-06T00:00:00Z'
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential01
            safe: safe_path
          id: 94e86140-d85f-11ed-afa1-0242ac120002
          lastModifiedBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          lastModifiedOn: '2023-07-07T00:00:00Z'
          name: my_cyberark_cred_01
          references:
          - id: 195b6043-0f9f-4d0f-8758-b407ffef64bd
            type: machine
          teamsIds:
          - 69445b95-da76-4d35-ba3c-7f8293dc8bce
          - 2fc5a610-d599-11ed-afa1-0242ac120002
        - authType: username_password
          cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
          cmsType: cyberark
          createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          createdOn: '2023-07-05T00:00:00Z'
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential02
            safe: safe_path
          id: b127028c-d88a-11ed-afa1-0242ac120002
          lastModifiedBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          lastModifiedOn: '2023-07-06T00:00:00Z'
          name: my_cyberark_cred_02
          teamsIds:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          - 2fc5a610-d599-11ed-afa1-0242ac120002
    200GetCyberArksCredWithoutDetailsExample:
      description: 'In this example, one CyberArk credential is obtained without its

        details*(references, credentialDetails, createdOn, createdBy, lastModifiedOn and lastModifiedBy properties)*.

        '
      value:
        count: 1
        credentials:
        - authType: password
          cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
          cmsType: cyberark
          id: 94e86140-d85f-11ed-afa1-0242ac120002
          name: my_cyberark_cred_01
          teamsIds:
          - 69445b95-da76-4d35-ba3c-7f8293dc8bce
          - 2fc5a610-d599-11ed-afa1-0242ac120002
    200TestCyberArkConfExample:
      value:
        workflowId: 17700d91-cdee-4f23-a841-0345ea6d61a1
        workflowName: validateConfiguration
    200TestCyberArkCredExample:
      value:
        workflowId: 17700d91-cdee-4f23-a841-0345ea6d61a1
        workflowName: validateCredential
    200UpdatedCyberArkConfExample:
      description: In this example, the response contains the updated configuration for a CyberArk provider.
      value:
        cmsDetails:
          appID: my_cyberArk_app
          baseUrl: https://my_cyberark
          certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
          certificatePassword: '***********'
        cmsType: cyberark
        companyId: 5da61974-4427-11ed-b878-0242ac120002
        id: 72e4c1f6-d85f-11ed-afa1-0242ac120002
        vSatelliteIds:
        - 17700d91-cdee-4f23-a841-0345ea6d61a1
        - bf787573-0927-4452-b607-974567dfea18
    200UpdatedCyberArkCredExample:
      value:
        authType: password
        cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
        cmsType: cyberark
        createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
        createdOn: '2023-07-06T00:00:00Z'
        credentialDetails:
          folder: TLS_Protect_Cloud_credentials
          objectName: my_stored_cyberark_credential01
          safe: safe_path
        id: 94e86140-d85f-11ed-afa1-0242ac120002
        lastModifiedBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
        lastModifiedOn: '2023-07-07T00:00:00Z'
        name: my_cyberark_cred_01
        references:
        - id: 195b6043-0f9f-4d0f-8758-b407ffef64bd
          type: machine
        teamsIds:
        - 69445b95-da76-4d35-ba3c-7f8293dc8bce
        - 2fc5a610-d599-11ed-afa1-0242ac120002
    201AddedCyberArksCredExample:
      description: In this example, two CyberArk credentials were successfully added.
      value:
        count: 2
        credentialsAdded:
        - authType: password
          cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
          cmsType: cyberark
          createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          createdOn: '2023-07-05T00:00:00Z'
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential01
            safe: safe_path
          id: 94e86140-d85f-11ed-afa1-0242ac120002
          name: my_cyberark_cred_01
          teamsIds:
          - 69445b95-da76-4d35-ba3c-7f8293dc8bce
          - 2fc5a610-d599-11ed-afa1-0242ac120002
        - authType: username_password
          cmsConfigId: 3ff5ca72-fdc8-472b-964f-c5efd1778c26
          cmsType: cyberark
          createdBy: c51d00f9-d4a3-4e86-add2-79ff935e8c97
          createdOn: '2023-07-05T00:00:00Z'
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential02
            safe: safe_path
          id: b127028c-d88a-11ed-afa1-0242ac120002
          name: my_cyberark_cred_02
          teamsIds:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          - 2fc5a610-d599-11ed-afa1-0242ac120002
    201CreatedCyberArksConfExample:
      description: In this example, the response contains the created configuration for a CyberArk provider.
      value:
        cmsConfigurationsCreated:
        - cmsDetails:
            appID: my_cyberArk_app
            baseUrl: https://my_cyberark
            certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
            certificatePassword: '***********'
          cmsType: cyberark
          companyId: 5da61974-4427-11ed-b878-0242ac120002
          id: 72e4c1f6-d85f-11ed-afa1-0242ac120002
          vSatelliteIds:
          - 17700d91-cdee-4f23-a841-0345ea6d61a1
          - bf787573-0927-4452-b607-974567dfea18
        count: 1
    400UnsupportedCMSTypeExample:
      description: An error response when the CMS type provided is not supported or valid.
      value:
        errors:
        - args:
          - cms: https://my_delinea
          code: 90001
          message: Bad Request. The cms type is not supported
    AddCyberArksCredRequestBodyExample:
      description: In this example, two CyberArk credentials configurations are going to be added to the same CyberArk configuration.
      value:
        credentials:
        - authType: password
          cmsConfigId: 72e4c1f6-d85f-11ed-afa1-0242ac120002
          cmsType: cyberark
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential01
            safe: safe_path
          name: my_cyberark_cred_01
          teamsIds:
          - 69445b95-da76-4d35-ba3c-7f8293dc8bce
          - 2fc5a610-d599-11ed-afa1-0242ac120002
        - authType: username_password
          cmsConfigId: 72e4c1f6-d85f-11ed-afa1-0242ac120002
          cmsType: cyberark
          credentialDetails:
            folder: TLS_Protect_Cloud_credentials
            objectName: my_stored_cyberark_credential02
            safe: safe_path
          name: my_cyberark_cred_02
          teamsIds:
          - 3fa85f64-5717-4562-b3fc-2c963f66afa6
          - 2fc5a610-d599-11ed-afa1-0242ac120002
    ApplicationRenewalConfigurationExampleDefault:
      value:
        id: 22153ae0-4352-11ee-b95c-3531a284802b
        renewalActions:
          provision: false
          renew: false
        renewalWindow:
          inherit: true
    ApplicationRenewalConfigurationExampleModified:
      value:
        id: 22153ae0-4352-11ee-b95c-3531a284802b
        renewalActions:
          provision: false
          renew: true
        renewalWindow:
          days: 15
          inherit: false
    CreateCustomAPIReqBodyExample:
      value:
        applications:
        - dc96438b-7a80-464b-a09b-9e5ec746c3e3
        - 5bce5ff4-a69b-4e78-9b7e-6d4029995000
        audience: Audience
        authenticationType: rsaKeyFederated
        issuerURL: https://accounts.google.com/
        jwksURI: https://www.googleapis.com/oauth2/v3/certs
        name: Firefly SA
        owner: 2620f8e0-fdbf-11ee-b275-2754a4f7e272
        scopes:
        - distributed-issuance
        subject: Subject
    CreateCyberArksConfReqBodyExample:
      description: In this request example, the details for the CyberArk provider will be created.
      value:
        cmsConfigurations:
        - cmsDetails:
            appID: my_cyberArk_app
            baseUrl: https://my_cyberark
            certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
            certificatePassword: '***********'
          cmsType: cyberark
          vSatelliteIds:
          - 17700d91-cdee-4f23-a841-0345ea6d61a1
          - bf787573-0927-4452-b607-974567dfea18
    CreateFireflyAutogenerateReqBodyExample:
      description: In this example, it allows you to create Service Accounts using the Auto-generate mode to create a keypair
        and download the private key.
      value:
        authenticationType: rsaKey
        credentialLifetime: 30
        name: Firefly SA
        owner: 2620f8e0-fdbf-11ee-b275-2754a4f7e272
        publicKey: ''
        scopes:
        - distributed-issuance
    CreateFireflyAutogenerateResBodyExample:
      value:
        id: 933507dd-0286-11ef-bc25-8a00a468403f
        privateKey: 'REDACTED_PRIVATE_KEY_EXAMPLE

          '
        publicKey: '-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAzRCyRWzXlyhFp3RcUrum1Q6j7YR8jyL0L1fWnh7zgt4=\n-----END PUBLIC
          KEY-----'
    CreateFireflyReqBodyExample:
      description: In this example, it allows you to create Service Accounts using the Auto-generate mode to create a keypair
        and download the private key.
      value:
        authenticationType: rsaKey
        credentialLifetime: 30
        name: Firefly SA
        owner: 2620f8e0-fdbf-11ee-b275-2754a4f7e272
        publicKey: '-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAzRCyRWzXlyhFp3RcUrum1Q6j7YR8jyL0L1fWnh7zgt4=\n-----END PUBLIC
          KEY-----'
        scopes:
        - distributed-issuance
    CreateFireflyResBodyExample:
      value:
        id: 933507dd-0286-11ef-bc25-8a00a468403f
        publicKey: '-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAzRCyRWzXlyhFp3RcUrum1Q6j7YR8jyL0L1fWnh7zgt4=\n-----END PUBLIC
          KEY-----'
    GetServiceAccountsByClientIDResBodyExample:
      value:
        authenticationType: rsaKey
        companyId: 145f12e0-fdbf-11ee-b275-2754a4f7e272
        credentialLifetime: 365
        credentialsExpiringOn: '2025-01-01T00:00:00.000000Z'
        enabled: true
        id: 933507dd-0286-11ef-bc25-8a00a468403f
        name: Test
        owner: 2620f8e0-fdbf-11ee-b275-2754a4f7e272
        publicKey: '-----BEGIN PUBLIC KEY-----

          MCowBQYDK2VwAyEAor3JRni8bObnKbmWzRubiNyKMoCXLVrswqiMm2h8zl8=

          -----END PUBLIC KEY-----

          '
        scopes:
        - distributed-issuance
        updatedBy: 150760d0-fdbf-11ee-b275-2754a4f7e272
        updatedOn: '2024-01-01T00:00:09.000000Z'
    StatusResponseExample:
      value:
        current:
          applications: 13
          certificates:
            eligible: 47
            renewal:
              failed: 1
              successful: 9
              triggered: 3
          state: running
          timestamp: '2023-08-25T20:59:36.688019837Z'
        previous:
          applications: 13
          certificates:
            eligible: 47
            renewal:
              failed: 1
              successful: 46
              triggered: 47
          state: complete
          timestamp: '2023-08-24T20:57:36.688019837Z'
    TenantExpirationNotificationConfigurationExample:
      value:
        additionalRecipients:
        - id: 22153ae0-4352-11ee-b95c-3531a284802b
          type: User
        - id: 22153ae0-4352-11ee-b95c-12345abcd123
          type: Team
        channels:
        - email
        enabled: true
        fallbackToPKIAdmin: false
        personas:
        - Application Owners
        - All PKI Admins
    TenantExpirationReportsConfigurationExample:
      value:
        additionalRecipients:
        - id: 22153ae0-4352-11ee-b95c-3531a284802b
          type: User
        - id: 22153ae0-4352-11ee-b95c-12345abcd123
          type: Team
        channels:
        - email
        enabled: true
        expiringWithinDays: 30
        ignoreAfterDays: 30
        roles:
        - SYSTEM_ADMIN
        schedule: 0 0 * * Mon
    TestCyberArkConfReqBodyExample:
      description: The information to test a connection to a Credential Manager Service configuration with the required details
        for a CyberArk provider.
      value:
        cmsDetails:
          appID: my_cyberArk_app
          baseUrl: https://my_cyberark
          certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
          certificatePassword: '***********'
        cmsType: cyberark
        vSatelliteIds:
        - 17700d91-cdee-4f23-a841-0345ea6d61a1
        - bf787573-0927-4452-b607-974567dfea18
        wsClientId: dc1bdce3-3927-4181-a5c8-5f18f5aa8d90
    TestCyberArkCredRequestBodyExample:
      description: "In this example, the data of the CyberArk credential with `id = b127028c-d88a-11ed-afa1-0242ac120002`\
        \ \nis going to be used to test the connection.\n"
      value:
        id: b127028c-d88a-11ed-afa1-0242ac120002
        wsClientId: 337c0ab7-dabe-4d58-bfc3-5069429e7af2
    TestCyberArkCredRequestFullInfoBodyExample:
      description: 'In this example, the data of the CyberArk credential to test is completely provided in the request.

        '
      value:
        authType: password
        cmsType: cyberark
        credentialDetails:
          folder: TLS_Protect_Cloud_credentials
          objectName: my_stored_cyberark_credential01
          safe: safe_path
        wsClientId: 337c0ab7-dabe-4d58-bfc3-5069429e7af2
    TestCyberArkCredRequestPartialInfoBodyExample:
      description: "In this example, the data of the CyberArk credential with `id = b127028c-d88a-11ed-afa1-0242ac120002`\
        \ \nis going to be used to test the connection except by the `credentialDetails` which will be used instead of \n\
        the `credentialDetails` coming in the CyberArk credential with `id = b127028c-d88a-11ed-afa1-0242ac120002`.\n"
      value:
        credentialDetails:
          folder: TLS_Protect_Cloud_credentials
          objectName: my_stored_cyberark_credential01
          safe: safe_path
        id: b127028c-d88a-11ed-afa1-0242ac120002
        wsClientId: 337c0ab7-dabe-4d58-bfc3-5069429e7af2
    UpdateCyberArkCredRequestBodyExample:
      description: In this example, a CyberArk credential configuration is going to be updated based on its ID.
      value:
        cmsConfigId: 72e4c1f6-d85f-11ed-afa1-0242ac120002
        credentialDetails:
          folder: TLS_Protect_Cloud_credentials
          objectName: my_stored_cyberark_credential03
          safe: safe_path
        id: b127028c-d88a-11ed-afa1-0242ac120002
        name: my_cyberark_cred_02
        teamsIds:
        - 337c0ab7-dabe-4d58-bfc3-5069429e7af2
    UpdateCyberArksConfReqBodyExample:
      description: 'In this request example the details for the CyberArk provider will be updated.

        Take into account that if the **certificateBundle** is provided then the **certificatePassword** must be also provided
        and vice versa.

        '
      value:
        cmsDetails:
          appID: my_cyberArk_app
          certificateBundle: IICYzCCAcygAwIBAgIBADANBgkqhkiG9w0BAQUF...
          certificatePassword: '***********'
        id: 72e4c1f6-d85f-11ed-afa1-0242ac120002
  parameters:
    AuthTypesParam:
      description: The authentication types separated by commas.
      explode: false
      in: query
      name: authTypes
      schema:
        items:
          $ref: '#/components/schemas/AuthType'
        minItems: 1
        type: array
    CMSConfigIdParam:
      description: The id of the Credential Manager Service configuration.
      in: path
      name: id
      required: true
      schema:
        $ref: '#/components/schemas/CMSConfId'
    CMSCredentialDetailsParam:
      description: The option of whether or not return full credential details. Only Admin users can use this parameter.
      in: query
      name: details
      schema:
        type: boolean
    CMSTypesParam:
      description: The privileged access management types separated by commas.
      explode: false
      in: query
      name: cmsTypes
      schema:
        items:
          $ref: '#/components/schemas/CMSType'
        minItems: 1
        type: array
    CredentialIdParam:
      description: The credential Id.
      in: path
      name: id
      required: true
      schema:
        $ref: '#/components/schemas/CredentialId'
    CredentialIdsParam:
      description: The credential Ids separated by commas.
      explode: false
      in: query
      name: ids
      schema:
        items:
          $ref: '#/components/schemas/CredentialId'
        minItems: 1
        type: array
    TeamIdsParam:
      description: The team Ids separated by commas.
      explode: false
      in: query
      name: teamIds
      schema:
        items:
          $ref: '#/components/schemas/TeamId'
        minItems: 1
        type: array
  requestBodies:
    AddCredentialsBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/AddCyberArksCredRequestBodyExample'
          schema:
            $ref: '#/components/schemas/AddCredentialsRequest'
      description: The body request to add credentials to existing Credential Manager Service configurations.
    CreateCMSConfigurationsBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/CreateCyberArksConfReqBodyExample'
          schema:
            $ref: '#/components/schemas/CreateCMSConfigurationsRequest'
      description: The body request to create the given Credential Manager Service configuration using their details.
    TestCMSConfigurationBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/TestCyberArkConfReqBodyExample'
          schema:
            $ref: '#/components/schemas/TestCMSConfigurationRequest'
      description: The body request to test the given Credential Manager Service configuration using their details.
    TestCredentialBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/TestCyberArkCredRequestBodyExample'
            CyberArk with full info provided:
              $ref: '#/components/examples/TestCyberArkCredRequestFullInfoBodyExample'
            CyberArk with partial info provided:
              $ref: '#/components/examples/TestCyberArkCredRequestPartialInfoBodyExample'
          schema:
            $ref: '#/components/schemas/TestCredentialRequest'
      description: The body request to test the given credential.
    UpdateCMSConfigurationsBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/UpdateCyberArksConfReqBodyExample'
          schema:
            $ref: '#/components/schemas/UpdateCMSConfigurationRequest'
      description: The body request to update the given Credential Manager Service configuration using their details.
    UpdateCredentialBodyRequest:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/UpdateCyberArkCredRequestBodyExample'
          schema:
            $ref: '#/components/schemas/UpdateCredentialRequest'
      description: The body request to update the given credential.
  responses:
    200DeleteCredentials:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200DeletedCyberArksCredExample'
          schema:
            $ref: '#/components/schemas/DeleteCredentialsResponse'
      description: The credentials deleted successfully.
    200GetCMSConfiguration:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200GetCyberArkConfExample'
          schema:
            $ref: '#/components/schemas/CMSConfigurationResponse'
      description: The Credential Manager Service configuration received.
    200GetCMSConfigurations:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200GetCyberArksConfExample'
          schema:
            $ref: '#/components/schemas/GetCMSConfigurationsResponse'
      description: The Credential Manager Service configurations received.
    200GetCredential:
      content:
        application/json:
          examples:
            CyberArk with details:
              $ref: '#/components/examples/200GetCyberArkCredExample'
            CyberArk without details:
              $ref: '#/components/examples/200GetCyberArkCredWithoutDetailsExample'
          schema:
            $ref: '#/components/schemas/CredentialResponse'
      description: The retrieved credential.
    200GetCredentials:
      content:
        application/json:
          examples:
            CyberArk with details:
              $ref: '#/components/examples/200GetCyberArksCredExample'
            CyberArk without details:
              $ref: '#/components/examples/200GetCyberArksCredWithoutDetailsExample'
          schema:
            $ref: '#/components/schemas/GetCredentialsResponse'
      description: The retrieved credentials for a company.
    200TestCMSConfiguration:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200TestCyberArkConfExample'
          schema:
            $ref: '#/components/schemas/TestCMSConfigurationResponse'
      description: Ok. Contains the result of testing the Credential Manager Service configuration.
    200TestCredential:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200TestCyberArkCredExample'
          schema:
            $ref: '#/components/schemas/TestCredentialResponse'
      description: Connection test to credential successful.
    200UpdateCMSConfiguration:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200UpdatedCyberArkConfExample'
          schema:
            $ref: '#/components/schemas/CMSConfigurationResponse'
      description: The Credential Manager Service configurations updated.
    200UpdateCredential:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/200UpdatedCyberArkCredExample'
          schema:
            $ref: '#/components/schemas/CredentialResponse'
      description: The credentials updated successfully.
    201AddCredentials:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/201AddedCyberArksCredExample'
          schema:
            $ref: '#/components/schemas/AddCredentialsResponse'
      description: The credentials added successfully.
    201CreateCMSConfigurations:
      content:
        application/json:
          examples:
            CyberArk:
              $ref: '#/components/examples/201CreatedCyberArksConfExample'
          schema:
            $ref: '#/components/schemas/CreateCMSConfigurationsResponse'
      description: The Credential Manager Service configurations created.
    400BadRequest:
      content:
        application/json:
          examples:
            Unsupported_type:
              $ref: '#/components/examples/400UnsupportedCMSTypeExample'
          schema:
            $ref: '#/components/schemas/ErrorResponse5'
      description: Bad request.
    401Unauthorized:
      content:
        application/json:
          examples:
            Credentials_missed:
              description: An error response when the user credentials were not provided.
              value:
                errors:
                - args:
                  - cms: https://my_cyberark
                  code: 90002
                  message: Unauthorized. Missing or invalid credentials
          schema:
            $ref: '#/components/schemas/ErrorResponse5'
      description: Unauthorized. Missing or invalid credentials.
    403Forbidden:
      content:
        application/json:
          examples:
            Unauthorized_user:
              description: An error response when the user doesn't have the permission to do the action.
              value:
                errors:
                - args:
                  - cms: https://my_cyberark
                  code: 90002
                  message: Forbidden. User has not the permission to do the action.
          schema:
            $ref: '#/components/schemas/ErrorResponse5'
      description: Forbidden. The user does not have the permission to do this action.
    404NotFound:
      content:
        application/json:
          examples:
            CMS_was_not_found:
              description: An error response when the provided CyberArk provider was not found.
              value:
                errors:
                - args:
                  - cms: https://my_cyberark
                  code: 90003
                  message: Not found. The CMS 'https://my_cyberark' was not found
          schema:
            $ref: '#/components/schemas/ErrorResponse5'
      description: Not found. The resource was not found.
    500InternalServerErrorContent:
      content:
        application/json:
          examples:
            CMSConfig_not_found:
              description: An error response when an error occurred in the server.
              value:
                errors:
                - args:
                  - cmsCredentialName: my_cyberark_credential
                  code: 90003
                  message: Internal Server Error.
          schema:
            $ref: '#/components/schemas/ErrorResponse5'
      description: Internal Server Error.
  schemas:
    AWSCloudProvider:
      properties:
        accountIds:
          description: Array of AWS account IDs each of which should be a 12-digit identifier
          example:
          - '123456789012'
          items:
            type: string
          minItems: 1
          type: array
        regions:
          description: Array of AWS regions
          example:
          - us-west-1
          items:
            enum:
            - us-east-1
            - us-east-2
            - us-west-1
            - us-west-2
            - af-south-1
            - ap-east-1
            - ap-south-2
            - ap-southeast-3
            - ap-southeast-4
            - ap-south-1
            - ap-northeast-3
            - ap-northeast-2
            - ap-southeast-1
            - ap-southeast-2
            - ap-northeast-1
            - ca-central-1
            - eu-central-1
            - eu-west-1
            - eu-west-2
            - eu-south-1
            - eu-west-3
            - eu-south-2
            - eu-north-1
            - eu-central-2
            - me-south-1
            - me-central-1
            - sa-east-1
            - us-gov-east-1
            - us-gov-west-1
            type: string
          type: array
      required:
      - accountIds
      - regions
      type: object
    ActivityLogCondition:
      description: A Condition for filtering
      properties:
        field:
          description: Represents a field for filtering
          example: activityType
          type: string
        operator:
          $ref: '#/components/schemas/ActivityLogFilterOperator'
        value:
          description: represents a field's value
          example: Authentication
          type: string
        values:
          description: represents a field's values
          example:
          - Authentication
          - Users
          items:
            type: string
          type: array
      type: object
    ActivityLogEntriesResponse:
      properties:
        activityLogEntries:
          description: A collection of activity log entries
          items:
            $ref: '#/components/schemas/ActivityLogEntryInformation'
          type: array
        count:
          description: The number of activity log entries.
          example: 2
          format: int64
          type: integer
      type: object
    ActivityLogEntryInformation:
      properties:
        activityDate:
          description: The date when a log entry was produced
          example: '2023-01-24T09:12:28Z'
          format: 

# --- truncated at 32 KB (732 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/venafi/refs/heads/main/openapi/venafi-certificate-manager-saas-openapi.yml