# Glossary

Definitions for iClosed-specific terms used throughout the API documentation.

## A

### Account

The top-level organizational unit in iClosed. Every resource (contacts, calls, deals, transactions) belongs to an account identified by `accountId`.

### API Key

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](https://app.iclosed.io).

## B

### Bearer Token

The authentication scheme used by the iClosed API. Pass your API key as `Authorization: Bearer iclosed_<your-api-key>` in every request header.

## C

### Closer

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.

### 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](/docs/guides/event-call-booking)

### Contact

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`

### contactId

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

## D

### Deal

A sales opportunity record linked to an EventCall via `eventCallId`. Deals track value, product, and transaction type (`WON`, `RECURRING`, `DEPOSIT`).

### DISCOVERY_EVENT

One of two call types (`callType`) in iClosed. Discovery calls are typically shorter qualification calls before a full strategy session.

See also: `STRATEGY_EVENT`

### Disqualification

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.

### Disqualification Group

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.

## E

### Event

An appointment template in iClosed — defines duration, availability, questions, and routing rules. Events are not booked directly; a specific booking is an **EventCall**.

### eventId

The internal numeric ID of an Event template. Returned on EventCall objects as `eventId`.

### EventCall

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`

### eventCallId

The internal numeric ID of an EventCall. Required when creating a Deal (`POST /v1/deals`). Also used to look up or update calls.

### eventType

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 |


## I

### inviteeAnswers

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.

### isDisqualified

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.

## L

### linkPrefix

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/inviteeAnswers`
- `POST /v1/events/eventDates`
- `POST /v1/eventCalls`


Find the `linkPrefix` from the event's share URL in the iClosed app.

## N

### No-Sale Reason

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`

## O

### Objection

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`

### Outcome

The result logged on an EventCall after the call completes. Set via `POST /v1/outcomes`.

**Values:** `WON`, `NO_SALE`, `APPROVED`, `REJECTED`

## P

### page

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](/docs/pagination)

### previewId

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` |


## R

### Rate Limit

iClosed enforces a limit of **20 requests per second per endpoint**. Exceeding this returns HTTP `429` with a JSON body:

```json
{
  "code": "RATE_LIMIT_EXCEEDED",
  "retryAfter": 1,
  "limit": { "points": 20, "windowSec": 1 }
}
```

See: [Rate Limiting](/docs/rate-limiting)

### retryAfter

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.

## S

### secondaryQuestionsAnswer

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": []`.

### Setter

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

### Soft Delete

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

### STRATEGY_EVENT

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`

## T

### Transaction

A financial record optionally linked to a Deal. Tracks payment amount, currency, and source system (`Zapier`, `Stripe`, `Make`, `Other`).

### Trigger ID

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](/docs/webhooks/introduction)

## U

### Upsert

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.

## W

### Webhook

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](/docs/webhooks/introduction)

## See Also

- [Data Models](/docs/api-reference) — Full field schemas for every object
- [Webhooks](/docs/webhooks/introduction) — Trigger IDs and payload shapes
- [Guide: Event Call Booking](/docs/guides/event-call-booking) — Practical flow using many of these terms
- [API Reference](https://api-docs-iclosed.redocly.app/openapi/v1/openapi) — Complete endpoint documentation