openapi: 3.2.0 info: title: Certificate Manager - SaaS Credential Management API version: '1.0' servers: - description: US Region url: https://api.venafi.cloud - description: EU Region url: https://api.eu.venafi.cloud - description: AU Region url: https://api.au.venafi.cloud - description: UK Region url: https://api.uk.venafi.cloud - description: SG Region url: https://api.sg.venafi.cloud - description: CA Region url: https://api.ca.venafi.cloud tags: - name: Credential Management paths: /v1/credentialmanagerconfigurations: get: description: Retrieves a set of stored Credential Manager Service configurations. operationId: get-public-cms-conf parameters: - $ref: '#/components/parameters/CMSTypesParam' responses: '200': $ref: '#/components/responses/200GetCMSConfigurations' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Retrieves a set of Credential Manager Service configurations tags: - Credential Management x-rbac: permissions: access_type: read description: Ability to get a set of Credential Manager Service configurations name: ngts.credential_manager_configuration.get post: description: Adds a set of new Credential Manager Service configurations. Only one Credential Manager Service configuration per `cmsType` per company can exist. operationId: post-public-cms-conf requestBody: $ref: '#/components/requestBodies/CreateCMSConfigurationsBodyRequest' responses: '201': $ref: '#/components/responses/201CreateCMSConfigurations' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Add a set of Credential Manager Service configurations tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to create a set of Credential Manager Service configurations name: ngts.credential_manager_configuration.create put: description: Updates the information of an existing Credential Manager Service configuration. operationId: put-public-cms-conf requestBody: $ref: '#/components/requestBodies/UpdateCMSConfigurationsBodyRequest' responses: '200': $ref: '#/components/responses/200UpdateCMSConfiguration' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Update a Credential Manager Service configuration tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to update a Credential Manager Service configuration name: ngts.credential_manager_configuration.update /v1/credentialmanagerconfigurations/{id}: parameters: - $ref: '#/components/parameters/CMSConfigIdParam' get: description: Retrieves a Credential Manager Service configuration by the specified `id`. operationId: get-public-cms-conf-id responses: '200': $ref: '#/components/responses/200GetCMSConfiguration' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Retrieves a Credential Manager Service configuration by ID tags: - Credential Management x-rbac: permissions: name: ngts.credential_manager_configuration.get delete: description: Deletes a Credential Manager Service configuration by the specified `id`. operationId: delete-public-cms-conf-id responses: '204': description: The returned HTTP code if the Credential Manager Service configuration was deleted successfully. '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Delete a Credential Manager Service configuration by ID tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to delete a Credential Manager Service configuration name: ngts.credential_manager_configuration.delete /v1/credentialmanagerconfigurations/test: post: description: Tests the connection to a configured privileged access management through selected VSatellites. operationId: post-public-cms-conf-test requestBody: $ref: '#/components/requestBodies/TestCMSConfigurationBodyRequest' responses: '200': $ref: '#/components/responses/200TestCMSConfiguration' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Test the connection to a privileged access management tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to test the connection to a privileged access management name: ngts.credential_manager_configuration.test /v1/credentialmanagerconfigurations/{id}/test: parameters: - $ref: '#/components/parameters/CMSConfigIdParam' post: description: Tests the connection to a configured privileged access management through selected VSatellites using a specified `id`. operationId: post-public-cms-conf-test-id responses: '200': $ref: '#/components/responses/200TestCMSConfiguration' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Test the connection to an external Privilege Access Management by ID tags: - Credential Management x-rbac: permissions: name: ngts.credential_manager_configuration.test /v1/credentials: get: description: Retrieves a list of shared credentials for a company. operationId: get-public-cms-credential parameters: - $ref: '#/components/parameters/CMSCredentialDetailsParam' - $ref: '#/components/parameters/CMSTypesParam' - $ref: '#/components/parameters/CredentialIdsParam' - $ref: '#/components/parameters/TeamIdsParam' - $ref: '#/components/parameters/AuthTypesParam' responses: '200': $ref: '#/components/responses/200GetCredentials' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Retrieves credentials for a company tags: - Credential Management x-rbac: permissions: access_type: read description: Ability to retrieve credentials for a company name: ngts.credential.get roles: - PKIAdmin - PlatformAdmin - ResourceOwner - Guest post: description: Adds a set of new shared credentials. The `name` for each credential must be unique. operationId: post-public-cms-credential requestBody: $ref: '#/components/requestBodies/AddCredentialsBodyRequest' responses: '201': $ref: '#/components/responses/201AddCredentials' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Add a set of new shared credentials tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to add a set of new shared credentials name: ngts.credential.add put: description: Updates the information of an existing shared credential. operationId: put-public-cms-credential requestBody: $ref: '#/components/requestBodies/UpdateCredentialBodyRequest' responses: '200': $ref: '#/components/responses/200UpdateCredential' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Update a shared credential tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to update shared credential name: ngts.credential.update delete: description: Deletes existing shared credentials specified in the query parameter list of `ids`. operationId: delete-public-cms-credential parameters: - $ref: '#/components/parameters/CredentialIdsParam' responses: '200': $ref: '#/components/responses/200DeleteCredentials' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Delete shared credentials tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to delete shared credential name: ngts.credential.delete /v1/credentials/{id}: parameters: - $ref: '#/components/parameters/CredentialIdParam' get: description: Retrieves the credential matching with provided `id`. operationId: get-public-cms-credential-id parameters: - $ref: '#/components/parameters/CMSCredentialDetailsParam' responses: '200': $ref: '#/components/responses/200GetCredential' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Retrieves shared credential by ID tags: - Credential Management x-rbac: permissions: name: ngts.credential.get delete: description: Deletes the shared credential by the specified `id`. operationId: delete-public-cms-credential-id responses: '204': description: The returned http code if the credential was deleted successfully. '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '422': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Delete shared credential by ID tags: - Credential Management x-rbac: permissions: name: ngts.credential.delete /v1/credentials/test: post: description: Tests the access to a shared credential using a specified `id` or by providing credential values. If both an `id` and parameters are provided, parameters override existing credential values. operationId: post-public-cms-credential-test-id requestBody: $ref: '#/components/requestBodies/TestCredentialBodyRequest' responses: '200': $ref: '#/components/responses/200TestCredential' '400': $ref: '#/components/responses/400BadRequest' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Forbidden' '404': $ref: '#/components/responses/404NotFound' '500': $ref: '#/components/responses/500InternalServerErrorContent' security: - tppl-api-key: [] summary: Test the access to shared credential by ID tags: - Credential Management x-rbac: permissions: access_type: write description: Ability to test the access to shared credential name: ngts.credential.test components: schemas: UpdateCyberArkDetails: allOf: - $ref: '#/components/schemas/CyberArkConfiguration' UpdateCredentialDetails: oneOf: - $ref: '#/components/schemas/UpdateCyberArkCredDetails' - $ref: '#/components/schemas/UpdateHashiCorpCredDetails' LastModifiedBy: description: The ID of the user whom modified the credential. type: string AddCredentialsRequest: description: Array of credentials to add. properties: credentials: items: $ref: '#/components/schemas/AddCredentialRequest' minItems: 1 type: array required: - credentials type: object CMSConfId: description: The Credential Manager Service configuration ID. example: 72e4c1f6-d85f-11ed-afa1-0242ac120002 format: uuid type: string ErrorResponse5: description: Holds the response body returned for errors. properties: errors: description: List of encountered errors. items: $ref: '#/components/schemas/Error2' type: array type: object GetCredentialsResponse: description: Array of credentials received. properties: count: type: integer credentials: items: $ref: '#/components/schemas/CredentialResponse' type: array required: - credentials - count type: object HashiCorpDetailsRequiredProp: allOf: - $ref: '#/components/schemas/HashiCorpDetails' required: - secretPath - secretKeyName UpdateHashiCorpDetails: allOf: - $ref: '#/components/schemas/HashiCorpConfiguration' Reference: description: The machine referenced. properties: id: format: uuid type: string type: $ref: '#/components/schemas/ReferenceType' required: - id - type type: object CreateCMSConfigurationsResponse: description: The array of Credential Manager Service configurations created. properties: cmsConfigurationsCreated: items: $ref: '#/components/schemas/CMSConfigurationResponse' minItems: 1 type: array count: type: integer required: - cmsConfigurationsCreated - count type: object HashiCorpDetails: description: The HashiCorp Credential information. properties: secretKeyName: description: The HashiCorp secret key name property. type: string secretPath: description: The HashiCorp secret path property. type: string type: object CMSType: description: "The type of the privileged access management:\n * `cyberark` - For CyberArk privileged access management\n * `hashicorp` - For HashiCorp privileged access management\n" enum: - cyberark - hashicorp type: string HashiCorpConfiguration: allOf: - properties: authType: $ref: '#/components/schemas/CMSAuthenticationType' namespace: description: The namespace in HashiCorp Vault to connect to. type: string url: $ref: '#/components/schemas/CMSURL' required: - authType type: object - oneOf: - $ref: '#/components/schemas/CertificateCredentialData' - $ref: '#/components/schemas/UserPasswordAuthenticationData' - $ref: '#/components/schemas/TokenAuthenticationData' - $ref: '#/components/schemas/AppRoleAuthenticationData' description: The configuration for the HashiCorp app. It's required to set the value for the `cmsType` property to `hashicorp`. CertificateCredentialData: properties: certificateBundle: description: The Base64 encoding certificate bundle encrypted content. format: byte type: string certificateId: description: The Id of the certificate selected from the Certificate Inventory format: uuid type: string certificatePassword: description: The password to decrypt the certificate bundle. format: password type: string fingerprint: description: The fingerprint of the certificate selected from the Certificate Inventory type: string type: object UserPasswordAuthenticationData: properties: password: description: The user's password of the underlying credentials provider. format: password type: string userName: description: The user's name of the underlying credentials provider. type: string type: object CyberArkDetails: description: The CyberArk Credential information. properties: folder: description: The folder property into the CyberArk Safe. type: string objectName: description: The account's name which represents the credential in the CyberArk instance. type: string safe: description: The CyberArk Safe property. type: string type: object TestCredentialDetails: oneOf: - $ref: '#/components/schemas/TestCyberArkCredDetails' - $ref: '#/components/schemas/TestHashiCorpCredDetails' VSatelliteId: description: The VSatellite ID format: uuid type: string AuthType: description: "The type of the authentication:\n * `password`\n * `username_password`\n" enum: - password - username_password type: string TeamsIds: description: The ID's of teams. items: $ref: '#/components/schemas/TeamId' type: array uniqueItems: true TestCyberArkCredDetails: allOf: - $ref: '#/components/schemas/CyberArkDetails' Name: description: The Name of CMS configuration type: string CMSConfigurationResponse: description: The information representing a Credential Manager Service configuration for response. properties: cmsDetails: $ref: '#/components/schemas/ResponseCMSDetails' cmsType: $ref: '#/components/schemas/CMSType' companyId: $ref: '#/components/schemas/CompanyId' consumerTsgIds: description: List of sub-TSG IDs the configuration is explicitly shared with. Mutually exclusive with shareWithAll=true. items: type: string type: array createdBy: $ref: '#/components/schemas/CreatedBy' createdOn: $ref: '#/components/schemas/CreatedOn' id: $ref: '#/components/schemas/CMSConfId' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' lastModifiedOn: $ref: '#/components/schemas/LastModifiedOn' name: $ref: '#/components/schemas/Name' shareWithAll: description: When true, the configuration is shared with all sub-TSGs. type: boolean vSatelliteIds: $ref: '#/components/schemas/VSatelliteIds' type: object TeamId: description: The ID of a team. example: 3fa85f64-5717-4562-b3fc-2c963f66afa6 format: uuid type: string LastModifiedOn: description: The date in ISO 8601 full-date format when the credential was modified. format: date type: string TestCMSDetails: oneOf: - $ref: '#/components/schemas/TestCyberArkDetails' - $ref: '#/components/schemas/TestHashiCorpDetails' CMSURL: description: The baseUrl of the privileged access management provider. format: uri type: string CreateCMSDetails: oneOf: - $ref: '#/components/schemas/CreateCyberArkDetails' - $ref: '#/components/schemas/CreateHashiCorpDetails' AppId: description: The application ID from the CyberArk provider. type: string TestCMSConfigurationResponse: description: The result of testing the Credential Manager Service configuration. properties: workflowId: format: uuid type: string workflowName: type: string required: - workflowId - workflowName type: object CredentialName: description: The name of the Credential in our System. type: string HashiCorpConfigurationRequiredProp: allOf: - $ref: '#/components/schemas/HashiCorpConfiguration' description: The configuration for the HashiCorp app. It's required to set the value for the `cmsType` property to `hashicorp`. required: - url UpdateCredentialRequest: description: The properties representing a credential to update. properties: cmsConfigId: $ref: '#/components/schemas/CMSConfId' credentialDetails: $ref: '#/components/schemas/UpdateCredentialDetails' id: $ref: '#/components/schemas/CredentialId' name: $ref: '#/components/schemas/CredentialName' teamsIds: $ref: '#/components/schemas/TeamsIds' required: - id type: object UpdateCyberArkCredDetails: allOf: - $ref: '#/components/schemas/CyberArkDetails' UpdateCMSDetails: oneOf: - $ref: '#/components/schemas/UpdateCyberArkDetails' - $ref: '#/components/schemas/UpdateHashiCorpDetails' CreateCMSConfigurationsRequest: description: The array of Credential Manager Service configurations to create. properties: cmsConfigurations: items: $ref: '#/components/schemas/CreateCMSConfigurationRequest' minItems: 1 type: array required: - cmsConfigurations type: object AppRoleAuthenticationData: properties: roleId: description: The Role ID used for authentication with the underlying credentials provider. type: string secretId: description: The Secret ID used for authentication with the underlying credentials provider. type: string type: object CyberArkConfiguration: allOf: - properties: appID: $ref: '#/components/schemas/AppId' baseUrl: $ref: '#/components/schemas/CMSURL' type: object - $ref: '#/components/schemas/CertificateCredentialData' description: The configuration for the CyberArk app. It's required to set the value for the `cmsType` property to `cyberark`. TestCredentialResponse: description: The result of testing access to the credential. properties: workflowId: format: uuid type: string workflowName: type: string required: - workflowId - workflowName type: object ResponseCredentialDetails: oneOf: - $ref: '#/components/schemas/ResponseCyberArkCredDetails' - $ref: '#/components/schemas/ResponseHashiCorpCredDetails' TestCredentialRequest: description: The properties representing a credential to test. properties: authType: $ref: '#/components/schemas/AuthType' cmsType: $ref: '#/components/schemas/CMSType' credentialDetails: $ref: '#/components/schemas/TestCredentialDetails' id: $ref: '#/components/schemas/CredentialId' wsClientId: description: An ID where you can subscribe to receive the response of the workflow. type: string required: - wsClientId type: object CreateCredentialDetails: oneOf: - $ref: '#/components/schemas/CreateCyberArkCredDetails' - $ref: '#/components/schemas/CreateHashiCorpCredDetails' DeleteCredentialsResponse: description: The response for the delete credentials action. properties: count: type: integer idsCredentialsDeleted: items: $ref: '#/components/schemas/CredentialId' minItems: 1 type: array required: - idsCredentialsDeleted - count type: object UpdateHashiCorpCredDetails: allOf: - $ref: '#/components/schemas/HashiCorpDetails' References: description: The machines referenced. items: $ref: '#/components/schemas/Reference' type: array uniqueItems: true CreatedBy: description: The ID of the user whom created the credential. type: string CreatedOn: description: The date in ISO 8601 full-date format when the credential was created. format: date type: string CreateHashiCorpCredDetails: allOf: - $ref: '#/components/schemas/HashiCorpDetailsRequiredProp' CMSAuthenticationType: description: "The authentication type for the privileged access management:\n * `certificate` - For authentication with a Certificate bundle\n * `userPassword` - For authentication with user and password\n * `token` - For authentication with token\n * `appRole` - For authentication with AppRole\n" enum: - certificate - userPassword - token - appRole type: string CreateHashiCorpDetails: allOf: - $ref: '#/components/schemas/HashiCorpConfigurationRequiredProp' ResponseHashiCorpCredDetails: allOf: - $ref: '#/components/schemas/HashiCorpDetailsRequiredProp' CreateCyberArkDetails: allOf: - $ref: '#/components/schemas/CyberArkConfigurationRequiredProp' GetCMSConfigurationsResponse: description: The array of Credential Manager Service configurations received. properties: cmsConfigurations: items: $ref: '#/components/schemas/CMSConfigurationResponse' minItems: 1 type: array count: type: integer required: - cmsConfigurations - count type: object TestHashiCorpDetails: allOf: - $ref: '#/components/schemas/HashiCorpConfigurationRequiredProp' Error2: description: Hold the error details. properties: args: description: List of arguments used to generate the error message. items: type: object type: array code: description: The error code. type: integer message: description: The error message. type: string required: - code - message type: object CredentialResponse: description: The properties representing a Credential for response purposes. properties: authType: $ref: '#/components/schemas/AuthType' cmsConfigId: $ref: '#/components/schemas/CMSConfId' cmsType: $ref: '#/components/schemas/CMSType' createdBy: $ref: '#/components/schemas/CreatedBy' createdOn: $ref: '#/components/schemas/CreatedOn' credentialDetails: $ref: '#/components/schemas/ResponseCredentialDetails' id: $ref: '#/components/schemas/CredentialId' lastModifiedBy: $ref: '#/components/schemas/LastModifiedBy' lastModifiedOn: $ref: '#/components/schemas/LastModifiedOn' name: $ref: '#/components/schemas/CredentialName' references: $ref: '#/components/schemas/References' teamsIds: $ref: '#/components/schemas/TeamsIds' tsgId: $ref: '#/components/schemas/TSGId' required: - id - name - cmsConfigId - authType - cmsType type: object TestHashiCorpCredDetails: allOf: - $ref: '#/components/schemas/HashiCorpDetails' VSatelliteIds: description: An array of the VSatellite Ids which are connected to the CMS provider. items: $ref: '#/components/schemas/VSatelliteId' minItems: 1 type: array uniqueItems: true ResponseCyberArkCredDetails: allOf: - $ref: '#/components/schemas/CyberArkDetailsRequiredProp' TestCMSConfigurationRequest: description: The information representing a Credential Manager Service configuration for test purposes. properties: cmsDetails: $ref: '#/components/schemas/TestCMSDetails' cmsType: $ref: '#/components/schemas/CMSType' id: $ref: '#/components/schemas/CMSConfId' name: $ref: '#/components/schemas/Name' vSatelliteIds: $ref: '#/components/schemas/VSatelliteIds' wsClientId: description: An ID where you can subscribe to receive the response of the workflow. type: string required: - wsClientId type: object AddCredentialsResponse: description: The response for the add credentials action. properties: count: type: integer credentialsAdded: items: $ref: '#/components/schemas/CredentialResponse' minItems: 1 type: array required: - credentialsAdded - count type: object CyberArkDetailsRequiredProp: allOf: - $ref: '#/components/schemas/CyberArkDetails' required: - objectName - safe TokenAuthenticationData: properties: token: description: The token used for authentication with the underlying credentials provider. type: string type: object TSGId: description: The TSG identifier the credential belongs to. type: string ResponseHashiCorpDetails: allOf: - $ref: '#/components/schemas/HashiCorpConfiguration' TestCyberArkDetails: allOf: - $ref: '#/components/schemas/CyberArkConfigurationRequiredProp' CreateCMSConfigurationRequest: description: The information representing a Credential Manager Service configuration for creation purpose. properties: cmsDetails: $ref: '#/components/schemas/CreateCMSDetails' cmsType: $ref: '#/components/schemas/CMSType' consumerTsgIds: description: List of sub-TSG IDs the configuration is explicitly shared with. Mutually exclusive with shareWithAll=true. items: type: string type: array name: $ref: '#/components/schemas/Name' shareWithAll: description: When true, the configuration is shared with all sub-TSGs. type: boolean vSatelliteIds: $ref: '#/components/schemas/VSatelliteIds' required: - cmsType - vSatelliteIds - cmsDetails type: object AddCredentialRequest: description: The properties representing a credential to add. properties: authType: $ref: '#/components/schemas/AuthType' cmsConfigId: $ref: '#/components/schemas/CMSConfId' cmsType: $ref: '#/components/schemas/CMSType' credentialDetails: $ref: '#/components/schemas/CreateCredentialDetails' name: $ref: '#/components/schemas/CredentialName' teamsIds: $ref: '#/components/schemas/TeamsIds' required: - name - cmsType - authType - credentialDetails type: object ResponseCyberArkDetails: allOf: - $ref: '#/components/schemas/CyberArkConfiguration' CredentialId: description: The ID of the Credential in our System. example: 94e86140-d85f-11ed-afa1-0242ac120002 format: uuid type: string ReferenceType: description: "The type of the reference:\n * `machine`\n" enum: - machine type: string ResponseCMSDetails: description: An string containing the JSON content representing the details of the specific privileged access management. oneOf: - $ref: '#/components/schemas/ResponseCyberArkDetails' - $ref: '#/components/schemas/ResponseHashiCorpDetails' CompanyId: description: The company ID format: uuid readOnly: true type: string CreateCyberArkCredDetails: allOf: - $ref: '#/components/schemas/CyberArkDetailsRequiredProp' UpdateCMSConfigurationRequest: description: The information representing a Credential Manager Service configuration for update. properties: cmsDetails: $ref: '#/components/schemas/UpdateCMSDetails' consumerTsgIds: description: List of sub-TSG IDs the configuration is explicitly shared with. Mutually exclusive with shareWithAll=true. items: type: string type: array id: $ref: '#/components/schemas/CMSConfId' name: $ref: '#/components/schemas/Name' shareWithAll: description: When true, the configuration is shared with all sub-TSGs. type: boolean vSatelliteIds: $ref: '#/components/schemas/VSatelliteIds' required: - id type: object CyberArkConfigurationRequiredProp: allOf: - $ref: '#/components/schemas/CyberArkConfiguration' description: The configuration for the CyberArk app. It's required to set the value for the `cmsType` property to `cyberark`. required: - appID - baseUrl examples: 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 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 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 200TestCyberArkCredExample: value: workflowId: 17700d91-cdee-4f23-a841-0345ea6d61a1 workflowName: validateCredential 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 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 \nthe `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 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 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 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 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 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 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 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 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 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 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 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 200TestCyberArkConfExample: value: workflowId: 17700d91-cdee-4f23-a841-0345ea6d61a1 workflowName: validateConfiguration 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 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 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 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 responses: 200GetCMSConfiguration: content: application/json: examples: CyberArk: $ref: '#/components/examples/200GetCyberArkConfExample' schema: $ref: '#/components/schemas/CMSConfigurationResponse' description: The Credential Manager Service configuration 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. 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. 201CreateCMSConfigurations: content: application/json: examples: CyberArk: $ref: '#/components/examples/201CreatedCyberArksConfExample' schema: $ref: '#/components/schemas/CreateCMSConfigurationsResponse' description: The Credential Manager Service configurations created. 200DeleteCredentials: content: application/json: examples: CyberArk: $ref: '#/components/examples/200DeletedCyberArksCredExample' schema: $ref: '#/components/schemas/DeleteCredentialsResponse' description: The credentials deleted successfully. 200UpdateCredential: content: application/json: examples: CyberArk: $ref: '#/components/examples/200UpdatedCyberArkCredExample' schema: $ref: '#/components/schemas/CredentialResponse' description: The credentials updated successfully. 400BadRequest: content: application/json: examples: Unsupported_type: $ref: '#/components/examples/400UnsupportedCMSTypeExample' schema: $ref: '#/components/schemas/ErrorResponse5' description: Bad request. 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. 200GetCMSConfigurations: content: application/json: examples: CyberArk: $ref: '#/components/examples/200GetCyberArksConfExample' schema: $ref: '#/components/schemas/GetCMSConfigurationsResponse' description: The Credential Manager Service configurations received. 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. 200UpdateCMSConfiguration: content: application/json: examples: CyberArk: $ref: '#/components/examples/200UpdatedCyberArkConfExample' schema: $ref: '#/components/schemas/CMSConfigurationResponse' description: The Credential Manager Service configurations updated. 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. 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. 201AddCredentials: content: application/json: examples: CyberArk: $ref: '#/components/examples/201AddedCyberArksCredExample' schema: $ref: '#/components/schemas/AddCredentialsResponse' description: The credentials added successfully. 200TestCredential: content: application/json: examples: CyberArk: $ref: '#/components/examples/200TestCyberArkCredExample' schema: $ref: '#/components/schemas/TestCredentialResponse' description: Connection test to credential successful. 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. parameters: CredentialIdsParam: description: The credential Ids separated by commas. explode: false in: query name: ids schema: items: $ref: '#/components/schemas/CredentialId' 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' CredentialIdParam: description: The credential Id. in: path name: id required: true schema: $ref: '#/components/schemas/CredentialId' 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 TeamIdsParam: description: The team Ids separated by commas. explode: false in: query name: teamIds schema: items: $ref: '#/components/schemas/TeamId' minItems: 1 type: array 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 AuthTypesParam: description: The authentication types separated by commas. explode: false in: query name: authTypes schema: items: $ref: '#/components/schemas/AuthType' minItems: 1 type: array requestBodies: 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. 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. UpdateCredentialBodyRequest: content: application/json: examples: CyberArk: $ref: '#/components/examples/UpdateCyberArkCredRequestBodyExample' schema: $ref: '#/components/schemas/UpdateCredentialRequest' description: The body request to update the given credential. 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. 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. 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. securitySchemes: service-account: in: header name: service-account type: apiKey tppl-api-key: in: header name: tppl-api-key type: apiKey x-readme: samples-languages: - curl - go - java - javascript - node - python