Overriding the max_steps paramter in the task

If you want the task to execute for a specific number of steps, you can use the x-max-steps-override header in the request. This will override the default max_steps parameter set in the task.

POST https://api.skyvern.com/api/v1/tasks 

Headers:
{
    "x-api-key": "YOUR_API_KEY",
    "x-max-steps-override": 10
}

Body:
.. usual task body ..

Time-based One-time Password (TOTP)

Skyvern supports one-time password (see https://www.twilio.com/docs/glossary/totp for more information) by fetching it from your endpoint. You can pass totp_verification_url when creating a task. Inside this endpoint hosted by you, you have to conform to the following schema:

Set Up Your TOTP Endpoint

For websites that requires a verification code to complete a task, you have to set up a TOTP endpoint for Skyvern to fetch the verification code.

Here’s the TOTP endpoint contract you should use:

Request (POST):

ParameterTypeRequired?Sample ValueDescription
task_idStringyestsk_123The task ID that needs the verification to be done

Response:

ParameterTypeRequired?Sample ValueDescription
task_idStringyestsk_123The task ID that needs the verification to be done
verification_codeStringno123456The verification code

Validate The Sender of The Request

Same as the webhook API, your server needs to make sure it’s Skyvern that’s making the request.

  • a python example for how to generate and validate the signature:
def validate_skyvern_request_headers(request: Request) -> bool:
    header_skyvern_signature = request.headers["x-skyvern-signature"]
    payload = request.body() # this is a bytes
    hash_obj = hmac.new(SKYVERN_API_KEY.encode("utf-8"), msg=payload, digestmod=hashlib.sha256)
    client_generated_signature = hash_obj.hexdigest()
    return header_skyvern_signature == client_generated_signature

SKYVERN_API_KEY: this is the api key specific to your organization