Skyvern: Credentials schemas
11 Skyvern schemas with complete fields and constraints.
← Credentials operations · All schemas
Create credential — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Request model for creating a new credential. |
auto_profile_disabled | boolean | Optional | Disable automatic saving and reuse of this credential's browser profile. Default: false |
browser_profile_id | JSON | Optional | Optional plain browser profile to link as this credential's saved profile. Must be an unmanaged profile in your organization that no other credential already owns. |
browser_profile_id (anyOf 1) | string | Alternative | |
browser_profile_id (anyOf 2) | null | Alternative | |
credential | JSON | Required within parent | The credential data to store |
credential (anyOf 1) | Model | Alternative | Expand Create credential — request body — body / credential / totp_type: authenticator, email, text, passkey, none |
credential (anyOf 2) | Model | Alternative | Expand Create credential — request body — body credential billing address, billing email, billing phone, card brand, card cvv, card exp month, card exp year, card holder name, card number, metadata |
credential (anyOf 3) | Model | Alternative | Expand Create credential — request body — body credential Generic secret credential |
credential_type | string | Required within parent | Type of credential stored in the system. Type of credential to create One of: password, credit_card, secret |
name | string | Required within parent | Name of the credential |
pin_saved_session_ip | boolean | Optional | Keep the same IP across sign-ins that reuse this credential's saved profile. Default: false |
proxy_location | JSON | Optional | Optional proxy location for this credential's pinned proxy identity. |
proxy_location (anyOf 1) | string | Alternative | One of: RESIDENTIAL, US-CA, US-NY, US-TX, US-FL, US-WA, RESIDENTIAL_ES, RESIDENTIAL_IE, RESIDENTIAL_GB, RESIDENTIAL_IN, RESIDENTIAL_JP, RESIDENTIAL_FR, RESIDENTIAL_DE, RESIDENTIAL_NZ, RESIDENTIAL_ZA, RESIDENTIAL_AR, RESIDENTIAL_AU, RESIDENTIAL_BR, RESIDENTIAL_TR, RESIDENTIAL_CA, RESIDENTIAL_MX, RESIDENTIAL_IT, RESIDENTIAL_NL, RESIDENTIAL_PH, RESIDENTIAL_KR, RESIDENTIAL_SA, RESIDENTIAL_ISP, NONE |
proxy_location (anyOf 2) | Model | Alternative | Expand Update an agent — response body — proxy location city, country, is ISP, subdivision |
proxy_location (anyOf 3) | object | Alternative | Additional keys: allowed |
proxy_location (anyOf 4) | null | Alternative | |
proxy_session_id | JSON | Optional | Optional advanced reuse key for this credential's pinned proxy identity. |
proxy_session_id (anyOf 1) | string | Alternative | |
proxy_session_id (anyOf 2) | null | Alternative | |
rotate_proxy_session_id | boolean | Optional | Rotate the Skyvern-managed proxy sticky-session id when updating this credential. Default: false |
tested_url | JSON | Optional | Login page URL used during the credential test |
tested_url (anyOf 1) | string | Alternative | |
tested_url (anyOf 2) | null | Alternative | |
vault_type | JSON | Optional | 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. |
vault_type (anyOf 1) | string | Alternative | One of: skyvern, bitwarden, azure_vault, gcp, custom, onepassword, bitwarden_connected |
vault_type (anyOf 2) | null | Alternative |
Referenced models: Update an agent — response body — proxy location city, country, is ISP, subdivision, Create credential — request body — body credential billing address, billing email, billing phone, card brand, card cvv, card exp month, card exp year, card holder name, card number, metadata, Create credential — request body — body / credential / totp_type: authenticator, email, text, passkey, none, Create credential — request body — body credential Generic secret credential
Create credential — request body — body / credential / totp_type: authenticator, email, text, passkey, none
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Password credential model for API writes: non-empty username, optionally empty password. |
metadata | JSON | Optional | Optional additional password credential metadata fields |
metadata (anyOf 1) | object | Alternative | Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | |
metadata (anyOf 2) | null | Alternative | |
password | string | Optional | The password value; may be empty or omitted for logins that have no password Default: |
totp | JSON | Optional | Optional TOTP (Time-based One-Time Password) string used to generate 2FA codes |
totp (anyOf 1) | string | Alternative | |
totp (anyOf 2) | null | Alternative | |
totp_identifier | JSON | Optional | Identifier (email or phone number) used to fetch TOTP codes |
totp_identifier (anyOf 1) | string | Alternative | |
totp_identifier (anyOf 2) | null | Alternative | |
totp_type | string | Optional | Type of 2FA/TOTP method used. Type of 2FA method used for this credential One of: authenticator, email, text, passkey, none Default: none |
username | string | Required within parent | The username associated with the credential (must not be empty) Minimum length: 1 |
Create credential — request body — body credential Generic secret credential
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Generic secret credential. |
secret_label | JSON | Optional | Optional label describing the secret |
secret_label (anyOf 1) | string | Alternative | |
secret_label (anyOf 2) | null | Alternative | |
secret_value | string | Required within parent | The secret value Minimum length: 1 |
Create credential — request body — body credential billing address, billing email, billing phone, card brand, card cvv, card exp month, card exp year, card holder name, card number, metadata
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Credit card credential model that requires non-empty values. |
billing_address | JSON | Optional | Optional billing address associated with the card |
billing_address (anyOf 1) | Model | Alternative | Expand Create credential — request body — body credential billing address, billing email, billing phone, card brand, card cvv, card exp month, card exp year, card holder name, card number, metadata billing address city, country, country code, line1, line2, postal code, state, state code |
billing_address (anyOf 2) | null | Alternative | |
billing_email | JSON | Optional | Optional billing email address |
billing_email (anyOf 1) | string | Alternative | |
billing_email (anyOf 2) | null | Alternative | |
billing_phone | JSON | Optional | Optional billing phone number |
billing_phone (anyOf 1) | string | Alternative | |
billing_phone (anyOf 2) | null | Alternative | |
card_brand | string | Required within parent | The card's brand (must not be empty) Minimum length: 1 |
card_cvv | string | Required within parent | The card's CVV (must not be empty) Minimum length: 1 |
card_exp_month | string | Required within parent | The card's expiration month (must not be empty) Minimum length: 1 |
card_exp_year | string | Required within parent | The card's expiration year (must not be empty) Minimum length: 1 |
card_holder_name | string | Required within parent | The name of the card holder (must not be empty) Minimum length: 1 |
card_number | string | Required within parent | The full credit card number (must not be empty) Minimum length: 1 |
metadata | JSON | Optional | Optional additional credit card metadata fields |
metadata (anyOf 1) | object | Alternative | Additional keys: see wildcard field |
metadata (anyOf 1).* | string | Additional keys | |
metadata (anyOf 2) | null | Alternative |
Create credential — request body — body credential billing address, billing email, billing phone, card brand, card cvv, card exp month, card exp year, card holder name, card number, metadata billing address city, country, country code, line1, line2, postal code, state, state code
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Optional billing address fields associated with a credit card credential. |
city | JSON | Optional | Billing city |
city (anyOf 1) | string | Alternative | |
city (anyOf 2) | null | Alternative | |
country | JSON | Optional | Billing country |
country (anyOf 1) | string | Alternative | |
country (anyOf 2) | null | Alternative | |
country_code | JSON | Optional | ISO 3166-1 alpha-2 billing country code |
country_code (anyOf 1) | string | Alternative | |
country_code (anyOf 2) | null | Alternative | |
line1 | JSON | Optional | Billing address line 1 |
line1 (anyOf 1) | string | Alternative | |
line1 (anyOf 2) | null | Alternative | |
line2 | JSON | Optional | Billing address line 2 |
line2 (anyOf 1) | string | Alternative | |
line2 (anyOf 2) | null | Alternative | |
postal_code | JSON | Optional | Billing postal code |
postal_code (anyOf 1) | string | Alternative | |
postal_code (anyOf 2) | null | Alternative | |
state | JSON | Optional | Billing state or region |
state (anyOf 1) | string | Alternative | |
state (anyOf 2) | null | Alternative | |
state_code | JSON | Optional | Billing state or region code |
state_code (anyOf 1) | string | Alternative | |
state_code (anyOf 2) | null | Alternative |
Create credential — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Response model for credential operations. |
auto_profile_disabled | JSON | Optional | Whether automatic saving and reuse of this credential's browser profile is disabled. |
auto_profile_disabled (anyOf 1) | boolean | Alternative | |
auto_profile_disabled (anyOf 2) | null | Alternative | |
browser_profile_id | JSON | Optional | Browser profile ID linked to this credential |
browser_profile_id (anyOf 1) | string | Alternative | |
browser_profile_id (anyOf 2) | null | Alternative | |
created_by | JSON | Optional | ID of the user who created the credential |
created_by (anyOf 1) | string | Alternative | |
created_by (anyOf 2) | null | Alternative | |
credential | JSON | Required within parent | The credential data |
credential (anyOf 1) | Model | Alternative | Expand Create credential — response body — credential / totp_type: authenticator, email, text, passkey, none |
credential (anyOf 2) | Model | Alternative | Expand Create credential — response body — credential brand, last four |
credential (anyOf 3) | Model | Alternative | Expand Create credential — response body — credential secret label |
credential_id | string | Required within parent | Unique identifier for the credential |
credential_type | string | Required within parent | Type of credential stored in the system. Type of the credential Known values: password, credit_card, secret |
folder_id | JSON | Optional | ID of the credential folder this credential belongs to, if any |
folder_id (anyOf 1) | string | Alternative | |
folder_id (anyOf 2) | null | Alternative | |
item_id | JSON | Optional | 1Password item ID for linked credentials |
item_id (anyOf 1) | string | Alternative | |
item_id (anyOf 2) | null | Alternative | |
name | string | Required within parent | Name of the credential |
pin_saved_session_ip | boolean | Optional | Whether sign-ins reusing this credential's saved profile keep the same IP Default: false |
proxy_location | JSON | Optional | Optional proxy location used for the credential's pinned proxy identity. |
proxy_location (anyOf 1) | Model | Alternative | Expand Update an agent — response body — proxy location string |
proxy_location (anyOf 2) | Model | Alternative | Expand Update an agent — response body — proxy location city, country, is ISP, subdivision |
proxy_location (anyOf 3) | object | Alternative | Additional keys: allowed |
proxy_location (anyOf 4) | null | Alternative | |
proxy_session_id | JSON | Optional | Opaque Skyvern-managed proxy sticky-session id. |
proxy_session_id (anyOf 1) | string | Alternative | |
proxy_session_id (anyOf 2) | null | Alternative | |
run_sequentially | boolean | Optional | Default: false |
save_browser_session_intent | JSON | Optional | Whether the user intends to save a browser session, regardless of test outcome |
save_browser_session_intent (anyOf 1) | boolean | Alternative | |
save_browser_session_intent (anyOf 2) | null | Alternative | |
tested_url | JSON | Optional | Login page URL used during the credential test |
tested_url (anyOf 1) | string | Alternative | |
tested_url (anyOf 2) | null | Alternative | |
upstream_missing_at | JSON | Optional | When the linked 1Password item was last found missing upstream |
upstream_missing_at (anyOf 1) | string | Alternative | Format: date-time |
upstream_missing_at (anyOf 2) | null | Alternative | |
user_context | JSON | Optional | User-provided context describing the login sequence (e.g., 'click SSO button first') |
user_context (anyOf 1) | string | Alternative | |
user_context (anyOf 2) | null | Alternative | |
vault_id | JSON | Optional | 1Password vault ID for linked credentials |
vault_id (anyOf 1) | string | Alternative | |
vault_id (anyOf 2) | null | Alternative | |
vault_type | JSON | Optional | Which vault stores this credential (e.g., 'skyvern', 'bitwarden', 'azure_vault', 'custom') |
vault_type (anyOf 1) | string | Alternative | Known values: skyvern, bitwarden, azure_vault, gcp, custom, onepassword, bitwarden_connected |
vault_type (anyOf 2) | null | Alternative |
Referenced models: Create credential — response body — credential brand, last four, Update an agent — response body — proxy location city, country, is ISP, subdivision, Create credential — response body — credential / totp_type: authenticator, email, text, passkey, none, Update an agent — response body — proxy location string, Create credential — response body — credential secret label
Create credential — response body — credential / totp_type: authenticator, email, text, passkey, none
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Response model for password credentials — non-sensitive fields only. SECURITY: Must NEVER include password or TOTP secret. |
has_totp | boolean | Optional | Whether the stored password credential includes a non-empty TOTP seed. Legacy rows with an unknown value report false until the credential is updated. Default: false |
totp_identifier | JSON | Optional | Identifier (email or phone number) used to fetch TOTP codes |
totp_identifier (anyOf 1) | string | Alternative | |
totp_identifier (anyOf 2) | null | Alternative | |
totp_type | string | Optional | Type of 2FA/TOTP method used. Type of 2FA method used for this credential Known values: authenticator, email, text, passkey, none Default: none |
username | string | Required within parent | The username associated with the credential |
Create credential — response body — credential brand, last four
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Response model for credit card credentials — non-sensitive fields only. SECURITY: Must NEVER include full card number, CVV, expiration date, card holder name, billing fields, or metadata. |
brand | string | Required within parent | Brand of the credit card |
last_four | string | Required within parent | Last four digits of the credit card number |
Create credential — response body — credential secret label
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Response model for secret credentials — non-sensitive fields only. SECURITY: Must NEVER include the secret_value. |
secret_label | JSON | Optional | Optional label for the stored secret |
secret_label (anyOf 1) | string | Alternative | |
secret_label (anyOf 2) | null | Alternative |
Send TOTP code — request body — body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
content | string | Required within parent | The content of the TOTP code. It can be the email content that contains the TOTP code, or the sms message that contains the TOTP code. Skyvern will automatically extract the TOTP code from the content. |
expired_at | JSON | Optional | The timestamp when the TOTP code expires |
expired_at (anyOf 1) | string | Alternative | Format: date-time |
expired_at (anyOf 2) | null | Alternative | |
source | JSON | Optional | An optional field. The source of the TOTP code. e.g. email, sms, etc. |
source (anyOf 1) | string | Alternative | |
source (anyOf 2) | null | Alternative | |
task_id | JSON | Optional | The task_id the totp code is for. It can be the task_id of the task that the TOTP code is for. |
task_id (anyOf 1) | string | Alternative | |
task_id (anyOf 2) | null | Alternative | |
totp_identifier | string | Required within parent | The identifier of the TOTP code. It can be the email address, phone number, or the identifier of the user. |
type | JSON | Optional | Deprecated compatibility field. Skyvern auto-detects the OTP type from content, so this value does not constrain extraction. |
type (anyOf 1) | string | Alternative | One of: totp, magic_link |
type (anyOf 2) | null | Alternative | |
workflow_id | JSON | Optional | The workflow ID the TOTP code is for. It can be the workflow ID of the workflow that the TOTP code is for. |
workflow_id (anyOf 1) | string | Alternative | |
workflow_id (anyOf 2) | null | Alternative | |
workflow_run_id | JSON | Optional | The workflow run id that the TOTP code is for. It can be the workflow run id of the workflow run that the TOTP code is for. |
workflow_run_id (anyOf 1) | string | Alternative | |
workflow_run_id (anyOf 2) | null | Alternative |
Send TOTP code — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
code | string | Required within parent | The TOTP code extracted from the content. |
content | string | Required within parent | The content of the TOTP code. It can be the email content that contains the TOTP code, or the sms message that contains the TOTP code. Skyvern will automatically extract the TOTP code from the content. |
created_at | string | Required within parent | The timestamp when the TOTP code was created. Format: date-time |
expired_at | JSON | Optional | The timestamp when the TOTP code expires |
expired_at (anyOf 1) | string | Alternative | Format: date-time |
expired_at (anyOf 2) | null | Alternative | |
modified_at | string | Required within parent | The timestamp when the TOTP code was modified. Format: date-time |
organization_id | string | Required within parent | The ID of the organization that the TOTP code is for. |
otp_type | JSON | Optional | The type of the OTP code. |
otp_type (anyOf 1) | string | Alternative | Known values: totp, magic_link |
otp_type (anyOf 2) | null | Alternative | |
source | JSON | Optional | An optional field. The source of the TOTP code. e.g. email, sms, etc. |
source (anyOf 1) | string | Alternative | |
source (anyOf 2) | null | Alternative | |
task_id | JSON | Optional | The task_id the totp code is for. It can be the task_id of the task that the TOTP code is for. |
task_id (anyOf 1) | string | Alternative | |
task_id (anyOf 2) | null | Alternative | |
totp_code_id | string | Required within parent | The skyvern ID of the TOTP code. |
totp_identifier | string | Required within parent | The identifier of the TOTP code. It can be the email address, phone number, or the identifier of the user. |
type | JSON | Optional | Deprecated compatibility field. Skyvern auto-detects the OTP type from content, so this value does not constrain extraction. |
type (anyOf 1) | string | Alternative | Known values: totp, magic_link |
type (anyOf 2) | null | Alternative | |
workflow_id | JSON | Optional | The workflow ID the TOTP code is for. It can be the workflow ID of the workflow that the TOTP code is for. |
workflow_id (anyOf 1) | string | Alternative | |
workflow_id (anyOf 2) | null | Alternative | |
workflow_run_id | JSON | Optional | The workflow run id that the TOTP code is for. It can be the workflow run id of the workflow run that the TOTP code is for. |
workflow_run_id (anyOf 1) | string | Alternative | |
workflow_run_id (anyOf 2) | null | Alternative |