GetOutpulse API
REST API for integrating with Zapier, Make, or your own tools. All endpoints are under /api/v1/.
Authentication
Generate API keys in Settings → API Keys. Pass them as a Bearer token in every request:
Authorization: Bearer op_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
All endpoints return 401 if the key is missing or revoked, and 429 if rate-limited (60 req/min per key).
Endpoints
/api/v1/contactsList contacts. Optional query params: status, listId, limit (max 500), offset.
Response
{ contacts: Contact[], total: number }/api/v1/contactsCreate a contact.
Request body
{ email: string, contactName?: string, company?: string, domain?: string, role?: string, listId?: number }Response
{ id: number }/api/v1/contacts/:id/enrichTrigger AI enrichment for a single contact. Returns enriched contact fields.
Response
{ contact: Contact }/api/v1/leadsFind leads. Query params: source (apollo|google_places|domain), keyword, location, domain, limit.
Response
{ leads: Lead[] }/api/v1/statsGet account overview stats: total contacts, sent, replied, bounced, open rate.
Response
{ total, sent, replied, bounced, openRate }Webhooks
Configure outbound webhooks in Settings → Integrations. Each event POST a JSON payload to your URL with an X-Webhook-Signature HMAC-SHA256 header for verification.
contact.sentFired after a contact email is sent successfully.
contact.repliedFired when a reply is detected during inbox sync.
contact.bouncedFired when Brevo reports a hard bounce.
contact.unsubscribedFired when a contact unsubscribes or marks as spam.
Example payload
{
"event": "contact.replied",
"payload": {
"email": "[email protected]",
"contactId": 42,
"repliedAt": "2024-01-15T10:23:00.000Z",
"classification": "interested"
},
"firedAt": "2024-01-15T10:23:01.000Z"
}GetOutpulse · All API requests are logged and counted against your monthly usage quota.