Snov.io · AsyncAPI Specification
Snov Io Webhooks
Version
View Spec
View on GitHub
Sales AutomationEmail FinderEmail VerificationLead GenerationDrip CampaignsCRMLinkedIn AutomationProspect ManagementData EnrichmentCold EmailAsyncAPIEvents
AsyncAPI Specification
name: Snov.io Webhook Event Catalog
specificationVersion: '0.1'
generated: '2026-08-13'
method: searched
source: https://snov.io/api
description: >-
Snov.io publishes NO AsyncAPI document and no event-schema registry, but it does publish a
complete, tabulated webhook catalog in its developer reference: eight event objects, twenty
actions, a stated delivery contract and a full retry ladder. Captured here verbatim in
substance. Subscriptions are managed over REST at /v2/webhooks; there is no UI-only path and
no signing scheme.
asyncapi_published: false
asyncapi_searched:
paths:
- https://snov.io/asyncapi.yaml
- https://api.snov.io/asyncapi.json
- GitHub devsnovio org
note: No AsyncAPI artifact exists on any Snov.io host or repository.
delivery:
transport: HTTP POST
content_type: application/json
target: subscriber-supplied endpoint URL
success_criteria: HTTP status in the 200-299 range received within 3 seconds
timeout_seconds: 3
signing: none
note: >-
No HMAC signature, no shared secret, no timestamp header and no source IP allowlist is
published. A receiver cannot cryptographically verify that a delivery came from Snov.io.
This is a material security gap for an events surface that carries prospect PII.
retry_policy:
attempts: 7
window_hours: 38
on_exhaustion: subscription is automatically deactivated
schedule:
- attempt: 1
after: immediately after the event
cumulative: 0
- attempt: 2
after: 20 minutes after the last attempt
cumulative: 20 minutes
- attempt: 3
after: 40 minutes after the last attempt
cumulative: 1 hour
- attempt: 4
after: 60 minutes after the last attempt
cumulative: 2 hours
- attempt: 5
after: 4 hours after the last attempt
cumulative: 6 hours
- attempt: 6
after: 8 hours after the last attempt
cumulative: 14 hours
- attempt: 7
after: 24 hours after the last attempt
cumulative: 38 hours
limits:
max_subscriptions: 50
plan_requirement: premium plans
note: Premium plan users can create up to 50 webhooks per account.
subscription_management:
base_url: https://api.snov.io
operations:
- operationId: listWebhooks
method: GET
path: /v2/webhooks
- operationId: addWebhook
method: POST
path: /v2/webhooks
- operationId: updateWebhook
method: PUT
path: /v2/webhooks/{id}
note: Toggles status between active and deactivated.
- operationId: deleteWebhook
method: DELETE
path: /v2/webhooks/{id}
subscription_model:
event_object: string
event_action: string
endpoint_url: string
status:
- active
- deactivated
created_at: Unix timestamp (integer)
events:
- object: campaign_email
actions:
- action: sent
trigger: When any email is sent to the recipient in any drip campaign
- action: first_sent
trigger: When the first email is sent to the recipient in any drip campaign
- action: opened
trigger: When a recipient opens any email from any drip campaign
- action: bounced
trigger: When a campaign email bounces
- action: clicked
trigger: When a recipient clicked a link in a campaign email
- object: campaign_reply
actions:
- action: received
trigger: When the recipient responds to any email in any of the campaigns
- action: first_received
trigger: When the recipient responds to the email for the first time in any of the campaigns
- action: autoreply_received
trigger: When you receive an auto-reply to a campaign email
- object: campaign_li_reply
actions:
- action: received
trigger: >-
When the recipient sends a subsequent reply over LinkedIn — to a connection request, to
a direct message or to an InMail — in any of the campaigns
- action: first_received
trigger: >-
When the recipient sends their first reply over LinkedIn — to a connection request, to
a direct message or to an InMail — in any of the campaigns
- object: campaign_li
actions:
- action: connection_request_accepted
trigger: When the recipient accepts a LinkedIn connection request sent from a campaign
- object: company
actions:
- action: found_domains_by_names
trigger: When you request a company's domain based on its name
- action: found_company_by_domain
trigger: When you search a company by its domain
- object: prospect
actions:
- action: found_by_li_url
trigger: When you request a prospect's profile info based on their LinkedIn URL
- action: found_emails_by_name_by_domain
trigger: When you search for a prospect's email
- action: campaign_finished
trigger: 'When a campaign is completed for a recipient (status: Finished)'
- action: unsubscribed
trigger: When a campaign recipient unsubscribed from your emails
- action: found_company_by_domain
trigger: When you search prospects by company domain
- object: email_verification
actions:
- action: verified
trigger: When you request email verification
- object: email
actions:
- action: found_emails_by_domain
trigger: When you search all emails by domain
- action: found_generic_contacts_by_domain
trigger: When you search generic emails by domain
- action: found_prospect_emails
trigger: When you search prospect emails
- object: database_search
actions:
- action: task_result
trigger: When you request a prospect or company search
inline_callbacks:
supported: true
parameter: webhook_url
description: >-
Distinct from subscriptions. Most async /start operations accept a per-request `webhook_url`
input parameter; supplying it makes Snov.io POST that one task's completed result to the URL
instead of requiring the caller to poll the matching /result endpoint with the task_hash.
operations:
- startDomainSearch
- startDomainProspectSearch
- startDomainEmailsSearch
- startGenericContactsSearch
- startFindEmailsByName
- startFindDomainByCompanyName
- startLinkedInProfileEnrichment
- startEmailVerification
cross_reference: conventions/snov-io-conventions.yml
summary:
event_objects: 8
event_actions: 20
signed: false
asyncapi: false
max_subscriptions: 50
finding: >-
A genuinely well-documented webhook surface — the retry ladder and success criteria are
published to a level of detail most providers skip — undermined by the absence of any
payload signing and of any machine-readable event schema. There is no AsyncAPI document and
no per-event payload schema, so a subscriber cannot generate types for the twenty events it
can subscribe to.
Work with this as data
Every AsyncAPI spec 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 asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.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.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/snov-io-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?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.