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

# Pre-Requisites

> Welcome to the MeetBit Public API documentation

To begin using the MeetBit Public API, you must generate Access Keys in the MeetBit Admin Panel and familiarize yourself with a few concepts.

## Generate Access keys

MeetBit uses **Clients** as the basis for communicating with the Public API. Follow the instructions below to create a Client and generate its Access Keys.

<Warning>
  You must be from the `Global` Department and have the permissions to create Clients (`clients.create.*`) and create Access Keys (`access_keys.create.*`) before moving forward.
</Warning>

<Steps>
  <Step title="Create a Role for the Client">
    Create a new Role for the Client to adopt and grant it with the necessary permissions. Follow the instructions indicated in [Roles](https://meetbit.gitbook.io/docs/access-and-permissions/roles#creating-roles).
  </Step>

  <Step title="Open the Create Client Page">
    Head over to [https://customdomain.com/admin/clients/create](https://customdomain.com/admin/clients/create) to open the Create Client Page. This can also be accessed from the Clients Page and clicking the "Create Client" button on the upper right corner of the page.
  </Step>

  <Step title="Configure and save the Client">
    Configure the Client's name, Role and rate limit. Then, click the "Create Client" button.
  </Step>

  <Step title="Generate Access Key">
    After being redirected to the new Client's page, scroll down to "Access Keys" and click the "+" icon. Then, click "Yes, generate" on the confirmation dialog.
  </Step>

  <Step title="Save Access Key">
    Once the new Access Key ID and secret are visible, immediately copy and save the pair somewhere else. The Access Key Secret will not be visible again after this step.

    <Warning>
      Never save the Access Key ID and Secret in code. We recommend using environment variables for this.
    </Warning>
  </Step>

  <Step title="Use Access Key">
    Your newly generated Access Key, may now be used to authenticate with the MeetBit Public API. Follow the instructions in [Authentication & Authorization](http://localhost:3000/basics/auth) for more information.
  </Step>
</Steps>

## Naming Differences

There are a few differences between the naming of resources in MeetBit's Graphical User Interface (GUI) and the MeetBit Public API.

These are mainly due to user experience decisions made to make the platform easier to understand and use for non-technical people. The MeetBit Public API does not reflect these changes and stay close to how data is actually stored and processed.

The differences are indicated in the table below:

| MeetBit GUI Name         | MeetBit Public API Name    | Description                                                        |
| ------------------------ | -------------------------- | ------------------------------------------------------------------ |
| Workspace                | Tenant                     | The resource object that represents the actual client.             |
| Conference Room          | Online Conference          | The resource object that represents an online call.                |
| Conference Room Attendee | Online Conference Attendee | The resource object that represents an attendee of an online call. |

## Base URL

Since the MeetBit Platform always has custom domains for tenants to use, there is no static base URL to use when communicating with the MeetBit Public API. Thus, the format for the base URL is as follows:

```
https://{primary_domain}/api/public/v2.0
```

Take note that **you can only use the primary domain of your tenant** to communicate with the MeetBit Public API. Using alternative domains will result in a `404 Not Found` error to be returned.
