Credentials let you store login information (username/password, TOTP secrets) securely in Skyvern’s vault. Reference them by ID in tasks and workflows instead of passing secrets in your code.
Python uses snake_case (e.g., create_credential); TypeScript uses camelCase (e.g., createCredential). Parameter tables show Python names. TypeScript names are the camelCase equivalents.
Store a new credential.
credential = await client.create_credential(
name="my-app-login",
credential_type="password",
credential={
"username": "demo@example.com",
"password": "s3cur3-p4ss",
},
)
print(credential.credential_id)
Parameters
| Parameter | Type | Required | Description |
|---|
name | str | Yes | Display name for the credential. |
credential_type | CredentialType | Yes | Type of credential. |
credential | CreateCredentialRequestCredential | Yes | The credential data. Shape depends on credential_type. |
vault_type | CredentialVaultType | No | Which vault to store this credential in. If omitted, uses the default. |
request_options | RequestOptions | No | Per-request configuration (see below). |
Returns CredentialResponse
Request options
Override timeout, retries, or headers for this call by passing request_options (Python) or a second options argument (TypeScript).
from skyvern.client.core import RequestOptions
request_options=RequestOptions(
timeout_in_seconds=120,
max_retries=3,
additional_headers={"x-custom-header": "value"},
)
| Option (Python) | Option (TypeScript) | Type | Description |
|---|
timeout_in_seconds | timeoutInSeconds | int / number | HTTP timeout in seconds. |
max_retries | maxRetries | int / number | Retry count. |
additional_headers | headers | dict / Record<string, string> | Extra headers. |
additional_query_parameters | - | dict | Extra query parameters. |
additional_body_parameters | - | dict | Extra body parameters. |
| - | abortSignal | AbortSignal | Signal to cancel the request. |
| - | apiKey | string | Override API key. |