> ## Documentation Index
> Fetch the complete documentation index at: https://docs.corsair.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# API

> API reference for ClickMeeting: every `clickmeeting.api.*` operation with input and output types.

Every `clickmeeting.api.*` operation is listed below with parameter shapes and return types from the plugin Zod schemas.

<Info>
  **New to Corsair?** See [API access](/concepts/api), [authentication](/concepts/auth), and [error handling](/concepts/error-handling).
</Info>

## Chats

### getChatDetails

`chats.getChatDetails`

Retrieve details of a specific chat session

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.chats.getChatDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `chatId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `messages` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="messages full type">
    ```ts theme={null}
    {
      id?: string | number,
      author?: string,
      text?: string,
      created_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getChats

`chats.getChats`

Retrieve a list of all chat sessions

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.chats.getChats({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `page` | `number` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      conference_id?: string | number,
      created_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Conferences

### createConference

`conferences.createConference`

Create a new ClickMeeting conference or webinar

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.conferences.createConference({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | Conference room name |
| `room_type` | `meeting \| webinar` | No | — |
| `permanent_room` | `boolean` | No | — |
| `access_type` | `number` | No | 1: open, 2: password, 3: token |
| `password` | `string` | No | Required when access\_type is 2 (password-protected) |
| `starts_at` | `string` | No | Scheduled start date/time (YYYY-MM-DD HH:MM:SS) |
| `duration` | `string` | No | Duration in H:MM format, e.g. 1:20 |
| `timezone` | `string` | No | — |
| `lobby_description` | `string` | No | — |
| `description` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `room` | `object` | No | — |

<AccordionGroup>
  <Accordion title="room full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      room_type?: string,
      status?: string,
      room_url?: string,
      permanent_room?: number | boolean,
      access_type?: number,
      starts_at?: string,
      duration?: number | string,
      timezone?: string,
      lobby_description?: string,
      description?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### deleteConference

`conferences.deleteConference`

Delete a specific conference room

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.conferences.deleteConference({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `message` | `string` | No | — |

***

### generateAutologinUrl

`conferences.generateAutologinUrl`

Generate an autologin hash for a conference participant

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.conferences.generateAutologinUrl({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `email` | `string` | Yes | — |
| `nickname` | `string` | Yes | — |
| `role` | `listener \| presenter \| moderator \| guest_speaker \| host` | No | — |
| `password` | `string` | No | Required when room is password-protected |
| `token` | `string` | No | Required when room is token-protected |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `autologin_hash` | `string` | No | — |
| `url` | `string` | No | — |

***

### getConferenceDetails

`conferences.getConferenceDetails`

Retrieve detailed information about a specific conference room

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.conferences.getConferenceDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | Conference / Room ID |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `conference` | `object` | No | — |

<AccordionGroup>
  <Accordion title="conference full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      room_type?: string,
      status?: string,
      room_url?: string,
      permanent_room?: number | boolean,
      access_type?: number,
      starts_at?: string,
      duration?: number | string,
      timezone?: string,
      lobby_description?: string,
      description?: string
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getConferenceFiles

`conferences.getConferenceFiles`

Retrieve list of files uploaded to a specific conference room

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.conferences.getConferenceFiles({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      size?: string | number
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getConferences

`conferences.getConferences`

Retrieve a list of conference rooms filtered by status

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.conferences.getConferences({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `active \| inactive` | No | — |
| `page` | `number` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      room_type?: string,
      status?: string,
      room_url?: string,
      permanent_room?: number | boolean,
      access_type?: number,
      starts_at?: string,
      duration?: number | string,
      timezone?: string,
      lobby_description?: string,
      description?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getConferenceSkins

`conferences.getConferenceSkins`

Retrieve list of available conference room skins

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.conferences.getConferenceSkins({});
```

**Input:** *empty object*

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### sendInvitation

`conferences.sendInvitation`

Send invitation emails to participants for a conference

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.conferences.sendInvitation({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `lang` | `string` | Yes | Language code for the invitation email (e.g. en, pl) |
| `attendees` | `string[]` | Yes | List of attendee email addresses |
| `role` | `listener \| presenter` | No | — |
| `template` | `advanced \| basic` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `queued` | `number` | No | — |
| `failed` | `number` | No | — |

***

### updateConference

`conferences.updateConference`

Update an existing conference room parameters

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.conferences.updateConference({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `name` | `string` | No | — |
| `room_type` | `meeting \| webinar` | No | — |
| `permanent_room` | `boolean` | No | — |
| `access_type` | `number` | No | — |
| `password` | `string` | No | Required when access\_type is 2 |
| `starts_at` | `string` | No | — |
| `duration` | `string` | No | Duration in H:MM format, e.g. 1:20 |
| `timezone` | `string` | No | — |
| `lobby_description` | `string` | No | — |
| `description` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `name` | `string` | No | — |
| `room_type` | `string` | No | — |
| `status` | `string` | No | — |
| `room_url` | `string` | No | — |
| `permanent_room` | `number \| boolean` | No | — |
| `access_type` | `number` | No | — |
| `starts_at` | `string` | No | — |
| `duration` | `number \| string` | No | — |
| `timezone` | `string` | No | — |
| `lobby_description` | `string` | No | — |
| `description` | `string` | No | — |

***

## Files

### deleteFile

`files.deleteFile`

Delete a file from the ClickMeeting file library

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.files.deleteFile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `fileId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `message` | `string` | No | — |

***

### downloadFile

`files.downloadFile`

Download file content from the ClickMeeting file library

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.files.downloadFile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `fileId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `content` | `string` | No | — |
| `download_url` | `string` | No | — |

***

### getFileDetails

`files.getFileDetails`

Retrieve detailed information about a specific file

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.files.getFileDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `fileId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `name` | `string` | No | — |
| `size` | `string \| number` | No | — |
| `created_at` | `string` | No | — |
| `download_url` | `string` | No | — |

***

### getFileLibrary

`files.getFileLibrary`

Retrieve a list of files from ClickMeeting file library

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.files.getFileLibrary({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `page` | `number` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      size?: string | number,
      created_at?: string,
      download_url?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### uploadFile

`files.uploadFile`

Upload a file to the ClickMeeting file library

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.files.uploadFile({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `name` | `string` | Yes | File name |
| `content` | `string` | Yes | File content (base64-encoded string, or raw string when encoding is "raw") |
| `encoding` | `base64 \| raw` | No | Content encoding discriminator ("base64" or "raw", defaults to "base64") |
| `conference_id` | `string \| number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `name` | `string` | No | — |
| `status` | `string` | No | — |

***

## Recordings

### deleteRecording

`recordings.deleteRecording`

Delete a specific recording from a conference room

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.recordings.deleteRecording({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `recordingId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `message` | `string` | No | — |

***

### deleteRecordings

`recordings.deleteRecordings`

Delete all recordings for a conference room

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.recordings.deleteRecordings({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `deleted_count` | `number` | No | — |

***

### getSessionRecordings

`recordings.getSessionRecordings`

Retrieve all recordings for a conference room

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.recordings.getSessionRecordings({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      name?: string,
      duration?: number,
      recording_url?: string,
      created_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Registrations

### createContact

`registrations.createContact`

Create a new contact in your ClickMeeting account

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.registrations.createContact({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `email` | `string` | Yes | — |
| `first_name` | `string` | No | — |
| `last_name` | `string` | No | — |
| `phone` | `string` | No | — |
| `country` | `string` | No | — |
| `city` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `email` | `string` | No | — |
| `first_name` | `string` | No | — |
| `last_name` | `string` | No | — |
| `phone` | `string` | No | — |
| `status` | `string` | No | — |

***

### getRegistrations

`registrations.getRegistrations`

Retrieve registrations for a conference room by status

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.registrations.getRegistrations({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `status` | `all \| waiting \| confirmed \| rejected` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      first_name?: string,
      last_name?: string,
      email?: string,
      status?: string,
      registered_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listRegistrationsByStatus

`registrations.listRegistrationsByStatus`

Retrieve registered participants filtered by status

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.registrations.listRegistrationsByStatus({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `status` | `all \| waiting \| confirmed \| rejected` | No | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      first_name?: string,
      last_name?: string,
      email?: string,
      status?: string,
      registered_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### registerParticipant

`registrations.registerParticipant`

Register a participant for a conference room

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.registrations.registerParticipant({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `registration` | `object` | Yes | Participant registration fields (e.g. first\_name, last\_name, email) |

<AccordionGroup>
  <Accordion title="registration full type">
    ```ts theme={null}
    {
    }
    ```
  </Accordion>
</AccordionGroup>

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `registration_hash` | `string` | No | — |
| `status` | `string` | No | — |
| `message` | `string` | No | — |

***

## Sessions

### generateSessionPdfReport

`sessions.generateSessionPdfReport`

Generate a PDF report containing analytics for a session

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.sessions.generateSessionPdfReport({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `sessionId` | `string \| number` | Yes | — |
| `lang` | `string` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `status` | `string` | No | — |
| `report_url` | `string` | No | — |
| `message` | `string` | No | — |

***

### getConferenceSessions

`sessions.getConferenceSessions`

Retrieve past sessions for a conference room

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.sessions.getConferenceSessions({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      starts_at?: string,
      duration?: number | string,
      attendees_count?: number
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getSessionAttendees

`sessions.getSessionAttendees`

Retrieve list of attendees who participated in a session

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.sessions.getSessionAttendees({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `sessionId` | `string \| number` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      nickname?: string,
      email?: string,
      role?: string,
      duration?: number
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getSessionDetails

`sessions.getSessionDetails`

Retrieve detailed statistics for a specific past conference session

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.sessions.getSessionDetails({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `sessionId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `id` | `string \| number` | No | — |
| `starts_at` | `string` | No | — |
| `duration` | `number \| string` | No | — |
| `attendees_count` | `number` | No | — |

***

### getSessionRegistrations

`sessions.getSessionRegistrations`

Retrieve registrations for a specific session

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.sessions.getSessionRegistrations({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `sessionId` | `string \| number` | Yes | — |

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      id?: string | number,
      first_name?: string,
      last_name?: string,
      email?: string,
      status?: string,
      registered_at?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Tokens

### createAccessTokens

`tokens.createAccessTokens`

Generate access tokens for conference participants

**Risk:** `write`

```ts theme={null}
await corsair.clickmeeting.api.tokens.createAccessTokens({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `how_many` | `number` | No | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_tokens` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="access_tokens full type">
    ```ts theme={null}
    {
      token?: string,
      email?: string,
      sent_to_email?: string | null,
      first_use_date?: string | null,
      status?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getTokenByEmail

`tokens.getTokenByEmail`

Retrieve access tokens assigned to a specific email address

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.tokens.getTokenByEmail({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |
| `email` | `string` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_tokens` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="access_tokens full type">
    ```ts theme={null}
    {
      token?: string,
      email?: string,
      sent_to_email?: string | null,
      first_use_date?: string | null,
      status?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### listAccessTokens

`tokens.listAccessTokens`

Retrieve all generated access tokens for a conference

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.tokens.listAccessTokens({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `roomId` | `string \| number` | Yes | — |

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `access_tokens` | `object[]` | No | — |

<AccordionGroup>
  <Accordion title="access_tokens full type">
    ```ts theme={null}
    {
      token?: string,
      email?: string,
      sent_to_email?: string | null,
      first_use_date?: string | null,
      status?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

## Utility

### getPhoneGateways

`utility.getPhoneGateways`

Retrieve available phone dial-in numbers for ClickMeeting webinars

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.utility.getPhoneGateways({});
```

**Input:** *empty object*

**Output:** `object[]`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    {
      country?: string,
      country_name?: string,
      phone?: string
    }[]
    ```
  </Accordion>
</AccordionGroup>

***

### getPing

`utility.getPing`

Check ClickMeeting API service status

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.utility.getPing({});
```

**Input:** *empty object*

**Output**

| Name | Type | Required | Description |
| - | - | - | - |
| `ping` | `string` | No | — |
| `status` | `string` | No | — |

***

### getTimeZoneList

`utility.getTimeZoneList`

Retrieve all available time zones supported by ClickMeeting

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.utility.getTimeZoneList({});
```

**Input:** *empty object*

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    string[] | {
    }
    ```
  </Accordion>
</AccordionGroup>

***

### getTimeZoneListByCountry

`utility.getTimeZoneListByCountry`

Retrieve available time zones for a specific country

**Risk:** `read`

```ts theme={null}
await corsair.clickmeeting.api.utility.getTimeZoneListByCountry({});
```

**Input**

| Name | Type | Required | Description |
| - | - | - | - |
| `country` | `string` | Yes | ISO 3166-1 alpha-2 country code (e.g. US) |

**Output:** `object`

<AccordionGroup>
  <Accordion title="Output full type">
    ```ts theme={null}
    string[] | {
    }
    ```
  </Accordion>
</AccordionGroup>

***


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.