API Reference | BrandJet AI

BrandJet API Reference

v1.0.0

OAS 3.0.0

BrandJet AI API

BrandJet AI is a multi-channel outreach platform that lets you find leads, run campaigns across email, LinkedIn, Twitter, WhatsApp, and Instagram, and manage all replies in one inbox — all through a single, consistent REST API.

What you can do

How it works

  1. Get an API key from your dashboard.
  2. Make requests to the API with your key in the x-api-key header.
  3. All responses are wrapped in a standard envelope with data and request_id.

Authentication

Pass your API key in the x-api-key header on every request:

x-api-key: bj_live_your_key_here

Rate Limits

Rate limits are plan-based. Every response includes these headers:

Header Description
X-RateLimit-Limit Requests allowed per minute
X-RateLimit-Remaining Requests remaining this window
X-RateLimit-Reset Seconds until the window resets
X-RateLimit-Daily-Limit Requests allowed per day
X-RateLimit-Daily-Remaining Requests remaining today

Webhooks

Webhooks let you receive real-time HTTP callbacks whenever events occur in your BrandJet AI account. Instead of polling the API, configure an endpoint and we will POST event payloads to it automatically.

Payload format

Every delivery sends a JSON body with this structure:

{
  "id": "a1b2c3d4-...",
  "event": "lead.created",
  "timestamp": "2026-04-10T14:30:00.000Z",
  "data": { ... }
}

Verifying signatures

If you provide a secret when creating an endpoint, every delivery includes an X-Webhook-Signature header containing an HMAC-SHA256 digest of the raw request body:

X-Webhook-Signature: sha256=<hex-digest>

Verify it on your server like this (Node.js example):

const crypto = require('crypto');
const expected = 'sha256=' + crypto.createHmac('sha256', secret).update(rawBody).digest('hex');
const valid = crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected));

Retries & back-off

Failed deliveries (non-2xx response or timeout) are retried with exponential back-off. You can configure max_retries (0–10, default 3) and timeout_ms (1–120 s, default 30 s) per endpoint.

Campaign activity

Subscribe to campaign.activity to receive one delivery per outreach event on a lead: sent, delivered, opened, clicked, replied, bounced, connection_request_sent, connection_accepted, profile_visited, reaction_sent, follow_request_sent, follow_request_accepted, plus skips and failures. The data object carries campaignId, campaignName, executionId, leadId, leadName, leadEmail, leadLinkedinUrl, eventType, channel, success, errorMessage, accountId, accountName and occurredAt. Filter on channel to keep only LinkedIn events. The same history is available on demand from GET /campaigns/{campaignId}/analytics/events.

Event categories

Category Example events
CRM / Leads lead.created, lead.updated, lead.stage_changed, lead.enriched
Campaigns campaign.launched, campaign.completed, campaign.reply_received, campaign.activity
Inbox inbox.message_received, inbox.conversation_created
Brand Monitoring mention.created, mention.updated
AI Agents ai_agent.started, ai_agent.completed, ai_agent.approval_needed
LLM Monitoring llm_monitor.brand_mentioned, llm_monitor.brand_missing
Email Infrastructure email.domain_dns_verified, email.mailbox_provisioned
Billing & Credits billing.payment_succeeded, credits.low, credits.depleted
Integrations integration.connected, integration.disconnected
Team team.member_invited, team.member_joined

Use the GET /webhooks/event-types endpoint for the full, machine-readable list.

Server

Server:https://api.brandjet.ai

Authentication

Selected Auth Type: ApiKey

Name :
x-api-key
Clear Value
Value :
Show Password

Me Operations

Validate API key

Validates the API key and returns key metadata. Use this to verify a key is active and inspect its scopes.

Responses

API key is valid.

{
  "valid": true,
  "api_key_id": "550e8400-e29b-41d4-a716-446655440000",
  "key_prefix": "bj_live_abc...",
  "scopes": [
    "campaigns:read",
    "leads:read",
    "leads:write"
  ],
  "expires_at": "2027-01-01T00:00:00.000Z",
  "brand_id": "550e8400-e29b-41d4-a716-446655440001",
  "user_id": "550e8400-e29b-41d4-a716-446655440002"
}

Get account info

Returns the user account associated with this API key, including profile information.

Responses

Account info retrieved successfully.

{
  "id": "550e8400-e29b-41d4-a716-446655440002",
  "email": "user@example.com",
  "first_name": "John",
  "last_name": "Doe",
  "picture": "https://example.com/photo.jpg",
  "company": "Acme Corp",
  "position": "CEO",
  "country": "US",
  "created_at": "2026-01-15T10:30:00.000Z"
}

Get brand

Returns the brand this API key is bound to.

Responses

Brand retrieved successfully.

{
  "id": "550e8400-e29b-41d4-a716-446655440001",
  "name": "Acme Corp",
  "description": "Enterprise SaaS for project management",
  "website": "https://acme.com",
  "logo": "https://acme.com/logo.png",
  "industry": "Technology",
  "business_type": "B2B SaaS",
  "target_audience": [
    "SMBs",
    "Enterprise"
  ],
  "is_active": true,
  "is_monitoring_active": false,
  "created_at": "2026-01-15T10:30:00.000Z",
  "updated_at": "2026-03-28T06:00:00.000Z"
}