Build on iClosed

Build on iClosed

Build on iClosed

Connect your CRM, reporting stack, and internal tools. Sync contacts, automate bookings, push outcomes — 

all through one REST API.

Connect your CRM, reporting stack, and internal tools. Sync contacts, automate bookings, push outcomes — 

all through one REST API.

Connect your CRM, reporting stack, and internal tools. Sync contacts, automate bookings, push outcomes — 

all through one REST API.

6

6

Webhook

10

10

Resources

24

24

Endpoints

RESOURCES

10 resources, one consistent API

10 resources, one consistent API

The most common integrations across thousands of sales teams on our platform.

Contacts

Deals

Events

Products

Outcomes

Fields

Calls

Transactions

User Availabilities

Users

Contacts

Create, read and update contacts. Sync leads with your CRM, attach notes, and access extended contact stats.

Contacts

Deals

Events

Products

Outcomes

Fields

Calls

Transactions

User Availabilities

Users

Contacts

Create, read, update, and delete contacts. Sync leads with your CRM, attach notes, and access extended contact stats.

Contacts

Deals

Events

Products

Outcomes

Fields

Calls

Transactions

User Availabilities

Users

Contacts

Create, read, update, and delete contacts. Sync leads with your CRM, attach notes, and access extended contact stats.

WEBHOOKS

Real-time event notifications

Real-time event notifications

Register a URL, and iClosed pushes events to you the moment they happen. No polling required.

call.booked

A new call is scheduled

A new call is scheduled

call.cancelled

A call is cancelled

A call is cancelled

call.rescheduled

A call time changes

A call time changes

call.outcome_added

An outcome is logged

An outcome is logged

contact.created

A new contact enters iClosed

A new contact enters iClosed

contact.updated

A contact record changes

A contact record changes

AUTHENTICATION

One key, instant access

One key, instant access

Generate a Bearer token in your dashboard and start making requests in under a minute.

Method

Bearer Token

Header

Authorization: Bearer iclosed_...

Token prefix

iclosed_

Production URL

https://public.api.iclosed.io

Generate keys

Settings → Developers → API Keys

Format

REST + JSON

Generate your API key

Generate your API key

Go to app.iclosed.io → Settings → Developers API Keys. Your key starts with iclosed_

Make your first request

Make your first request

Send a GET /v1/contacts to confirm your key works. The interactive docs let you test in-browser.

Register a webhook

Register a webhook

POST /v1/webhooks with your endpoint URL and the events you want. You will start receiving payloads in real-time.

MCP Server

MCP Server

AI agents and assistants will be able to interact with iClosed natively through the Model Context Protocol — read data, book calls, and react to events without custom integration code.

AI agents and assistants will be able to interact with iClosed natively through the Model Context Protocol — read data, book calls, and react to events without custom integration code.

USE CASES

What teams build with the API

What teams build with the API

The most common integrations across thousands of sales teams on our platform.

Sync contacts with your CRM

Sync contacts with your CRM

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Contacts

Custom Fields

Webhooks

React to bookings in real-time

React to bookings in real-time

Trigger Slack alerts, update dashboards, or kick off automations the second a call is booked, cancelled, or rescheduled.

Trigger Slack alerts, update dashboards, or kick off automations the second a call is booked, cancelled, or rescheduled.

Webhooks

Event Calls

Sync contacts with your CRM

Sync contacts with your CRM

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Contacts

Custom Fields

Webhooks

Feed leads from your funnels into iClosed

Feed leads from your funnels into iClosed

Route leads from landing pages, chatbots, or ad forms straight into your closers' schedules. Intake, qualify, route, book — one API call.

Route leads from landing pages, chatbots, or ad forms straight into your closers' schedules. Intake, qualify, route, book — one API call.

Event Calls

Contacts

Users

Ready to start?

Interactive docs with Try-It panels.
Test every endpoint in the browser.

Ready to start?

Ready to start?

Interactive docs with Try-It panels.
Test every endpoint in the browser.

Interactive docs with Try-It panels.
Test every endpoint in the browser.

Monitor team performance

Monitor team performance

Query user availability, call volumes, and outcome distributions. Build internal leaderboards without screen-scraping.

Query user availability, call volumes, and outcome distributions. Build internal leaderboards without screen-scraping.

Users

Calls

Outcomes

Keep deal data in sync

Keep deal data in sync

