Superkabe's webhook API lets external systems push leads and receive real-time status changes. POST leads to /api/v1/leads/ingest with your API key; receive webhooks for status transitions (GREEN/YELLOW/RED), pause events, and bounce events. All endpoints are HMAC-signed.
API & Webhook Integration
Complete API reference for Clay webhooks, direct lead ingestion, and campaign resolution
Integration Overview
Superkabe provides three primary integration points:
- 1. Clay Webhook — Receive enriched leads from Clay tables
- 2. Direct Ingestion API — Programmatic lead submission
- 3. Campaign Resolution API — Automate stalled campaign recovery
1. Clay Webhook Integration
Send enriched leads from Clay directly to Superkabe for campaign routing and protection.
Endpoint
POST https://api.superkabe.com/api/ingest/clayAuthentication
Header: x-organization-id
Your organization ID from Superkabe dashboard (Settings → API Keys)
Request Body
{
"email": "john.doe@example.com", // Required
"persona": "VP Engineering", // Optional, defaults to "General"
"lead_score": 85, // Optional, defaults to 50
"firstName": "John", // Optional
"lastName": "Doe", // Optional
"company": "Acme Corp", // Optional
"campaignId": "campaign_xyz" // Optional (for direct assignment)
}💡 Flexible Field Mapping
Clay webhook supports case-insensitive field lookup:
- •
email,E-mail, orwork email - •
persona,job title,title, orrole - •
lead score,score, orlead_score
Response
{
"message": "Lead ingested successfully",
"leadId": "lead_abc123",
"assignedCampaignId": "campaign_xyz" // null if no routing rule matched
}2. Direct Ingestion API
Programmatically submit leads to Superkabe from your own systems.
Endpoint
POST https://api.superkabe.com/api/ingestAuthentication
Header: x-organization-id
Your organization ID from Superkabe dashboard
Request Body
{
"email": "jane.smith@company.com", // Required
"persona": "CTO", // Required
"lead_score": 90, // Required (0-100)
"source": "api" // Optional
}Response
{
"message": "Lead ingested successfully",
"leadId": "lead_def456",
"assignedCampaignId": "campaign_123"
}Error Codes
| Status | Reason | Solution |
|---|---|---|
| 400 | Missing required fields | Check request body for email, persona, lead_score |
| 401 | Missing organization context | Add x-organization-id header |
| 409 | Duplicate webhook event | Event already processed (idempotency) |
| 500 | Internal server error | Retry with exponential backoff |
Best Practices
- 1. Idempotency: All webhook endpoints use idempotency keys to prevent duplicate processing
- 2. Retries: Implement exponential backoff for 5xx errors
- 3. Webhook Security: Configure webhook secrets in Clay and Superkabe for HMAC signature validation
- 4. Field Mapping: Use consistent field names in Clay to avoid case-sensitivity issues
- 5. Monitoring: Check Superkabe audit logs to verify successful webhook delivery
Testing Your Integration
cURL Example - Clay Webhook
curl -X POST https://api.superkabe.com/api/ingest/clay \
-H "Content-Type: application/json" \
-H "x-organization-id: YOUR_ORG_ID" \
-d '{
"email": "test@example.com",
"persona": "VP Sales",
"lead_score": 75,
"firstName": "Test",
"lastName": "User"
}'Frequently Asked Questions
Where do I find my API key?
+
Dashboard → Settings → API Keys. Keys are workspace-scoped. Rotate them at any time; old keys invalidate immediately.
Are webhook payloads signed?
+
Yes — every outgoing webhook carries an X-Superkabe-Signature header (HMAC-SHA256 over the raw body, keyed with your webhook secret). Verify before trusting the payload.
What are the rate limits?
+
Default: 600 requests/minute per workspace. Enterprise workspaces can request higher limits. 429 responses carry a Retry-After header.