v1 — Stable

Platform API

RESTful API for integrating with the insurance platform. Manage clients, proposals, webhooks, and more.

Authentication

All API requests require a Bearer token. Generate API keys from /dashboard/agency/api-keys.

curl -H "Authorization: Bearer sk_live_your_key_here" \
https://ibc-proposals.vercel.app/api/v1/clients
Key Formats
sk_live_... — Productionsk_test_... — Sandbox (100 req/hr)

Base URL

https://ibc-proposals.vercel.app/api/v1

Rate Limits

Production: 1,000 req/hour
Sandbox: 100 req/hour
Exceeding returns 429 with Retry-After header.

Permissions

clients:readRead client data
clients:writeCreate and update clients
proposals:readRead proposal data
webhooks:writeRegister and manage webhooks
*Full access (all permissions)

Error Format

{ "error": { "code": "NOT_FOUND", "message": "Client not found", "request_id": "req_abc123" } }

Endpoints

GET/api/v1/clientsList clients
POST/api/v1/clientsCreate client
GET/api/v1/clients/{id}Get client detail
PATCH/api/v1/clients/{id}Update client
POST/api/v1/clients/{id}/notesAdd client note
GET/api/v1/proposalsList proposals
GET/api/v1/proposals/{id}Get proposal detail
GET/api/v1/agentsList agents
GET/api/v1/webhooksList webhooks
POST/api/v1/webhooksRegister webhook
DELETE/api/v1/webhooks/{id}Remove webhook
POST/api/v1/webhooks/inboundReceive events

Webhook Events

When you register an outbound webhook, the platform sends POST requests to your URL when these events occur. Each payload includes an X-IBC-Signature HMAC-SHA256 header for verification.

client.createdA new client is added to the CRM
client.updatedClient record is modified
proposal.sentA proposal is emailed to a client
proposal.viewedA client opens their proposal link
proposal.enrolledA client enrolls through a proposal
soa.signedA Scope of Appointment is signed
appointment.bookedA client books an appointment
Payload Shape
{ "event": "proposal.viewed", "data": { "proposalId": 123, "clientId": "uuid", "viewCount": 3 }, "timestamp": "2026-03-24T15:30:00Z", "webhook_id": "uuid" } Headers: X-IBC-Signature: sha256=a1b2c3d4... X-IBC-Event: proposal.viewed Content-Type: application/json
IBC Platform API v1 · Integrations · Need help? Contact support.