Skip to main content
POST
/
v1
/
credentials
Create credential
curl --request POST \
  --url https://api.skyvern.com/v1/credentials \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "credential_type": "password",
  "credential": {
    "password": "securepassword123",
    "username": "user@example.com"
  },
  "vault_type": "custom"
}
'
{
  "credential_id": "<string>",
  "credential": {
    "username": "<string>",
    "totp_type": "none",
    "totp_identifier": "user@example.com"
  },
  "credential_type": "password",
  "name": "<string>",
  "vault_type": "bitwarden",
  "browser_profile_id": "<string>",
  "tested_url": "<string>",
  "user_context": "<string>",
  "save_browser_session_intent": true
}

Headers

x-api-key
string | null

Skyvern API key for authentication. API key can be found at https://app.skyvern.com/settings.

Body

application/json

The credential data to create

name
string
required

Name of the credential

Example:

"Amazon Login"

credential_type
enum<string>
required

Type of credential to create

Available options:
password,
credit_card,
secret
credential
NonEmptyPasswordCredential · object
required

Password credential model that requires non-empty values.

Example:
{
"password": "securepassword123",
"username": "user@example.com"
}
vault_type
enum<string> | null

Which vault to store this credential in. If omitted, uses the instance default. Use this to mix Skyvern-hosted and custom credentials within the same organization.

Available options:
bitwarden,
azure_vault,
custom
Example:

"custom"

Response

Successful Response

Response model for credential operations.

credential_id
string
required

Unique identifier for the credential

Example:

"cred_1234567890"

credential
PasswordCredentialResponse · object
required

Response model for password credentials — non-sensitive fields only.

SECURITY: Must NEVER include password or TOTP secret.

credential_type
enum<string>
required

Type of the credential

Available options:
password,
credit_card,
secret
name
string
required

Name of the credential

Example:

"Amazon Login"

vault_type
enum<string> | null

Which vault stores this credential (e.g., 'bitwarden', 'azure_vault', 'custom')

Available options:
bitwarden,
azure_vault,
custom
browser_profile_id
string | null

Browser profile ID linked to this credential

tested_url
string | null

Login page URL used during the credential test

user_context
string | null

User-provided context describing the login sequence (e.g., 'click SSO button first')

save_browser_session_intent
boolean | null

Whether the user intends to save a browser session, regardless of test outcome