lemlist Activities API

The activity history feed, and deletion of call recordings and transcripts.

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /activities/ Retrieve activities with the original v1 endpoint · Retrieve Activities #
Ask an LLM
“Can I still pull campaign activities through the older v1 activities endpoint?”
“Which legacy activity call returns up to 100 events filtered by type and lead?”
Tell an agent
Using the legacy v1 activities endpoint, list activities for campaign {campaignId}.
Pull legacy v1 activities of type {type} for lead {leadId}.
GET /activities Get campaign activities within a date range · Get Many Activities #
Ask an LLM
“How do I see every email open, reply and click logged in lemlist between two dates?”
“Can I filter v2 activities to only the first activity of each lead?”
Tell an agent
Get v2 activities for campaign {campaignId} created between {minDate} and {maxDate}.
List {type} activities with API version {version}.
DELETE /activities/{activityId}/recording-transcript Delete a call recording and its transcript · Delete Activity Recording & Transcript #
Ask an LLM
“Can I remove the recording and transcript attached to a call activity?”
“How do I erase a recorded conversation from a lead's activity history?”
Tell an agent destructive · confirm first
Delete the recording and transcript of activity {activityId}.
Wipe the call recording stored on activity {activityId}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/lemlist:lemlist-activities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

lemlist-activities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Lemlist Activities API
  version: 1.0.0
  description: 'Operations tagged Activities across 2 of this provider''s published API definitions: lemlist-openapi-v1-legacy.json, lemlist-openapi-v2.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.lemlist.com/api
