Skip to main content

Documentation index for AI agents: llms.txt. Every page here is also served as markdown: add .md to its address, or request it with Accept: text/markdown.

Onboarding API

User onboarding flow. This page lists all 4 endpoints in the Onboarding area of the Visual Sentinel REST API.

Base URL: https://visualsentinel.com. Unless an endpoint says otherwise it accepts an API key or a session cookie, see Authentication. Most error responses use the ErrorResponse shape, see Errors and Rate limits.

Endpoints

Get onboarding status

GET /api/onboarding/status

Get the user's onboarding progress.

Responses

  • 200: Onboarding status.

Select plan during onboarding

POST /api/onboarding/select-plan

Select a plan as part of the onboarding flow.

Responses

  • 200: Plan selected.

Auto-setup during onboarding

POST /api/onboarding/auto-setup

Automatically create a monitor from a URL during onboarding.

Responses

  • 200: Auto-setup complete.

Start no-card trial

POST /api/onboarding/start-no-card-trial

When trials without a card are available, starts a 10-day trial of a paid plan with no card, for the owner of an eligible workspace who signed up with a work email and has a verified address. Signed-in sessions only; API keys and support sessions are refused. Otherwise it answers with a code that says why (for example BUSINESS_EMAIL_REQUIRED, TRIAL_ALREADY_USED or NO_CARD_TRIAL_UNAVAILABLE); where the workspace can still have a trial with a card, start it from checkout instead (POST /api/billing/checkout). A request for a trial that is already running answers 200 with idempotent true and changes nothing. Codes: NO_CARD_TRIAL_UNAVAILABLE (403), OWNER_REQUIRED (403), BUSINESS_EMAIL_REQUIRED (403), EMAIL_VERIFICATION_REQUIRED (403), TRIAL_ALREADY_USED (409), TRIAL_DOMAIN_USED (409).

Authentication: session cookie only. API keys are refused.

Request body (required): object.

FieldTypeRequiredDescription
planstringYesThe plan to try, at its normal limits (legacy names 'enterprise' and 'professional' are accepted; 'free' is refused). One of: solo, starter, business, agency.
triggerSourcestringYesWhere the request came from. The plan step sends onboarding_select_plan. One of: monitor_cap_hit, feature_gate_clicked, first_monitor_onboarding, lifecycle_email_cta, admin_grant, dashboard_cta, billing_cta, onboarding_select_plan, paid_decision_card.

Responses

  • 200: Trial started, or already running (idempotent true) Body: object.
  • 400: Invalid body: plan must be solo, starter, business or agency, and triggerSource is required.
  • 401: Not signed in.
  • 403: An API key (code SESSION_REQUIRED), a support session (code NOT_DURING_SUPPORT_SESSION), a missing or invalid CSRF token, or a refusal: NO_CARD_TRIAL_UNAVAILABLE (this workspace cannot have a trial without a card), OWNER_REQUIRED (only the workspace owner can start it), BUSINESS_EMAIL_REQUIRED (not available for this email address; where the workspace can still have a trial, a trial with a card starts from checkout), EMAIL_VERIFICATION_REQUIRED (verify the email address first) Body: object.
  • 404: Organization not found.
  • 409: A refusal: TRIAL_ALREADY_USED (this account or workspace already had a trial or a subscription) or TRIAL_DOMAIN_USED (the company already had a trial or a plan) Body: object.
FieldTypeRequiredDescription
successbooleanNo
idempotentbooleanNoTrue when the trial was already running; nothing changed.
planstringNoThe trial's plan: SOLO, STARTER, BUSINESS or AGENCY.
trialEndsAtstring (date-time)No
messagestringNo

Generated from the OpenAPI 3.1 specification at https://docs.visualsentinel.com/openapi.json, the same file the interactive reference reads.