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 key

2. 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

POST/api/v1/actions/next

Get the next best action recommendation for a contact

POST/api/v1/actions/batch

Get action recommendations for multiple contacts

POST/api/v1/enrich/contact

Enrich a contact with professional data

POST/api/v1/enrich/company

Get 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: bup_live_xxxxx" \
  -H "Content-Type: application/json" \
  -d '...'

API Key Tiers

TierKey FormatRate LimitFeatures
SandboxNo key required10/hourMock responses
Developerbup_test_*100/hourReal processing
Productionbup_live_*CustomFull access

Next Best Action

The core endpoint that analyzes contact context and returns AI-powered action recommendations.

Request Body

FieldTypeDescription
contactobjectContact information (name, email, company, title)
contextobjectInteraction context (last_interaction, deal_stage, notes)

Action Types

follow_up_emailinitial_outreachcheck_in_callsend_resourceschedule_meetinglinkedin_connectwaitclose_loopre_engage

Deal Stages

coldawarenessdiscoveryconsiderationevaluationdecisionclosed_wonclosed_lostnurture

Rate 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