Skip to main content
POST
/
v1
/
campaigns
/
{id}
/
steps
/
{stepId}
/
variants
Add Variant to Step
curl --request POST \
  --url https://app-api.walead.ai/api/v1/campaigns/{id}/steps/{stepId}/variants \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "body": "<string>"
}
'
{
  "success": true,
  "message": "<string>",
  "variants": [
    {
      "id": "<string>",
      "body": "<string>",
      "order": 123,
      "isDisabled": true,
      "icpDefinitionRaw": "<string>",
      "stepId": "<string>",
      "aiTools": [
        {
          "name": "<string>",
          "key": "<string>"
        }
      ]
    }
  ]
}

Overview

Adds a new message variant to a step, enabling A/B testing of different message approaches. Variants are only applicable to message and screener type steps.

What are Variants?

Variants are different versions of the same message that WaLead rotates through to test which performs better. Each variant:
  • Has its own message template
  • Can be enabled or disabled independently
  • Can have custom ICP (Ideal Customer Profile) targeting
  • Includes AI tool configurations for personalization

Request Body

The request body is optional. You can create an empty variant and update it later:
{
  "body": "Hi {{firstName}}, I noticed you work at {{companyName}}..."
}
Or create without a body (empty variant):
{}

Variant Rotation

WaLead automatically rotates through enabled variants to distribute tests evenly:
  • Each lead is assigned a variant based on the order
  • Disabled variants are skipped
  • Performance metrics are tracked per variant

Use Cases

A/B Testing Different Approaches

// Variant 1: Direct value proposition
{
  "body": "Hi {{firstName}}, I help companies like {{companyName}} reduce costs by 30%..."
}

// Variant 2: Question-based approach
{
  "body": "Hi {{firstName}}, are you looking for ways to optimize your team's workflow?"
}

// Variant 3: Social proof
{
  "body": "Hi {{firstName}}, we've helped 100+ companies in your industry..."
}

ICP-Specific Messages

Use the icpDefinitionRaw field (via update variant) to target specific lead profiles with different messages.

Response

Returns the complete array of variants for the step, including the newly created one with its assigned ID and order.

Next Steps

After creating a variant:
  1. Update its message body if you created it empty
  2. Configure ICP targeting if needed
  3. Ensure at least one variant remains enabled

Authorizations

x-api-key
string
header
required

API key for authentication. Generate from your WaLead dashboard.

Path Parameters

id
string
required

Campaign ID

stepId
string
required

Step ID

Body

application/json

Variant content (optional)

body
string

Message template body

Response

Variant added successfully

success
boolean
message
string
variants
object[]