Skip to main content
POST
Schedule a workflow
Takes cron or every, timezone, inputs, and enabled, as in Schedule a skill, without max_results. inputs are checked against the workflow’s inputs. A workflow has one schedule; a second gets 409 with its id. Anyone who may edit the workflow (a viewer gets 403). Needs workflows:write, plus workflows:invoke to create it switched on. MCP tool: schedule_workflow.

Authorizations

Authorization
string
header
required

API key with the vd_sk_ prefix, as Authorization: Bearer vd_sk_.... Create keys in Settings → API Keys.

Headers

Idempotency-Key
string

Any unique string (such as your order id). Resending the same request with the same key within 24 hours returns the first answer (with Idempotent-Replayed: true) and does nothing twice; the same key with a different request is a 422 idempotency_key_reused.

Required string length: 1 - 255

Path Parameters

slug
string
required

Body

application/json
cron
string | null

A 5-field cron expression, e.g. '0 9 * * 1-5'.

every
string | null

Instead of cron: hourly, daily, weekly, daily:HH:MM, weekly:<mon..sun>:HH:MM, or an interval such as 15m, 2h, 1d (interval: also works).

timezone
string
default:UTC

IANA timezone the cron / time of day is in.

inputs
Inputs · object

The inputs every scheduled run gets.

enabled
boolean
default:true

Response

The new schedule.

id
string
required
workflow_id
string
required
workflow_slug
string
required
enabled
boolean
required
frequency
string | null
required

The canonical frequency, e.g. cron:0 9 * * 1 or daily:02:00.

kind
string
default:workflow
cron
string | null
every
string | null
timezone
string
default:UTC
inputs
Inputs · object
next_run_at
string | null
last_run_at
string | null
created_at
string | null