provider wizard POST /api/projects/{project_id}/wizard/sessions/
@utdk/posthog /api/projects/{project_id}/wizard/sessions/
wizard_sessions_create
Upsert a wizard session. The `session_id` key is the idempotency anchor — reposting the same `session_id` replaces the existing row. Returns 201 on create, 200 on update.
project_id path required
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
string

Try it

Authentication
Configure credentials for PostHog API
wizardSessionsCreate
POST/api/projects/{project_id}/wizard/sessions/
Upsert a wizard session. The `session_id` key is the idempotency anchor — reposting the same `session_id` replaces the existing row. Returns 201 on create, 200 on update.

Parameters

required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Input

required

Stable identifier the wizard mints for this run (format: '{workflow_id}-{skill_id}-{started_at_iso}'). Reposting with the same session_id upserts the existing row.

required

High-level workflow being run, e.g. 'onboarding', 'migration', 'audit'.

required

Specific skill within the workflow, e.g. 'nextjs', 'django', 'laravel'.

required

UTC timestamp when the wizard started this run. Matches the timestamp encoded in session_id.

required

Lifecycle stage of the wizard run. * `idle` - IDLE * `running` - RUNNING * `completed` - COMPLETED * `error` - ERROR

required

Optional structured plan of events the wizard intends to instrument. Schema is workflow-specific.

Populated when run_phase='error'. Shape: { type: string, message: string }.

Configure credentials above to enable sending.

Code snippet
Updates live as you fill in the form above.

TypeScript

import posthog from '@utdk/posthog';

await posthog.wizardSessionsCreate()