lemlist Webhooks API
Webhook subscription management - list, create with an optional shared secret, and delete. 76 event types are documented.
Webhook subscription management - list, create with an optional shared secret, and delete. 76 event types are documented.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/lemlist-webhooks-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Lemlist Webhooks API
version: 1.0.0
description: 'Operations tagged Webhooks 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: Webhooks
paths:
/hooks:
parameters: []
get:
summary: Get All webhooks
tags:
- Webhooks
parameters: []
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
targetUrl:
type: string
format: uri
createdAt:
type: string
format: date-time
zapId:
type: integer
campaignId:
type: string
example:
- _id: hoo_3JKlmnOp7qrStuvWx
targetUrl: https://hooks.zapier.com/hooks/standard/*your-webhook-id*/
createdAt: '2018-08-09T07:45:56.789Z'
zapId: 123456780
campaignId: cam_A1B2C3D4E5F6G7H8I9
- _id: hoo_4LMnopQr8stUvWxYz
targetUrl: https://hooks.zapier.com/hooks/standard/*your-webhook-id*/
createdAt: '2019-03-15T11:22:33.123Z'
zapId: 123456789
type: emailsReplied
campaignId: cam_K9L8M7N6O5P4Q3R2S1
- _id: hoo_5NOqrsTu9vwXyZAbC
targetUrl: https://webhook.site/*your-webhook-id*/
createdAt: '2020-01-27T16:55:41.902Z'
type: linkedinSent
campaignId: cam_T3U4V5W6X7Y8Z9A1B2
- _id: hoo_6PQrstUv0xyZaBcDe
targetUrl: https://enlb9b4ykqu67a7.m.pipedream.net/1a2b3c4d
createdAt: '2021-10-04T20:18:29.504Z'
campaignId: cam_M5N4O3P2Q1R9S8T7U6
- _id: hoo_7RSTuvWx1yzAbCdEf
targetUrl: https://enlb9b4ykqu67a7.m.pipedream.net/2b3c4d5e
createdAt: '2022-05-21T02:34:17.678Z'
type: linkedinInterested
campaignId: cam_T3U4V5W6X7Y8Z9A1B2
post:
summary: Add a webhook
tags:
- Webhooks
parameters:
- name: campaignId
in: query
required: false
description: (Optional) We'll call this hook only for this campaignId.
example: '{{campaignId}}'
schema:
type: string
- name: isFirst
in: query
required: false
description: (Optional) We'll call this hook only the first time this activity happened.
schema:
type: string
- name: zapId
in: query
required: false
description: (Optional) Zapier ID
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 with specific data
content:
application/json:
schema:
type: object
properties:
_id:
type: string
targetUrl:
type: string
format: uri
createdAt:
type: string
format: date-time
type:
type: string
campaignId:
type: string
example:
_id: hoo_orQP33YrZgeKkswJK
targetUrl: https://webhook.site/*your-webhook-id*/
createdAt: '2024-07-11T13:55:06.276Z'
type: linkedinInterested
campaignId: cam_A1B2C3D4E5F6G7H8I9
default:
headers:
Content-Type:
schema:
type: string
example: application/json
description: Success
content:
application/json:
schema:
type: object
properties:
_id:
type: string
targetUrl:
type: string
format: uri
createdAt:
type: string
format: date-time
example:
_id: hoo_dJt787EqeEmo7yxab
targetUrl: https://webhook.site/*your-webhook-id*/
createdAt: '2024-07-11T13:51:44.918Z'
requestBody:
content:
application/json:
schema:
type: object
example: null
servers:
- url: https://api.lemlist.com/api
/hooks/{hookId}:
parameters:
- name: hookId
in: path
required: true
example: '{{hookId}}'
schema:
type: string
delete:
summary: Delete a webhook
tags:
- Webhooks
parameters:
- 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: object
properties:
_id:
type: string
targetUrl:
type: string
format: uri
createdAt:
type: string
format: date-time
type:
type: string
campaignId:
type: string
example:
_id: hoo_orQP33YrZgeKkswJK
targetUrl: https://webhook.site/*your-webhook-id*/
createdAt: '2024-07-11T13:55:06.276Z'
type: linkedinInterested
campaignId: cam_A1B2C3D4E5F6G7H8I9
'404':
headers: {}
description: Not found
requestBody:
content:
application/json:
schema:
type: object
example: {}
servers:
- url: https://api.lemlist.com/api
components:
schemas:
Webhook:
type: object
description: Webhooks send real-time HTTP notifications upon campaign events (opens, clicks, replies, etc.).
properties:
_id:
type: string
description: Unique webhook identifier
targetUrl:
type: string
format: uri
description: Destination URL for event notifications
type:
type: string
description: Event type to listen for. Events are grouped by category — see the endpoint docs for a full breakdown.
enum:
- contacted
- hooked
- attracted
- warmed
- interested
- notInterested
- emailsSent
- emailsOpened
- emailsClicked
- emailsReplied
- emailsBounced
- emailsFailed
- emailsInterested
- emailsNotInterested
- emailsUnsubscribed
- linkedinSent
- linkedinOpened
- linkedinReplied
- linkedinInterested
- linkedinNotInterested
- linkedinSendFailed
- linkedinVisitDone
- linkedinVisitFailed
- linkedinFollowDone
- linkedinFollowFailed
- linkedinFollowSkipped
- linkedinInviteDone
- linkedinInviteFailed
- linkedinInviteAccepted
- linkedinEndorseDone
- linkedinEndorseFailed
- linkedinEndorseSkipped
- linkedinVoiceNoteDone
- linkedinVoiceNoteFailed
- linkedinLikeLastPostDone
- linkedinLikeLastPostNoPost
- linkedinLikeLastPostFailed
- linkedinWithdrawInvitationDone
- linkedinWithdrawInvitationFailed
- whatsappMessageSent
- whatsappMessageDelivered
- whatsappMessageOpened
- whatsappReplied
- whatsappMessageFailed
- smsSent
- smsDelivered
- smsReplied
- smsFailed
- aircallCreated
- aircallEnded
- aircallDone
- aircallInterested
- aircallNotInterested
- apiDone
- apiInterested
- apiNotInterested
- apiFailed
- manualInterested
- manualNotInterested
- paused
- resumed
- stopped
- campaignComplete
- customDomainErrors
- connectionIssue
- sendLimitReached
- lemwarmPaused
- annotated
- enrichmentDone
- enrichmentError
- callRecordingDone
- callTranscriptDone
- inboxLabelUpdated
- signalRegistered
- deliverabilityAlertTriggered
campaignId:
type: string
description: The ID of the campaign the webhook is associated with (if any)
createdAt:
type: string
format: date-time
description: Creation timestamp
zapId:
type: integer
description: Zapier integration ID (if the destination is a Zapier webhook)
securitySchemes:
basicAuth:
type: http
scheme: basic
x-refined-from:
- lemlist-openapi-v1-legacy.json
- lemlist-openapi-v2.json
- lemlist-openapi.yml