1. Getting Started
Plusvibe.ai API Documentation
  • Getting Started
    • Getting Started
    • Webhooks - Overview
    • Webhooks - Payload - Email Replies
    • Webhooks - Payload - Lead Marked As Label
    • Webhooks - Payload - Campaign Emails Sent
    • Webhooks - Payload - Bounced Email
    • Webhooks - Payload - Unibox Email Sent
    • Webhooks - Payload - System Alert
    • Workspace Deep Link Parameter
  • User API Endpoints
    • Workspace
      • Get workspaces
      • Add a new workspace
      • Copy workspace settings
      • Invite a user to a workspace
    • Campaign
      • Create a new campaign
      • Create a new subsequence
      • List campaigns (deprecated)
      • List all campaigns
      • Get campaign name
      • Get campaign status
      • Get campaign email accounts
      • Get campaign emails
      • Get campaign variation stats
      • Set campaign name
      • Set campaign Schedules (deprecated)
      • Activate campaign
      • Pause campaign
      • Update Campaign
      • Delete or archive a campaign
    • Lead
      • Add leads to a campaign
      • Add leads to a subsequence campaign
      • Get or search for lead
      • Delete leads from a campaign
      • Lead Variable/Label Update or Add
      • Fetch workspace leads
      • Update the status of a lead
      • Get lead counts by status
    • Email Account
      • List all email accounts in the workspace
      • Get email account status
      • Check account vitals
      • Enable Email account warmup
      • Pause Email account warmup
      • Delete Email account
      • Get Warmup Stats (Workspace-Level)
      • Bulk Add SMTP Accounts
      • Bulk Update Email Accounts
      • Bulk Update Email Account Warmup Status
      • Bulk Assign/Remove Tags from Email Accounts
      • Bulk reconnect email accounts
      • Get email account stats for a date range
      • Move Email Accounts to Another Workspace
    • Analytics
      • Get campaign summary
      • Get campaign count (deprecated)
      • Get campaign stats
      • Get all campaigns statistics
    • Unibox
      • Get emails
      • Get emails in Others folder
      • Get count of unread emails
      • Reply to an email
      • Forward an existing email
      • Compose New Email
      • Mark Email Read
      • Send to any address
      • Save Email as Draft
      • Delete an Entire Email Thread
      • Delete a Single Email Message
    • Blocklist
      • Get entries in the blocklist
      • Adds entries to the blocklist
      • Delete entries in the blocklist
    • Webhook
      • Add a new webhook
      • List webhooks
      • Delete webhook(s)
    • Tags
      • List Tags
      • Create a New Tag
      • Update an Existing Tag
      • Delete Multiple Tags
    • Client Access
      • Create client
      • Edit client
      • Update client status
      • Delete client
      • List clients
    • Email Placement Test
      • Parent Recurring Test
        • Create a new parent test (recurring test)
        • Update a parent test
        • List all parent tests
        • Get parent test details
        • Delete parent test(s)
        • Duplicate a parent test
      • Child (Test Run) Test
        • List child (Test Run) tests
        • Get child test details
      • Results & Analytics
        • Get test summary
        • Get detailed test statistics
        • Get test result for a sender account
      • Get recipient providers
    • Workspace Additional Fields
      • List Additional Fields
      • Create Additional Field
      • Update Additional Field Default Value
      • Delete Additional Field
    • DFY
      • Search Domain Availability
      • List DFY Subscriptions
      • Place a DFY Order
      • Cancel a DFY Subscription
    • Schemas
      • ScheduleV2
      • Campaign
      • EmailAccountId
      • WarmupStatus
      • BulkUpdateWarmupRequest
      • TagAction
      • BulkTagAssignmentRequest
      • ObjectId
      • HexColor
      • CreateTagRequest
      • UpdateTagRequest
      • DeleteTagsRequest
      • DeleteCampaignRequest
      • BulkReconnectRequest
      • SuccessResponse
      • ErrorResponse
      • ClientWorkspacePermission
      • CreateClientRequest
      • CreateClientResponse
      • UpdateClientRequest
      • ClientListItem
      • PatchClientStatusRequest
      • GenericSuccessResponse
      • ParentTest
      • ParentTestDetail
      • ChildTest
      • ChildTestDetail
      • VariationStepStats
      • VariationStats
      • CopyWorkspaceRequest
      • ResourceType
      • CopyWorkspaceResponse
      • EmailStatsResponse
      • EmailStatsHeader
      • EmailStatsChartPoint
      • ValidationErrorResponse
      • CheckSuccess
      • AuthFailure
  • For Email Infra Provider
    • Email Infra Provider Guide
    • List workspaces
      POST
    • List all email accounts in the workspace
      GET
    • Check if an email exists in another workspace
      GET
    • Initiate Google OAuth login flow
      POST
    • Initiate Microsoft OAuth login flow
      POST
    • Bulk Add SMTP Accounts (via Username and Password)
      POST
    • Schemas
      • AuthFailure
      • CheckSuccess
      • ErrorResponse
  1. Getting Started

Webhooks - Payload - System Alert

