Skyvern: Send TOTP code
Skyvern credentials.sendTotpCode: arguments, response, policy and SDK examples.
← Credentials operations · Get started
Operation skyvern.send_totp_code_v1_credentials_totp_post
Provider route: POST /v1/credentials/totp. 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"]["sendTotpCode"]>[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.sendTotpCode(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.send_totp_code(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
body | Model | Required within parent | Expand Send TOTP code — request body — body |
Referenced models: Send TOTP code — request body — body
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 |
|---|---|---|---|
$ | Model | Root | Expand Send TOTP code — response body |
Referenced models: Send TOTP code — response body
Schemas
Section titled “Schemas”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 |
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 |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: skyvern.send_totp_code_v1_credentials_totp_post. Catalog operation: send_totp_code_v1_credentials_totp_post. 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.