Lists

Lists are collections of contacts within a project. Use lists to organize subscribers for different campaigns or purposes.

GET /api/v1/projects/:project_id/lists

Retrieve all lists for a project.

Parameters

Name Type Required Description
project_id integer Yes The project ID

Success response (200)

client.lists(project_id: 1)
# => {
#   "data" => [
#     {
#       "id" => 1,
#       "project_id" => 1,
#       "name" => "Newsletter",
#       "description" => "Monthly newsletter",
#       "contacts_count" => 50,
#       "subscriber_count" => 48,
#       "unsubscribe_count" => 2,
#       "created_at" => "2024-01-01T00:00:00Z",
#       "updated_at" => "2024-01-01T00:00:00Z"
#     }
#   ],
#   "meta" => {
#     "total" => 1
#   }
# }
GET /api/v1/projects/:project_id/lists/:id

Retrieve a specific list by ID.

Parameters

Name Type Required Description
project_id integer Yes The project ID
id integer Yes The list ID

Success response (200)

client.list(project_id: 1, id: 1)
POST /api/v1/projects/:project_id/lists

Create a new list within a project.

Parameters

Name Type Required Description
project_id integer Yes The project ID

Request body

client.create_list(
  project_id: 1,
  name: 'Newsletter',
  description: 'Monthly newsletter'
)

Success response (201)

{
  "data" => {
    "id" => 1,
    "project_id" => 1,
    "name" => "Newsletter",
    "description" => "Monthly newsletter",
    "contacts_count" => 0,
    "subscriber_count" => 0,
    "unsubscribe_count" => 0,
    "created_at" => "2024-01-01T00:00:00Z",
    "updated_at" => "2024-01-01T00:00:00Z"
  }
}

Error responses

Status: 422 - validation_error

{
  "error" => {
    "code" => "validation_error",
    "message" => "Validation failed",
    "details" => {
      "name" => ["can't be blank"]
    }
  }
}
PATCH /api/v1/projects/:project_id/lists/:id

Update an existing list.

Parameters

Name Type Required Description
project_id integer Yes The project ID
id integer Yes The list ID

Request body

client.update_list(
  project_id: 1,
  id: 1,
  name: 'Updated Newsletter',
  description: 'Updated description'
)

Success response (200)

{
  "data" => {
    "id" => 1,
    "project_id" => 1,
    "name" => "Updated Newsletter",
    "description" => "Updated description",
    "contacts_count" => 50,
    "subscriber_count" => 48,
    "unsubscribe_count" => 2,
    "created_at" => "2024-01-01T00:00:00Z",
    "updated_at" => "2024-01-02T00:00:00Z"
  }
}
DELETE /api/v1/projects/:project_id/lists/:id

Delete a list. This will remove all list memberships but will not delete the contacts themselves.

Parameters

Name Type Required Description
project_id integer Yes The project ID
id integer Yes The list ID

Success response (204)

# No content