lemlist Activities API

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

Operations 3

GET /activities/ Retrieve Activities
GET /activities Get Many Activities
DELETE /activities/{activityId}/recording-transcript Delete Activity Recording & Transcript

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-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 3 of this provider''s published API definitions: lemlist-openapi-v1-legacy.json, lemlist-openapi-v2.json, lemlist-openapi.yml. 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>
    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: []
    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: []
    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
- lemlist-openapi.yml