Mirror your iClosed pipeline into external deal trackers or accounting software. When a deal moves in iClosed, your other systems know within seconds.

Mirror your iClosed pipeline into external deal trackers or accounting software. When a deal moves in iClosed, your other systems know within seconds.

Event Calls

Contacts

Users

Sync contacts with your CRM

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Contacts

Custom Fields

Webhooks

React to bookings in real-time

Trigger Slack alerts, update dashboards, or kick off automations the second a call is booked, cancelled, or rescheduled.

Webhooks

Event Calls

Sync contacts with your CRM

Push new contacts from iClosed into HubSpot, Salesforce, or your custom CRM the moment they book. Keep every system in sync without manual imports or CSV exports.

Contacts

Custom Fields

Webhooks

Feed leads from your funnels into iClosed

Route leads from landing pages, chatbots, or ad forms straight into your closers' schedules. Intake, qualify, route, book — one API call.

Event Calls

Contacts

Users

Monitor team performance

Query user availability, call volumes, and outcome distributions. Build internal leaderboards without screen-scraping.

Users

Calls

Outcomes

Keep deal data in sync

Mirror your iClosed pipeline into external deal trackers or accounting software. When a deal moves in iClosed, your other systems know within seconds.

Event Calls

Contacts

Users

Start with a 7-day free trial

Start with a 7-day free trial

Frequently Asked Questions

Frequently Asked Questions

Frequently Asked Questions

See answers to common questions.

See answers to common questions.

How do I get started with the iClosed API?

Getting started takes 3 steps: Generate an API key in your iClosed dashboard → Settings → Developers → API Keys → Create new key Test your connection with a simple GET request: curl -H "Authorization: Bearer YOUR_API_KEY" \ https://api.iclosed.io/v1/contacts Explore the full reference at developer.iclosed.io All endpoints use the base URL https://api.iclosed.io and require Bearer token authentication.

What webhook events are available?

iClosed webhooks let you receive real-time notifications when key events happen in your account. Supported events include: Contact events — contact.created, contact.updated, contact.status_changed Call events — call.booked, call.rescheduled, call.cancelled, call.completed Outcome events — outcome.recorded (WON, NO_SALE, APPROVED, REJECTED) Deal events — deal.created, deal.updated Transaction events — transaction.created, transaction.updated Configure webhooks in your dashboard → Settings → Developers → Webhooks, or manage them via the API. Payloads are signed for verification.

Where is the full API documentation?

he complete API reference lives at developer.iclosed.io. You'll find: Endpoint reference with request/response examples Authentication guide Webhook setup Data models and field definitions Rate limiting details Changelog The OpenAPI spec is also publicly available if you prefer to generate clients or use tools like Postman.

What can I build with the API?

The iClosed API is built for sales teams and developers who want deep control over their booking and CRM data. Common use cases include: CRM synchronization : Two-way sync contacts, deals, and outcomes with your system of record Custom booking experiences : Build bespoke scheduling flows that still power iClosed's routing, disqualification, and outcome tracking Automated workflows : Trigger actions when a call is booked, an outcome is recorded, or a deal closes AI agents and setters : Book calls programmatically from AI-driven conversations Zapier alternatives : Build custom integrations with any tool in your stack If you can do it in the iClosed dashboard, you can probably automate it via the API.

How does authentication work?

iClosed uses Bearer token authentication. Every API request must include an Authorization header: Authorization: Bearer YOUR_API_KEY Generate your key in the iClosed dashboard → Settings → API Keys. Treat your key like a password, never commit it to version control or expose it in client-side code. Keys are scoped to your account and can be revoked at any time from the dashboard.

Can I book calls programmatically?

Yes. Use POST /v1/eventCalls to create a booking directly. You can pass either eventId + contactId, or linkPrefix + email/phoneNumber for new contacts. The API handles calendar availability checks, invitee questions, and triggers the same routing/disqualification logic as the public booking page. Use POST /v1/events/eventDates first to fetch available slots for an event.

Are there rate limits?

Yes. Rate limits depend on your plan and apply per endpoint. On the Business plan, you can make up to 100 requests every 10 seconds per endpoint. On the Startup plan, the limit is 20 requests every 10 seconds per endpoint. If you hit the limit, you'll receive a 429 Too Many Requests response with a Retry-After header telling you when to retry. For high-volume use cases on Business, contact us about elevated limits.

Start building on iClosed

Interactive docs, Try-It panels, and a sandbox environment ready for you today.