Aleph
Gateway RPCMethods Reference

wizard.*

Setup wizard RPC methods

Configuration wizard for guided setup flows.

:::warning This page documents the intended API. The wizard.* methods (wizard.start, wizard.answer, wizard.next, wizard.cancel, wizard.status) are defined in the source handler (src/gateway/handlers/wizard.rs) but are not currently wired in the runtime handler registration. They reflect the design target but are not yet exposed via JSON-RPC. See Methods Reference for the accurate method listing. :::

Overview

The wizard system provides a multi-step configuration experience with:

  • Multiple step types (select, text, confirm, etc.)
  • Session-based state management
  • Support for multiple concurrent wizards

Methods

wizard.start

Start a new wizard session.

Request:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "wizard.start",
  "params": {
    "wizard_type": "onboarding",
    "initial_data": {}
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "session_id": "wizard-uuid",
    "step": {
      "id": "step-1",
      "type": "note",
      "title": "Welcome",
      "message": "Welcome to Aleph setup!"
    },
    "status": "running"
  }
}

wizard.answer

Answer the current step and get the next one.

Request:

{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "wizard.answer",
  "params": {
    "session_id": "wizard-uuid",
    "step_id": "step-2",
    "value": "anthropic"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "done": false,
    "step": {
      "id": "step-3",
      "type": "text",
      "message": "Enter your API key:",
      "placeholder": "sk-...",
      "sensitive": true
    },
    "status": "running"
  }
}

wizard.next

Get the next step without answering (for notes/intros).

Request:

{
  "jsonrpc": "2.0",
  "id": 3,
  "method": "wizard.next",
  "params": {
    "session_id": "wizard-uuid"
  }
}

wizard.cancel

Cancel an active wizard session.

Request:

{
  "jsonrpc": "2.0",
  "id": 4,
  "method": "wizard.cancel",
  "params": {
    "session_id": "wizard-uuid"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 4,
  "result": {
    "cancelled": true
  }
}

wizard.status

Get the status of a wizard session.

Request:

{
  "jsonrpc": "2.0",
  "id": 5,
  "method": "wizard.status",
  "params": {
    "session_id": "wizard-uuid"
  }
}

Response:

{
  "jsonrpc": "2.0",
  "id": 5,
  "result": {
    "status": "running"
  }
}

Step Types

TypeDescriptionValue Type
noteInformational messageNone
selectSingle selectionString
multi_selectMultiple selectionString[]
textText inputString
confirmYes/No questionBoolean
progressProgress indicatorNone

Step Structure

{
  "id": "step-1",
  "type": "select",
  "title": "Provider Selection",
  "message": "Which AI provider would you like to use?",
  "options": [
    {
      "value": "anthropic",
      "label": "Anthropic (Claude)",
      "hint": "Recommended for coding"
    },
    {
      "value": "openai",
      "label": "OpenAI (GPT)",
      "hint": "GPT-4o and o3 series"
    }
  ],
  "initial_value": "anthropic",
  "sensitive": false
}

Available Wizards

TypeDescription
onboardingFull 10-stage setup
quick-setupMinimal configuration
provider-setupAdd a new provider

Wizard Status

StatusDescription
runningWizard is active
doneCompleted successfully
cancelledUser cancelled
errorAn error occurred

Onboarding Flow Stages

  1. Welcome - Introduction
  2. Provider Selection - Choose AI provider
  3. Credentials - Enter API key
  4. Primary Model - Select main model
  5. Secondary Model - Optional failover
  6. Thinking Level - Configure AI depth
  7. Messaging Apps - Optional integrations
  8. Review - Configuration summary
  9. Finalize - Apply configuration
  10. Complete - Success message

On this page