Definitions for iClosed-specific terms used throughout the API documentation.
The top-level organizational unit in iClosed. Every resource (contacts, calls, deals, transactions) belongs to an account identified by accountId.
A secret credential used to authenticate API requests. Always prefixed with iclosed_ (e.g., iclosed_abc123...). Create and manage keys in Settings → API Keys at app.iclosed.io.
The authentication scheme used by the iClosed API. Pass your API key as Authorization: Bearer iclosed_<your-api-key> in every request header.
A team member assigned to take sales calls. A Closer is identified by their userId on an EventCall. When a call is booked, a Closer is assigned either by round-robin or conditional routing.
A mechanism that restricts host availability to a specific subset of users based on the invitee's answers. When POST /v1/fields/inviteeAnswers returns a non-empty conditionalUsers array, pass those user IDs (as a comma-separated string) to POST /v1/events/eventDates and POST /v1/eventCalls to filter slots to those hosts only.
See: Guide: Event Call Booking
A person who has entered the iClosed system — typically a prospect who filled in a booking form. Contacts have a pipeline status and can be linked to EventCalls, Deals, and Transactions.
Status values: POTENTIAL, QUALIFIED, DISQUALIFIED, STRATEGY_CALL_BOOKED, DISCOVERY_CALL_BOOKED
The internal numeric ID of a Contact record. Use previewId (contact_...) for external storage and webhooks; use contactId when making API calls that require it (e.g., creating an EventCall or submitting invitee answers).
A sales opportunity record linked to an EventCall via eventCallId. Deals track value, product, and transaction type (WON, RECURRING, DEPOSIT).
One of two call types (callType) in iClosed. Discovery calls are typically shorter qualification calls before a full strategy session.
See also: STRATEGY_EVENT
The automatic or manual process of marking a Contact as DISQUALIFIED. Triggered when POST /v1/fields/inviteeAnswers returns isDisqualified: true based on the account's disqualification rules. When disqualified, the booking flow must stop — do not fetch slots or create a call.
A set of conditions configured in the iClosed app that, when matched by an invitee's answers, triggers disqualification. The matched rules are returned in the disqualifyingCondition array of the invitee answers response.
An appointment template in iClosed — defines duration, availability, questions, and routing rules. Events are not booked directly; a specific booking is an EventCall.
The internal numeric ID of an Event template. Returned on EventCall objects as eventId.
A specific booked instance of an Event — i.e., a scheduled call on a particular date and time with a specific invitee and host. Also referred to as a "call" throughout the docs.
Key fields: id, previewId, contactId, userId, callType, dateTime, outcome
The internal numeric ID of an EventCall. Required when creating a Deal (POST /v1/deals). Also used to look up or update calls.
A computed enum on EventCall records indicating whether the call is in the future or past at query time.
| Value | Meaning |
|---|---|
UPCOMING | The call's dateTime is in the future |
PAST | The call's dateTime is in the past |
The set of answers an invitee provides when booking a call. Submitted via POST /v1/fields/inviteeAnswers. Used to evaluate disqualification rules and conditional routing.
A boolean field in the response from POST /v1/fields/inviteeAnswers. When true, at least one disqualification rule was matched and the booking flow should stop.
A URL path segment that uniquely identifies an Event, in the format username/event-name (e.g., company/discovery-call). Used in booking-related requests:
POST /v1/fields/inviteeAnswersPOST /v1/events/eventDatesPOST /v1/eventCalls
Find the linkPrefix from the event's share URL in the iClosed app.
A required enum when logging a NO_SALE outcome via POST /v1/outcomes. Categorizes why the sale did not close.
Values: FOLLOW_UP_SCHEDULE, UNQUALIFIED, NO_SHOW, CONTACT_CANCELLED, ADMIN_CANCELLED, NOT_INTERESTED, BAD_FIT, OTHER
An optional enum on a Call Outcome representing the sales objection raised. Required for WON outcomes and certain NO_SALE reasons.
Values: MONEY, LOGISTIC, PARTNER, FEAR, SMOKE_SCREEN, NO_OBJECTION
The result logged on an EventCall after the call completes. Set via POST /v1/outcomes.
Values: WON, NO_SALE, APPROVED, REJECTED
The zero-based page index used in paginated list endpoints. page=0 returns the first page, page=1 the second, and so on.
See: Pagination
A public-safe, human-readable identifier for a resource. Preferred over numeric id for external storage, webhook deduplication, and URLs.
| Resource | Example previewId |
|---|---|
| Contact | contact_BpK9_yC5DFG7 |
| EventCall | call_fBdaH9gAZm8h |
iClosed enforces a limit of 20 requests per second per endpoint. Exceeding this returns HTTP 429 with a JSON body:
{
"code": "RATE_LIMIT_EXCEEDED",
"retryAfter": 1,
"limit": { "points": 20, "windowSec": 1 }
}See: Rate Limiting
The number of seconds to wait before retrying after a 429 rate limit response. Returned in the JSON body (not as a header) as a numeric value.
An array of custom invitee question answers submitted alongside the standard questions. Each entry contains an identifier (the field's slug key) and an answer array. If there are no secondary answers, send an empty array: "secondaryQuestionsAnswer": [].
A team member who qualifies leads and books calls on behalf of a Closer. Setters can be assigned as the owner of a contact via POST /v1/setterClaims/assignOwner.
Resources with a non-null deletedAt field have been soft-deleted. They are still returned in API responses but are inactive. Endpoints for deletion: POST /v1/contacts/delete, POST /v1/deals/delete, DELETE /v1/transactions.
One of two call types (callType) in iClosed. Strategy calls are typically the main sales conversation — longer and higher-intent than a Discovery call.
See also: DISCOVERY_EVENT
A financial record optionally linked to a Deal. Tracks payment amount, currency, and source system (Zapier, Stripe, Make, Other).
The identifier for a webhook event type. iClosed fires webhooks on the following triggers:
| Trigger ID | When it fires |
|---|---|
newContactCreated | A new contact is created |
contactDetailChanged | A contact's details are updated |
newCallScheduled | A call is booked |
callCancelled | A call is cancelled |
callRescheduled | A call is rescheduled |
callOutcome | An outcome is logged on a call |
See: Webhooks
The behavior of POST /v1/contacts — if a contact with the same email or phone number already exists, the existing record is returned rather than creating a duplicate. The response is always 201 regardless of whether a new record was created.
An HTTP callback sent by iClosed to your endpoint when a trigger event occurs. Payloads are JSON. HMAC-SHA256 signature verification is on the roadmap (not yet implemented).
See: Webhooks
- Data Models — Full field schemas for every object
- Webhooks — Trigger IDs and payload shapes
- Guide: Event Call Booking — Practical flow using many of these terms
- API Reference — Complete endpoint documentation