Documentation
Everything you need to integrate BŪP's relationship intelligence into your application.
Quick Start
1. Get your API key
Create a free account to get your API key, or test immediately with our sandbox (no key required).
Get your API key2. Make your first request
Try the sandbox - no API key required for testing:
curl -X POST https://api.bup.ai/api/v1/actions/next \
-H "Content-Type: application/json" \
-d '{"contact":{"email":"test@example.com"},"context":{}}'3. Explore the response
The API returns an action recommendation with a personalized message draft:
{
"success": true,
"action": {
"type": "follow_up_email",
"timing": "2026-02-05T09:00:00Z",
"priority": "high",
"confidence": 0.87
},
"message": {
"subject": "Following up on our conversation",
"body": "Hi there, I wanted to follow up...",
"tone": "warm_professional"
},
"reasoning": "7 days since last contact...",
"sandbox": true
}API Reference
/api/v1/actions/nextGet the next best action recommendation for a contact
/api/v1/actions/batchGet action recommendations for multiple contacts
/api/v1/enrich/contactEnrich a contact with professional data
/api/v1/enrich/companyGet detailed company information from domain
Authentication
Pass your API key in the X-API-Key header:
curl https://api.bup.ai/api/v1/actions/next \ -H "X-API-Key: REDACTED-EXAMPLE-KEY" \ -H "Content-Type: application/json" \ -d '...'
API Key Tiers
| Tier | Key Format | Rate Limit | Features |
|---|---|---|---|
| Sandbox | No key required | 10/hour | Mock responses |
| Developer | bup_test_* | 100/hour | Real processing |
| Production | bup_live_* | Custom | Full access |
Next Best Action
The core endpoint that analyzes contact context and returns AI-powered action recommendations.
Request Body
| Field | Type | Description |
|---|---|---|
| contact | object | Contact information (name, email, company, title) |
| context | object | Interaction context (last_interaction, deal_stage, notes) |
Action Types
follow_up_emailinitial_outreachcheck_in_callsend_resourceschedule_meetinglinkedin_connectwaitclose_loopre_engageDeal Stages
coldawarenessdiscoveryconsiderationevaluationdecisionclosed_wonclosed_lostnurtureRate Limits
Rate limits are applied per API key. When you exceed your limit, requests return HTTP 429.
The response includes headers showing your current usage:
X-RateLimit-Limit: 100 X-RateLimit-Remaining: 95 X-RateLimit-Reset: 1706745600
Troubleshooting
Common errors and how to resolve them. Every error response returns a JSON body with an error message describing the problem.
| Status | Meaning | How to fix |
|---|---|---|
| 401 | Missing or invalid API key | Pass your key in the X-API-Key header and confirm it is active and matches the environment (bup_test_* vs bup_live_*). |
| 429 | Rate limit exceeded | Slow down and check the X-RateLimit-* headers. Upgrade your tier for a higher limit. |
| 400 | Malformed request body | Ensure the JSON is valid and includes the required contact and context objects. |
| 404 | Endpoint not found | Verify the URL and API version path (/api/v1/...). |
| — | Getting mock data back | The sandbox returns mock responses. Use a bup_test_* or bup_live_* key for real processing. |
Support
Need help, or found an issue with the API? Our team is here to help.
Email support@bup.ai and we'll get back to you. Please include your request details and any error response so we can assist quickly.