Skyvern: Get all credentials
Skyvern credentials.getCredentials: arguments, response, policy and SDK examples.
← Credentials operations · Get started
Operation skyvern.get_credentials_v1_credentials_get
Provider route: GET /v1/credentials. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/skyvern with npm, or alter-sdk-skyvern with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { SkyvernIntegration } from "@alter-ai/skyvern";
async function execute(input: Parameters<SkyvernIntegration["credentials"]["getCredentials"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new SkyvernIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.credentials.getCredentials(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_skyvern import SkyvernIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = SkyvernIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.credentials.get_credentials(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
query | object | Optional | Additional keys: not allowed |
query.page | integer | Optional | Page number for pagination Default: 1 Minimum: 1 |
query.page_size | integer | Optional | Number of items per page Default: 10 Minimum: 1 |
query.vault_type | JSON | Optional | Filter credentials by vault type (e.g. ‘skyvern’, ‘custom’, ‘bitwarden’, ‘azure_vault’) |
query.vault_type (anyOf 1) | string | Alternative | One of: skyvern, bitwarden, azure_vault, gcp, custom, onepassword, bitwarden_connected |
query.vault_type (anyOf 2) | null | Alternative | |
query.credential_type | JSON | Optional | Filter credentials by type (e.g. ‘password’, ‘credit_card’, ‘secret’) |
query.credential_type (anyOf 1) | string | Alternative | Type of credential stored in the system. One of: password, credit_card, secret |
query.credential_type (anyOf 2) | null | Alternative | |
query.search | JSON | Optional | Case-insensitive search across credential name, username, secret label, and card details, or an exact credential ID |
query.search (anyOf 1) | string | Alternative | Maximum length: 200 |
query.search (anyOf 2) | null | Alternative |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | array | Root | |
$[] | Model | Each item | Expand Create credential — response body |
Referenced models: Create credential — response body
Schemas
Section titled “Schemas”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 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 |
Update an agent — response body — proxy location city, country, is ISP, subdivision
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Granular proxy geo-targeting request with country, optional subdivision, and optional city. |
city | JSON | Optional | City name in English from GeoNames (e.g., 'New York', 'Los Angeles', 'London') |
city (anyOf 1) | string | Alternative | Maximum length: 100 |
city (anyOf 2) | null | Alternative | |
country | string | Required within parent | ISO 3166-1 alpha-2 country code (e.g., 'US', 'GB', 'DE') Maximum length: 2 Minimum length: 2 |
isISP | boolean | Optional | Whether this geo target is marked as an ISP proxy location. Default: false |
subdivision | JSON | Optional | ISO 3166-2 subdivision code without country prefix (e.g., 'CA' for California, 'NY' for New York) |
subdivision (anyOf 1) | string | Alternative | Maximum length: 10 |
subdivision (anyOf 2) | null | Alternative |
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 |
Update an agent — response body — proxy location string
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | string | Root | Known values: 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 |
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 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: skyvern.get_credentials_v1_credentials_get. Catalog operation: get_credentials_v1_credentials_get. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.