Below is a sample payload for the "System Alert" (SYSTEM_ALERT) webhook and its corresponding field descriptions.
This event is triggered when something in the workspace needs attention — an email account disconnecting, forwarded replies bouncing, billing problems and more. When setting up the webhook you choose which alerts to receive; you only get the alerts you selected.
FieldDescription
webhook_idUnique identifier for this webhook event.
webhook_nameName of the webhook.
workspace_nameName of the workspace.
webhook_eventType of event that triggered the webhook (SYSTEM_ALERT).
alertWhich alert fired (see the alert list below).
alert_typeThe severity label you assigned to this alert when configuring the webhook (NORMAL, ALERT or URGENT).
dataAlert-specific details; the structure varies per alert — see the samples below. Arrays inside data are capped at 10 items; a count field alongside (e.g. total_count) always reflects the full number.
{
"webhook_id": "507f1f77bcf86cd799439011",
"webhook_name": "Account health alerts",
"workspace_name": "Acme Workspace",
"webhook_event": "SYSTEM_ALERT",
"alert": "EMAIL_ACCOUNT_DISCONNECTED",
"alert_type": "URGENT",
"data": {
"total_count": 3,
"accounts": [
{ "email": "sales@acme.com", "provider": "GOOGLE_WORKSPACE", "status": "DISCONNECTED", "warmup_status": "PAUSED", "reason": "invalid_grant", "error_time": "2026-07-26T10:15:00.000Z" }
]
}
}

Alert types and their data#

EMAIL_ACCOUNT_DISCONNECTED — one or more sending accounts went into an error state (see the full sample above):
{
"total_count": 3,
"accounts": [
{ "email": "sales@acme.com", "provider": "GOOGLE_WORKSPACE", "status": "DISCONNECTED", "warmup_status": "PAUSED", "reason": "invalid_grant", "error_time": "2026-07-26T10:15:00.000Z" }
]
}
EMAIL_ACCOUNT_FORWARDING_BOUNCED — a reply forwarded from a sending account bounced:
{
"total_count": 2,
"accounts": [
{ "email": "sales@acme.com", "forwarded_to": "inbox@acme.com" }
]
}
INTEGRATION_GSHEET_SYNC_FAILED — a Google Sheet sync failed (sync_type is LEAD_IMPORT or BLOCKLIST_IMPORT; the campaign fields are present for lead imports only):
{
"sync_type": "LEAD_IMPORT",
"campaign_id": "507f1f77bcf86cd799439015",
"campaign_name": "Q3 Outreach",
"gsheet_url": "https://docs.google.com/spreadsheets/d/1AbCdEfGhIjKlMnOpQrStUvWxYz",
"error": "Range not found",
"error_count": 3
}
BILLING_PAYMENT_FAILED — a subscription charge failed:
{
"stripe_event": "charge.failed",
"stripe_customer_id": "cus_SampleCustomer01",
"payment_method_type": "us_bank_account",
"amount_due": 99.00,
"currency": "usd",
"invoice_id": "in_SampleInvoice01"
}
BILLING_SUBSCRIPTION_EXPIRED — the workspace's PlusVibe subscription expired (subscription_type: TRIAL or PAID):
{ "subscription_type": "TRIAL" }
BILLING_DFY_SUBSCRIPTION_EXPIRED — a Done-For-You email subscription expired:
{
"service": "DFY",
"affected_emails_count": 12,
"affected_emails": ["a@acme.com", "b@acme.com", "c@acme.com"]
}
BILLING_DFY_DOMAIN_CANCELLED — a DFY domain subscription was cancelled:
{
"service": "DFY_DOMAIN",
"stripe_sub_id": "sub_SampleDomainSub01",
"user_cancelled": true,
"domains": ["acme.com", "acme.io"]
}
BILLING_DFY_EMAIL_EXPIRED — a DFY email subscription ended:
{ "service": "DFY_EMAIL", "stripe_sub_id": "sub_SampleEmailSub01" }
BILLING_DFY_PAYMENT_FAILING — a DFY subscription payment is failing and the service will expire if unresolved:
{
"service": "DFY_EMAIL",
"stripe_sub_status": "past_due",
"valid_till": "2026-08-02T10:15:00.000Z",
"items_count": 5,
"items": ["a@acme.com", "b@acme.com"]
}
BILLING_PLACEMENT_SUBSCRIPTION_EXPIRED — an email placement test subscription expired:
{
"service": "EMAIL_PLACEMENT",
"plan": "SCALE",
"stripe_sub_id": "sub_SamplePlacementSub01",
"status": "canceled"
}
INTEGRATION_DISCONNECTED — a connected integration lost authorization:
{
"integration": "HUBSPOT",
"integration_name": "HubSpot",
"reason": "Refresh token expired or revoked"
}
WEBHOOK_DISABLED — another webhook in the workspace was automatically disabled after repeated failed deliveries (the disabled webhook itself is never notified):
{
"disabled_webhook_id": "507f1f77bcf86cd799439021",
"disabled_webhook_name": "My CRM webhook",
"reason": "MAX_FAILURES_REACHED",
"consecutive_failures": 50,
"last_error": "connect ETIMEDOUT",
"disabled_at": "2026-07-26T10:15:00.000Z"
}
CAMPAIGN_AUTO_PAUSED — a campaign was automatically paused because its bounce rate exceeded the configured limit:
{
"campaign_id": "507f1f77bcf86cd799439015",
"campaign_name": "Q3 Outreach",
"reason": "BOUNCE_RATE_EXCEEDED",
"bounce_rate": 7,
"bounce_rate_limit": 5,
"bounced_count": 12,
"sent_count": 160
}
From the web app's webhook settings you can send sample payloads — for SYSTEM_ALERT this sends one sample delivery per alert type so you can test your handler end to end.
Modified at 2026-07-26 16:41:52
Previous
Webhooks - Payload - Unibox Email Sent
Next
Workspace Deep Link Parameter
Built with