Build on top of FollowUpCard
Our REST API lets you integrate FollowUpCard with your internal tools, CRMs, and custom workflows. Access contacts, events, workflows, and AI features programmatically.
Authentication
All API requests require authentication via API key. Generate and manage keys in your FollowUpCard dashboard under Settings > API Keys.
Include your API key in the Authorization header of every request.
Rate Limits
- 1,000 requests per day (Business plan)
- 10,000 requests per day (Enterprise)
- Rate limit headers included in all responses
curl -X GET "https://api.followupcard.com/v1/contacts" \
-H "Authorization: Bearer fuc_sk_live_xxxx" \
-H "Content-Type: application/json"Example Endpoints
A preview of available API endpoints
/api/v1/contacts{
"data": [
{
"id": "cont_abc123",
"first_name": "Sarah",
"last_name": "Johnson",
"email": "[email protected]",
"company": "TechCorp",
"title": "VP of Sales",
"tags": ["vip", "sxsw-2024"],
"event_id": "evt_xyz789",
"created_at": "2024-03-15T10:30:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 142
}
}Use case: Sync contacts to your data warehouse or display in a custom dashboard.
/api/v1/contacts{
"id": "cont_def456",
"first_name": "Mike",
"last_name": "Chen",
"email": "[email protected]",
"company": "StartupXYZ",
"title": "CTO",
"phone": "+1-555-123-4567",
"event_id": "evt_xyz789",
"tags": ["technical", "decision-maker"],
"notes": "Met at AI panel discussion",
"created_at": "2024-03-16T14:22:00Z"
}Use case: Import contacts from your existing CRM or lead capture forms.
/api/v1/events{
"data": [
{
"id": "evt_xyz789",
"name": "SXSW 2024",
"location": "Austin, TX",
"start_date": "2024-03-08",
"end_date": "2024-03-16",
"contact_count": 47,
"default_workflow_id": "wf_abc123"
}
]
}Use case: Display event analytics or sync event data to your calendar.
/api/v1/workflows/run{
"execution_id": "exec_ghi789",
"workflow_id": "wf_abc123",
"contact_id": "cont_def456",
"status": "running",
"started_at": "2024-03-16T14:30:00Z"
}Use case: Trigger follow-up sequences from external systems or custom logic.
/api/v1/messages{
"draft_id": "draft_jkl012",
"contact_id": "cont_def456",
"channel": "email",
"subject": "Great meeting you at SXSW!",
"body": "Hi Mike,\n\nIt was great connecting at the AI panel discussion at SXSW...",
"status": "draft",
"created_at": "2024-03-16T14:35:00Z"
}Use case: Generate AI message drafts programmatically or integrate messaging into your workflow.
Webhooks
Receive real-time notifications when events occur in FollowUpCard
Configure webhook endpoints in your dashboard to receive POST requests when contacts are created, workflows execute, or messages are sent. All payloads are signed for verification.
contact.created{
"event": "contact.created",
"timestamp": "2024-03-16T14:22:00Z",
"data": {
"id": "cont_def456",
"first_name": "Mike",
"last_name": "Chen",
"email": "[email protected]",
"source": "qr_scan"
}
}contact.updated{
"event": "contact.updated",
"timestamp": "2024-03-16T15:00:00Z",
"data": {
"id": "cont_def456",
"changes": {
"tags": {
"added": ["vip"],
"removed": []
}
}
}
}workflow.execution.started{
"event": "workflow.execution.started",
"timestamp": "2024-03-16T14:30:00Z",
"data": {
"execution_id": "exec_ghi789",
"workflow_id": "wf_abc123",
"contact_id": "cont_def456"
}
}workflow.execution.completed{
"event": "workflow.execution.completed",
"timestamp": "2024-03-19T14:30:00Z",
"data": {
"execution_id": "exec_ghi789",
"workflow_id": "wf_abc123",
"contact_id": "cont_def456",
"steps_completed": 3
}
}message.sent{
"event": "message.sent",
"timestamp": "2024-03-16T14:35:30Z",
"data": {
"message_id": "msg_mno345",
"contact_id": "cont_def456",
"channel": "email",
"status": "delivered"
}
}message.bounced{
"event": "message.bounced",
"timestamp": "2024-03-16T14:36:00Z",
"data": {
"message_id": "msg_mno345",
"contact_id": "cont_def456",
"channel": "email",
"bounce_type": "hard",
"reason": "invalid_email"
}
}Ready to integrate?
Upgrade to the Business plan to get API access, webhooks, and full documentation.