tags:
- name: Activities
paths:
  /activities/:
    parameters: []
    get:
      summary: Retrieve Activities
      tags:
      - Activities
      parameters:
      - name: type
        in: query
        required: false
        description: (Optional)
        example: paused
        schema:
          type: string
      - name: campaignId
        in: query
        required: false
        description: (Optional)
        example: '{{campaignId}}'
        schema:
          type: string
      - name: isFirst
        in: query
        required: false
        description: (Optional)
        example: 'true'
        schema:
          type: boolean
      - name: offset
        in: query
        required: false
        description: (Optional)
        example: '0'
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        description: '(Optional) Default: 100 | Max: 100'
        example: '2'
        schema:
          type: integer
      - name: leadId
        in: query
        required: false
        description: (Optional) Get activities for a lead when provided
        example: '{{leadId}}'
        schema:
          type: string
      - name: version
        in: query
        required: false
        description: '(Optional) Default: v1'
        example: v2
        schema:
          type: string
      - name: Content
        in: header
        required: false
        example: application/json
        schema:
          type: string
      responses:
        '200':
          headers:
            Content-Type:
              schema:
                type: string
              example: application/json
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    _id:
                      type: string
                    type:
                      type: string
                    emailId:
                      type: string
                    messageId:
                      type: string
                    emailTemplateId:
                      type: string
                    isFirst:
                      type: boolean
                    stopped:
                      type: boolean
                    createdAt:
                      type: string
                      format: date-time
                    bot:
                      type: boolean
                    teamId:
                      type: string
                    leadId:
                      type: string
                    campaignId:
                      type: string
                    sequenceId:
                      type: string
                    sequenceStep:
                      type: integer
                    createdBy:
                      type: string
                    sendUserId:
                      type: string
                    totalSequenceStep:
                      type: integer
                    name:
                      type: string
                    sendUserName:
                      type: string
                    sendUserEmail:
                      type: string
                      format: email
                    sendUserMailboxId:
                      type: string
                    sendUserMailboxProviderId:
                      type: string
                      format: email
                    leadFirstName:
                      type: string
                    leadLastName:
                      type: string
                    leadEmail:
                      type: string
                      format: email
                    leadPhone:
                      type: string
                    leadPicture:
                      type: string
                    leadCompanyName:
                      type: string
                    metaData:
                      type: object
                      properties:
                        teamId:
                          type: string
                        campaignId:
                          type: string
                        leadId:
                          type: string
                        type:
                          type: string
                        createdBy:
                          type: string
                    email:
                      type: string
                      format: email
                    phone:
                      type: string
                    firstName:
                      type: string
                    lastName:
                      type: string
                    sendUserLoginEmail:
                      type: string
                      format: email
                    campaignName:
                      type: string
                    emailTemplateName:
                      type: string
                    companyName:
                      type: string
                    companyDomain:
                      type: string
                    picture:
                      type: string
                    isPremium:
                      type: string
                    locationName:
                      type: string
                    occupation:
                      type: string
                    industry:
                      type: string
                    summary:
                      type: string
                    certification:
                      type: string
                    certification1:
                      type: string
                    certification2:
                      type: string
                    certification3:
                      type: string
                    certification4:
                      type: string
                    certification5:
                      type: string
                    certification6:
                      type: string
                    certification7:
                      type: string
                    certification8:
                      type: string
                    certification9:
                      type: string
                    certification10:
                      type: string
                    certification11:
                      type: string
                    certification12:
                      type: string
                    certification13:
                      type: string
                    certification14:
                      type: string
                    certification15:
                      type: string
                    certification16:
                      type: string
                    certification17:
                      type: string
                    certification18:
                      type: string
                    certification19:
                      type: string
                    school:
                      type: string
                    school1:
                      type: string
                    school2:
                      type: string
                    school3:
                      type: string
                    school4:
                      type: string
                    school5:
                      type: string
                    languages:
                      type: string
                    skills:
                      type: string
                    companyProfileUrl:
                      type: string
                    companyTagline:
                      type: string
                    companyHeadQuarter:
                      type: string
                    companySpecialities:
                      type: string
                    companyDescription:
                      type: string
                    companyFoundedOn:
                      type: string
                    companyEmployeesOnLinkedin:
                      type: string
                    companyIndustry:
                      type: string
                    companyLogo:
                      type: string
                    companyType:
                      type: string
                    sequenceTested:
                      type: string
                    recording:
                      type: string
                    transcription:
                      type: string
              example:
              - _id: act_xXR99r2dyRedXb8pc
                type: emailsSent
                emailId: eml_8BdDtmtTJPzXTiMTL
                messageId: <CADzbc6WBrJ0Dv1QRLaADAeffAAKMGMCjWQw=UFyazhDqxryoHw@mail.gmail.com>
                emailTemplateId: etp_Tds8DjFk7cumowE8B
                isFirst: true
                stopped: false
                createdAt: '2024-07-22T15:25:13.610Z'
                bot: false
                teamId: tea_KAiTn2K9RoYA85MuY
                leadId: lea_u2H5qeBCGWKDdaj6B
                campaignId: cam_6mKKdaC5PNQiBu2jT
                sequenceId: seq_zNK94gqDakNmcRuGy
                sequenceStep: 1
                createdBy: usr_QAucgYReK6EmMB3Cz
                sendUserId: usr_QAucgYReK6EmMB3Cz
                totalSequenceStep: 1
                name: Campaign example
                sendUserName: John Doe
                sendUserEmail: john.doe@lemlist.co
                sendUserMailboxId: usm_im9fnaYmKKQaixa9d
                sendUserMailboxProviderId: john.doe@lemlist.co
                leadFirstName: ''
                leadLastName: ''
                leadEmail: john.doe@lempire.co
                leadPhone: ''
                leadPicture: ''
                leadCompanyName: ''
                metaData:
                  teamId: tea_KAiTn2K9RoYA85MuY
                  campaignId: cam_6mKKdaC5PNQiBu2jT
                  leadId: lea_u2H5qeBCGWKDdaj6B
                  type: emailsSent
                  createdBy: usr_QAucgYReK6EmMB3Cz
                email: john.doe@lempire.co
                phone: ''
                firstName: ''
                lastName: ''
                sendUserLoginEmail: john.doe@lempire.co
                campaignName: Example's campaign
                emailTemplateName: Blank
                companyName: ''
                companyDomain: ''
                picture: ''
                isPremium: ''
                locationName: ''
                occupation: ''
                industry: ''
                summary: ''
                certification: ''
                certification1: ''
                certification2: ''
                certification3: ''
                certification4: ''
                certification5: ''
                certification6: ''
                certification7: ''
                certification8: ''
                certification9: ''
                certification10: ''
                certification11: ''
                certification12: ''
                certification13: ''
                certification14: ''
                certification15: ''
                certification16: ''
                certification17: ''
                certification18: ''
                certification19: ''
                school: ''
                school1: ''
                school2: ''
                school3: ''
                school4: ''
                school5: ''
                languages: ''
                skills: ''
                companyProfileUrl: ''
                companyTagline: ''
                companyHeadQuarter: ''
                companySpecialities: ''
                companyDescription: ''
                companyFoundedOn: ''
                companyEmployeesOnLinkedin: ''
                companyIndustry: ''
                companyLogo: ''
                companyType: ''
                sequenceTested: A
                recording: <recording url>
                transcription: <transcription url>
      operationId: getActivities
      x-operation-id-source: derived
    servers:
    - url: https://api.lemlist.com/api
  /activities:
    get:
      summary: Get Many Activities
      tags:
      - Activities
      parameters:
      - name: version
        in: query
        required: true
        description: API version. v2 is mandatory
        example: v2
        schema:
          type: string
          enum:
          - v2
      - name: type
        in: query
        required: false
        description: Filter by activity type (e.g., paused)
        example: paused
        schema:
          type: string
      - name: campaignId
        in: query
        required: false
        description: Filter by campaign ID
        example: cam_123
        schema:
          type: string
      - name: isFirst
        in: query
        required: false
        description: Filter for first activity
        example: 'true'
        schema:
          type: boolean
      - name: offset
        in: query
        required: false
        description: 'Number of records to skip. Note: This is not traditional cursor-based pagination. To retrieve all activities, increment offset by the limit value on each request (e.g., offset=0, then offset=100, then offset=200, etc.).'
        example: '0'
        schema:
          type: integer
      - name: limit
        in: query
        required: false
        description: 'Number of activities to retrieve. Default: 100. Maximum: 100'
        example: '2'
        schema:
          type: integer
      - name: leadId
        in: query
        required: false
        description: Filter by lead ID
        example: lea_123
        schema:
          type: string
      - name: minDate
        in: query
        required: false
        description: Filter activities by `createdAt >= minDate`. Accepts either a Unix timestamp in seconds (e.g. `1715385600`) or an ISO 8601 datetime (e.g. `2026-05-11T00:00:00Z`). `minDate` is the primary name; `startDate` is accepted as an alias and `minDate` takes precedence when both are provided.
        example: '2026-05-01T00:00:00Z'
        schema:
          type: string
      - name: maxDate
        in: query
        required: false
        description: Filter activities by `createdAt <= maxDate`. Accepts either a Unix timestamp in seconds (e.g. `1715385600`) or an ISO 8601 datetime (e.g. `2026-05-11T00:00:00Z`). Must be strictly greater than `minDate` when both are provided. `maxDate` is the primary name; `endDate` is accepted as an alias and `maxDate` takes precedence when both are provided.
        example: '2026-05-31T23:59:59Z'
        schema:
          type: string
      - name: startDate
        in: query
        required: false
        description: Alias for `minDate`, provided for consistency with sibling endpoints (e.g. `/campaigns/{campaignId}/stats`). Accepts either a Unix timestamp in seconds or an ISO 8601 datetime. Ignored when `minDate` is also provided.
        example: '2026-05-01T00:00:00Z'
        schema:
          type: string
      - name: endDate
        in: query
        required: false
        description: Alias for `maxDate`, provided for consistency with sibling endpoints (e.g. `/campaigns/{campaignId}/stats`). Accepts either a Unix timestamp in seconds or an ISO 8601 datetime. Ignored when `maxDate` is also provided.
        example: '2026-05-31T23:59:59Z'
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Activity'
              example:
              - _id: act_PbKqTGpQqSlPcoOZ5
                type: manualDone
                userId: usr_Emu1g29BMtBixhMSP
                userName: Guillaume Moubeche
                bot: false
                createdAt: '2025-10-28T08:07:38.375Z'
                leadFirstName: John
                leadLastName: Doe
                leadEmail: support@lemlist.com
                leadCompanyName: Acme Inc
                leadId: lea_fiDpiGV585wy3Oii2
                contactId: ctc_xW8Ou6C03Csv8vatp
                campaignId: cam_bSn8EORHQxbWPjHvu
                teamId: tea_8QvkOiBfPdb2ZRhHi
                opportunityId: opp_LyXDV8KHzctQdLFpG
                metaData:
                  teamId: tea_8QvkOiBfPdb2ZRhHi
                  campaignId: cam_bSn8EORHQxbWPjHvu
                  leadId: lea_fiDpiGV585wy3Oii2
                  type: manualDone
                lead:
                  _id: lea_fiDpiGV585wy3Oii2
                  isPaused: false
                  state: manualNotInterested
                  personalized: false
                  source: api
                  variables:
                    firstName: John
                    lastName: Doe
                    companyName: Acme Inc
                    jobTitle: Growth Engineer
                    companyDomain: example.com
                    email: support@lemlist.com
                    preferredContactMethod: email
                    industry: Technology
                    Company name: John Doe
                  contactId: ctc_xW8Ou6C03Csv8vatp
                  enrichment:
                    emailStatus: deliverable
                campaignName: NEW TO DELETE
                sequenceTested: B
              - _id: act_j0NrG6rYEPP9TMmWC
                teamId: tea_8QvkOiBfPdb2ZRhHi
                companyId: cpn_Qf4CJuUrNUNmHm6uZ
                type: annotated
                createdAt: '2025-10-28T04:25:00.653Z'
                note: could help our GTM team be more productive
                sendUserId: usr_ahfFktBBHUIxbVG5P
                userId: usr_ahfFktBBHUIxbVG5P
              - _id: act_WeKrlIaQlBnM3LZ6G
                type: manualNotInterested
                teamId: tea_8QvkOiBfPdb2ZRhHi
                userName: api
                isFirst: false
                bot: false
                createdAt: '2025-10-28T02:14:34.834Z'
                name: NEW TO DELETE
                leadFirstName: John
                leadLastName: Doe
                leadEmail: support@lemlist.com
                leadCompanyName: Acme Inc
                leadId: lea_fiDpiGV585wy3Oii2
                contactId: ctc_xW8Ou6C03Csv8vatp
                campaignId: cam_bSn8EORHQxbWPjHvu
                metaData:
                  teamId: tea_8QvkOiBfPdb2ZRhHi
                  campaignId: cam_bSn8EORHQxbWPjHvu
                  leadId: lea_fiDpiGV585wy3Oii2
                  type: manualNotInterested
                lead:
                  _id: lea_fiDpiGV585wy3Oii2
                  isPaused: false
                  state: manualNotInterested
                  personalized: false
                  source: api
                  variables:
                    firstName: John
                    lastName: Doe
                    companyName: Acme Inc
                    jobTitle: Growth Engineer
                    companyDomain: example.com
                    email: support@lemlist.com
                    preferredContactMethod: email
                    industry: Technology
                    Company name: John Doe
                  contactId: ctc_xW8Ou6C03Csv8vatp
                  enrichment:
                    emailStatus: deliverable
                campaignName: NEW TO DELETE
                sequenceTested: B
              - _id: act_zktTG4HXXXSOQya5U
                type: paused
                userName: api
                bot: false
                createdAt: '2025-10-28T01:54:56.099Z'
                name: NEW TO DELETE
                leadFirstName: John
                leadLastName: Doe
                leadEmail: support@lemlist.com
                leadCompanyName: Acme Inc
                leadId: lea_fiDpiGV585wy3Oii2
                contactId: ctc_xW8Ou6C03Csv8vatp
                campaignId: cam_bSn8EORHQxbWPjHvu
                teamId: tea_8QvkOiBfPdb2ZRhHi
                metaData:
                  teamId: tea_8QvkOiBfPdb2ZRhHi
                  campaignId: cam_bSn8EORHQxbWPjHvu
                  leadId: lea_fiDpiGV585wy3Oii2
                  type: paused
                lead:
                  _id: lea_fiDpiGV585wy3Oii2
                  isPaused: false
                  state: manualNotInterested
                  personalized: false
                  source: api
                  variables:
                    firstName: John
                    lastName: Doe
                    companyName: Acme Inc
                    jobTitle: Growth Engineer
                    companyDomain: example.com
                    email: support@lemlist.com
                    preferredContactMethod: email
                    industry: Technology
                    Company name: John Doe
                  contactId: ctc_xW8Ou6C03Csv8vatp
                  enrichment:
                    emailStatus: deliverable
                campaignName: NEW TO DELETE
                sequenceTested: B
              - _id: act_x6esGLhoPa2SMHCZ7
                type: emailsOpened
                isFirst: false
                stopped: false
                createdAt: '2025-10-27T20:20:59.696Z'
                bot: false
                teamId: tea_8QvkOiBfPdb2ZRhHi
                leadId: lea_wj47uWhDbbN6Qq6oT
                campaignId: cam_oxeGg6paG3ZVxjHkH
                sequenceId: seq_ODjsLXkxXiySRw6dK
                sequenceStep: 1
                emailTemplateId: etp_z3nAbjdHuewVEjIl5
                createdBy: usr_EvXz6JqPSJJL9lHkp
                sendUserId: usr_EvXz6JqPSJJL9lHkp
                name: Unicorn campaign
                leadFirstName: Sam
                leadLastName: Taylor
                leadEmail: sam@example.com
                leadCompanyName: lemlist
                contactId: ctc_FkeUdQHEfhqG2HMbK
                relatedSentAt: '2020-12-07T11:49:14.830Z'
                metaData:
                  teamId: tea_8QvkOiBfPdb2ZRhHi
                  campaignId: cam_oxeGg6paG3ZVxjHkH
                  leadId: lea_wj47uWhDbbN6Qq6oT
                  type: emailsOpened
                  createdBy: usr_EvXz6JqPSJJL9lHkp
                  taskId: tsk_namMcIQnA6gxQIupP
                lead:
                  _id: lea_wj47uWhDbbN6Qq6oT
                  isPaused: false
                  state: emailsUnsubscribed
                  personalized: false
                  source: manually
                  variables:
                    firstName: 'Sam '
                    lastName: Taylor
                    email: sam@example.com
                    companyName: lemlist
                    linkedinUrl: https://www.linkedin.com/in/sam-doe
                  contactId: ctc_FkeUdQHEfhqG2HMbK
                  enrichment: {}
                campaignName: Unicorn campaign
                sequenceTested: A
                emailTemplateName: Blank
              - _id: act_q4tnlXNdXsBeQceYW
                type: emailsOpened
                isFirst: false
                stopped: false
                createdAt: '2025-10-27T20:17:24.119Z'
                bot: false
                teamId: tea_8QvkOiBfPdb2ZRhHi
                leadId: lea_wj47uWhDbbN6Qq6oT
                campaignId: cam_oxeGg6paG3ZVxjHkH
                sequenceId: seq_ODjsLXkxXiySRw6dK
                sequenceStep: 1
                emailTemplateId: etp_z3nAbjdHuewVEjIl5
                createdBy: usr_EvXz6JqPSJJL9lHkp
                sendUserId: usr_EvXz6JqPSJJL9lHkp
                name: Unicorn campaign
                leadFirstName: Sam
                leadLastName: Taylor
                leadEmail: sam@example.com
                leadCompanyName: lemlist
                contactId: ctc_FkeUdQHEfhqG2HMbK
                relatedSentAt: '2020-12-07T11:49:14.830Z'
                metaData:
                  teamId: tea_8QvkOiBfPdb2ZRhHi
                  campaignId: cam_oxeGg6paG3ZVxjHkH
                  leadId: lea_wj47uWhDbbN6Qq6oT
                  type: emailsOpened
                  createdBy: usr_EvXz6JqPSJJL9lHkp
                  taskId: tsk_namMcIQnA6gxQIupP
                lead:
                  _id: lea_wj47uWhDbbN6Qq6oT
                  isPaused: false
                  state: emailsUnsubscribed
                  personalized: false
                  source: manually
                  variables:
                    firstName: 'Sam '
                    lastName: Taylor
                    email: sam@example.com
                    companyName: lemlist
                    linkedinUrl: https://www.linkedin.com/in/sam-doe
                  contactId: ctc_FkeUdQHEfhqG2HMbK
                  enrichment: {}
                campaignName: Unicorn campaign
                sequenceTested: A
                emailTemplateName: Blank
        '400':
          description: Bad team
          content:
            text/plain:
              example: Bad team
        '401':
          description: Unauthorized
      security:
      - basicAuth: []
      operationId: getActivities
      x-operation-id-source: derived
    servers:
    - url: https://api.lemlist.com/api
  /activities/{activityId}/recording-transcript:
    delete:
      summary: Delete Activity Recording & Transcript
      tags:
      - Activities
      parameters:
      - name: activityId
        in: path
        required: true
        description: Unique activity ID
        example: act_123
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    example: true
        '401':
          description: Unauthorized
        '404':
          description: Activity not found or has no recording
          content:
            text/plain:
              example: Activity not found
        '405':
          description: Method not allowed
        '500':
          description: Error while deleting recording or transcript
      security:
      - basicAuth: []
      operationId: deleteActivitiesByActivityIdRecordingTranscript
      x-operation-id-source: derived
    servers:
    - url: https://api.lemlist.com/api
components:
  schemas:
    Activity:
      type: object
      description: A recorded action or event in a campaign sequence (email sent, opened, clicked, etc.).
      properties:
        _id:
          type: string
          description: Unique activity identifier
        type:
          type: string
          description: Activity type (emailOpened, emailClicked, emailReplied, etc.)
        leadId:
          type: string
          description: Associated lead ID
        campaignId:
          type: string
          description: Campaign ID
        sequenceId:
          type: string
          description: Sequence ID
        stepId:
          type: string
          description: Stable identifier of the sequence step that produced this activity. Present on every activity created from now on; older activities gain it progressively as historical records are backfilled, so treat it as optional when reading history.
        sequenceStep:
          type: number
          description: 0-based position of the step within the sequence. Still emitted on every activity, unchanged. Prefer `stepId` for a reference that survives steps being reordered.
        totalSequenceStep:
          type: number
          description: 0-based count of the sequence steps already delivered to this lead.
        createdAt:
          type: string
          format: date-time
          description: When the activity occurred
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
x-refined-from:
- lemlist-openapi-v1-legacy.json
- lemlist-openapi-v2.json