• Home
  • Dynatrace API
  • Environment
  • Credential vault
  • POST a set of credentials

Credential vault API - POST a set of credentials

Creates a new set of credentials for synthetic monitors.

The request consumes and produces an application/json payload.

POSTManagedDynatrace for Governmenthttps://{your-domain}/e/{your-environment-id}/api/v2/credentials
SaaShttps://{your-environment-id}.live.dynatrace.com/api/v2/credentials
Environment ActiveGatehttps://{your-activegate-domain}/e/{your-environment-id}/api/v2/credentials

Authentication

To execute this request, you need an access token with credentialVault.write scope.

To learn how to obtain and use it, see Tokens and authentication.

Parameters

Refer to JSON models to find all JSON models that depend on the type of the model.

ParameterTypeDescriptionInRequired
bodyCredentials

The JSON body of the request. Contains parameters of the new credentials set.

bodyrequired

Request body objects

The Credentials object

A set of credentials for synthetic monitors.

The actual set of fields depends on the type of credentials. Find the list of actual objects in the description of the type field or see Credential vault API - JSON models.

ElementTypeDescriptionRequired
namestring

The name of the credentials set.

required
idstring

The ID of the credentials set.

optional
descriptionstring

A short description of the credentials set.

optional
ownerAccessOnlyboolean

The credentials set is available to every user (false) or to owner only (true).

optional
scopestring

The scope of the credentials set.

The element can hold these values
  • ALL
  • EXTENSION
  • SYNTHETIC
  • UNKNOWN
required
typestring

Defines the actual set of fields depending on the value. See one of the following objects:

  • CERTIFICATE -> CertificateCredentials
  • PUBLIC_CERTIFICATE -> PublicCertificateCredentials
  • USERNAME_PASSWORD -> UserPasswordCredentials
  • TOKEN -> TokenCredentials
The element can hold these values
  • CERTIFICATE
  • PUBLIC_CERTIFICATE
  • TOKEN
  • USERNAME_PASSWORD
optional

Request body JSON model

This is a model of the request body, showing the possible elements. It has to be adjusted for usage in an actual request.

json
{ "name": "Sample credentials", "type": "USERNAME_PASSWORD", "description": "Sample set of credentials for API documentation", "user": "john.smith", "password": "1234abcd", "ownerAccessOnly": true, "scope": "SYNTHETIC" }

Response

Response codes

CodeTypeDescription
201CredentialsResponseElement

Success. The new credentials set has been created. The response contains the ID of the set.

400ErrorEnvelope

Failed. Requested credentials with unsupported scope. Only APP_ENGINE scope is supported

403ErrorEnvelope

Failed. Requested credentials belong to another user

Response body objects

The CredentialsResponseElement object

Metadata of the credentials set.

ElementTypeDescription
namestring

The name of the credentials set.

idstring

The ID of the credentials set.

descriptionstring

A short description of the credentials set.

ownerstring

The owner of the credential (user for which used API token was created).

ownerAccessOnlyboolean

Flag indicating that this credential is visible only to the owner.

scopestring

The scope of the credentials set.

The element can hold these values
  • ALL
  • EXTENSION
  • SYNTHETIC
  • UNKNOWN
externalVaultExternalVaultConfig

Configuration for external vault synchronization for username and password credentials.

credentialUsageSummaryCredentialUsageHandler[]

The list contains summary data related to the use of credentials.

typestring

The type of the credentials set.

The element can hold these values
  • CERTIFICATE
  • PUBLIC_CERTIFICATE
  • TOKEN
  • UNKNOWN
  • USERNAME_PASSWORD

The ExternalVaultConfig object

Configuration for external vault synchronization for username and password credentials.

ElementTypeDescription
sourceAuthMethodstring

Defines the actual set of fields depending on the value. See one of the following objects:

  • HASHICORP_VAULT_APPROLE -> HashicorpApproleConfig
  • HASHICORP_VAULT_CERTIFICATE -> HashicorpCertificateConfig
  • AZURE_KEY_VAULT_CLIENT_SECRET -> AzureClientSecretConfig
The element can hold these values
  • AZURE_KEY_VAULT_CLIENT_SECRET
  • HASHICORP_VAULT_APPROLE
  • HASHICORP_VAULT_CERTIFICATE
vaultUrlstring-
usernameSecretNamestring-
passwordSecretNamestring-
tokenSecretNamestring-
credentialsUsedForExternalSynchronizationstring[]-
typestring-
The element can hold these values
  • AZURE_CERTIFICATE_MODEL
  • AZURE_CLIENT_SECRET_MODEL
  • HASHICORP_APPROLE_MODEL
  • HASHICORP_CERTIFICATE_MODEL

The CredentialUsageHandler object

Keeps information about credential's usage.

ElementTypeDescription
typestring

Type of usage.

countinteger

The number of uses.

Response body JSON model

json
{ "name": "Sample username-password credentials", "id": "CREDENTIALS_VAULT-C43F2C2E6395AD23", "type": "USERNAME_PASSWORD", "description": "Sample credentials for demo purposes.", "owner": "user@domain.com", "ownerAccessOnly": true, "scope": "SYNTHETIC", "externalVault": { "sourceAuthMethod": "HASHICORP_VAULT_APPROLE", "vaultUrl": "https://vault-cluster.vault.fb17d2fc-be92-4230-afa2-91dbfda3cbad.aws.hashicorp.cloud:8200", "usernameSecretName": "username", "passwordSecretName": "password", "pathToCredentials": "kv/credentials", "roleId": "00e4858c-ec33-bc99-4e7e-34de6967de6c", "secretId": "CREDENTIALS_VAULT-XXXXXXXXXXXXXXXX", "vaultNamespace": "admin" }, "credentialUsageSummary": [ { "HTTP_MONITOR": 3, "BROWSER_MONITOR": 2 } ] }

Example

In this example, the request creates a new set of credentials of the USERNAME_PASSWORD type. The username of the credentials set is john.smith and the password is abcd1234.

The API token is passed in the Authorization header.

You can download or copy the example request body to try it out on your own.

Curl

bash
curl -X POST \ https://mySampleEnv.live.dynatrace.com/api/config/v1/credentials/ \ -H 'Authorization: Api-Token dt0c01.abc123.abcdefjhij1234567890' \ -H 'Content-Type: application/json' \ -d '{ "name": "RESTtest", "description": "Test credentials", "password": "abcd1234", "ownerAccessOnly": true, "type": "USERNAME_PASSWORD", "certificate": "john.smith" }'

Request URL

plaintext
https://mySampleEnv.live.dynatrace.com/api/config/v1/credentials/

Request body

json
{ "name": "RESTtest", "description": "Test credentials", "password": "abcd1234", "ownerAccessOnly": true, "type": "USERNAME_PASSWORD", "user": "john.smith" }

Response body

json
{ "id": "CREDENTIALS_VAULT-1E6EA5075AF7E85D" }

Response code

200

Related topics
  • Configure browser monitors

    Learn about configuring browser monitors and clickpaths.

  • Configure HTTP monitors

    Learn about configuring HTTP monitors.