Skip to main content
GET
/
tasks
Get Many Tasks
curl --request GET \
  --url https://api.lemlist.com/api/tasks \
  --header 'Authorization: Basic <encoded-value>'
{
  "results": [
    {
      "_id": "opp_ouYzdLYGs4RcrHTfm",
      "type": "manual",
      "title": "Keep an eye on him",
      "priority": 1,
      "leadId": "lea_mizMsAEkRrJuhouYe",
      "campaignId": "cam_9NsHPnykWESTncCW8",
      "contactId": "ctc_Rofmb6uNGyaPNZ2ni",
      "dueDate": "2025-11-10T09:58:57.169Z",
      "userId": "usr_gmHgNGRcGPSTJrDbT",
      "content": "does he have bandwidth to help us? would be grand"
    },
    {
      "_id": "opp_muTZMDjKf7vtanEk9",
      "type": "manual",
      "title": "API Reference Illustration",
      "priority": 2,
      "dueDate": "2025-10-31T07:58:00.000Z",
      "userId": "usr_gmHgNGRcGPSTJrDbT",
      "content": ""
    }
  ],
  "page": "0"
}
This endpoint uses the Task object.
Retrieve all pending tasks assigned to your team members.
Tasks marked as done are automatically excluded from results.

Filtering

Use the filters query parameter to narrow results by:
  • Lead attributes: fullName, email, phone, linkedin (supports value or regex)
  • Campaign: campaignId (supports in/out arrays), campaignState (draft, running, ended, paused, errors, archived)
  • Task properties: type (manual, phone, email, linkedin, etc.), assignedTo (userId)
  • Date range: dueDate (supports from/to in YYYY-MM-DD format)
Examples:
[
{"filterId": "dueDate", "from": "2025-02-11", "to": "2025-02-28"},
{"filterId": "type", "in": ["phone", "linkedinSend"]}
]

Authorizations

Authorization
string
header
required

Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.

Query Parameters

page
integer
default:0

Page number for paginated results (0-indexed).

filters
string

JSON array of filter objects. Each filter has a filterId and specific parameters.

Available Filters:

  • fullName: Filter by contact's full name.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"fullName","value":"John Doe"}
  • email: Filter by contact's email address.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"email","value":"john@example.com"}
  • phone: Filter by contact's phone number.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"phone","value":"+1234567890"}
  • linkedin: Filter by LinkedIn profile URL.

    • Parameters: value (string) or regex (string)
    • Example: {"filterId":"linkedin","value":"linkedin.com/in/johndoe"}
  • campaignId: Filter by campaign IDs (inclusion/exclusion).

    • Parameters: in (array of strings) and/or out (array of strings)
    • Example: {"filterId":"campaignId","in":["cam_123"],"out":["cam_456"]}
  • campaignState: Filter by campaign states.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Allowed values: draft, running, ended, paused, errors, archived
    • Example: {"filterId":"campaignState","in":["running","paused"]}
  • type: Filter by task type.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Allowed values: manual, phone, linkedinInvite, linkedinSend, linkedinVoiceNote, emailsReplied, opportunityReplied, linkedinReplied, opportunityClicked, email, whatsappMessage
    • Example: {"filterId":"type","in":["phone","email"]}
  • assignedTo: Filter by assigned user IDs.

    • Parameters: in (array of strings) and/or out (array of strings)
    • Example: {"filterId":"assignedTo","in":["usr_123","usr_456"]}
  • dueDate: Filter by due date range.

    • Parameters: from (string, YYYY-MM-DD) and/or to (string, YYYY-MM-DD)
    • Example: {"filterId":"dueDate","from":"2025-01-01","to":"2025-12-31"}

Multiple filters can be combined in an array.

Response

Success

results
object[]
page
string