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/sequencesQuery Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | Optional | Default: 1 |
per_page | integer | Optional | Default: 20 |
status | string | Optional |
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/:idRequest 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/sequencesBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
name | string | Required | |
steps | array | Required | |
settings | object | Optional |
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/enrollmentsBody Parameters
| Name | Type | Required | Description |
|---|---|---|---|
contact_id | string | Required | |
variables | object | Optional | |
start_step | integer | Optional | 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_idRequest 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/enrollmentsQuery Parameters
| Name | Type | Required | Description |
|---|---|---|---|
page | integer | Optional | Default: 1 |
per_page | integer | Optional | Default: 20 |
status | string | Optional |
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}}