W
WallJobs
/Documentation
Back to Home
Docs/API Reference

Sequences API

Create and manage outreach sequences via the API. Enroll candidates and track engagement metrics.

Overview

The Sequences API allows you to manage automated outreach campaigns. Create sequences, enroll contacts, and track engagement programmatically.

Credit Usage
Enrolling contacts in sequences and sending messages consumes credits based on the channel used. See the Credits documentation for details.

List Sequences

Retrieve all sequences in the workspace.

GET/v1/sequences

Query Parameters

NameTypeRequiredDescription
pageintegerOptional Default: 1
per_pageintegerOptional Default: 20
statusstringOptional

Request Example

curl "https://api.walljobs.com.br/v1/sequences" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123"

Response Example

{
"data": [
{
"id": "sequence_abc123",
"name": "Frontend Developer Outreach",
"status": "active",
"steps_count": 4,
"stats": {
"enrolled": 150,
"active": 45,
"completed": 85,
"replied": 32,
"bounced": 5
},
"created_at": "2024-01-05T10:00:00Z",
"updated_at": "2024-01-22T15:00:00Z"
}
],
"pagination": {
"total": 8,
"page": 1,
"per_page": 20,
"total_pages": 1
}
}

Get Sequence

Retrieve a sequence with all its steps and configuration.

GET/v1/sequences/:id

Request Example

curl "https://api.walljobs.com.br/v1/sequences/sequence_abc123" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123"

Response Example

{
"data": {
"id": "sequence_abc123",
"name": "Frontend Developer Outreach",
"status": "active",
"settings": {
"send_window_start": "09:00",
"send_window_end": "18:00",
"timezone": "America/Sao_Paulo",
"skip_weekends": true
},
"steps": [
{
"id": "step_1",
"order": 1,
"channel": "email",
"delay_days": 0,
"subject": "Exciting opportunity at {{company}}",
"body": "Hi {{first_name}},\n\nI came across your profile...",
"stats": {
"sent": 145,
"opened": 98,
"clicked": 45,
"replied": 15
}
},
{
"id": "step_2",
"order": 2,
"channel": "email",
"delay_days": 3,
"subject": "Following up - {{company}} opportunity",
"body": "Hi {{first_name}},\n\nJust wanted to follow up...",
"stats": {
"sent": 98,
"opened": 62,
"clicked": 28,
"replied": 12
}
}
],
"stats": {
"enrolled": 150,
"active": 45,
"completed": 85,
"replied": 32,
"bounced": 5
},
"created_at": "2024-01-05T10:00:00Z"
}
}

Create Sequence

Create a new outreach sequence with steps.

POST/v1/sequences

Body Parameters

NameTypeRequiredDescription
namestringRequired
stepsarrayRequired
settingsobjectOptional

Request Example

curl -X POST "https://api.walljobs.com.br/v1/sequences" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123" \
-H "Content-Type: application/json" \
-d '{
"name": "Backend Engineer Outreach",
"settings": {
"send_window_start": "09:00",
"send_window_end": "18:00",
"timezone": "America/Sao_Paulo",
"skip_weekends": true
},
"steps": [
{
"channel": "email",
"delay_days": 0,
"subject": "Python opportunity at {{company}}",
"body": "Hi {{first_name}},\n\nI noticed your experience with Python..."
},
{
"channel": "email",
"delay_days": 3,
"subject": "Quick follow-up",
"body": "Hi {{first_name}},\n\nJust wanted to check if you saw my previous email..."
},
{
"channel": "linkedin",
"delay_days": 5,
"message": "Hi {{first_name}}, I reached out via email about an opportunity. Would love to connect!"
}
]
}'

Response Example

{
"data": {
"id": "sequence_def456",
"name": "Backend Engineer Outreach",
"status": "active",
"steps_count": 3,
"created_at": "2024-01-22T16:00:00Z"
}
}

Enroll Contact

Enroll a contact in a sequence to start automated outreach.

POST/v1/sequences/:id/enrollments

Body Parameters

NameTypeRequiredDescription
contact_idstringRequired
variablesobjectOptional
start_stepintegerOptional Default: 1

Request Example

curl -X POST "https://api.walljobs.com.br/v1/sequences/sequence_abc123/enrollments" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123" \
-H "Content-Type: application/json" \
-d '{
"contact_id": "contact_abc123",
"variables": {
"company": "WallJobs",
"role": "Senior Backend Engineer"
}
}'

Response Example

{
"data": {
"id": "enrollment_xyz789",
"sequence_id": "sequence_abc123",
"contact_id": "contact_abc123",
"status": "active",
"current_step": 1,
"variables": {
"company": "WallJobs",
"role": "Senior Backend Engineer"
},
"enrolled_at": "2024-01-22T16:30:00Z",
"next_step_at": "2024-01-22T16:30:00Z"
}
}
Note
Enrollments are processed according to the sequence's send window settings. The first message will be sent during the next available window.

Unenroll Contact

Remove a contact from an active sequence.

DELETE/v1/sequences/:id/enrollments/:enrollment_id

Request Example

curl -X DELETE "https://api.walljobs.com.br/v1/sequences/sequence_abc123/enrollments/enrollment_xyz789" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123"

Response Example

{
"data": {
"id": "enrollment_xyz789",
"status": "unenrolled",
"unenrolled_at": "2024-01-22T17:00:00Z"
}
}

List Enrollments

Retrieve all enrollments for a sequence with their current status.

GET/v1/sequences/:id/enrollments

Query Parameters

NameTypeRequiredDescription
pageintegerOptional Default: 1
per_pageintegerOptional Default: 20
statusstringOptional

Request Example

curl "https://api.walljobs.com.br/v1/sequences/sequence_abc123/enrollments?status=active" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "X-Workspace-ID: ws_abc123"

Response Example

{
"data": [
{
"id": "enrollment_xyz789",
"contact_id": "contact_abc123",
"contact": {
"first_name": "Maria",
"last_name": "Silva",
"email": "maria@example.com"
},
"status": "active",
"current_step": 2,
"enrolled_at": "2024-01-20T10:00:00Z",
"last_step_at": "2024-01-23T09:15:00Z",
"next_step_at": "2024-01-26T09:00:00Z"
}
],
"pagination": {
"total": 45,
"page": 1,
"per_page": 20,
"total_pages": 3
}
}