> ## Documentation Index
> Fetch the complete documentation index at: https://botpress-ak-docs-20-document-updating-variables-from-outsid.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting Started

export const chatApiPayloadSize = "1 MB";

export const runtimeApiPayloadSize = "1 MB";

export const adminApiPayloadSize = "50 MB";

export const tablesApiPayloadSize = "40 MB";

export const filesApiPayloadSize = "1 MB";

export const webhookPayloadSize = "100 MB";

The Runtime API is designed for bots and integrations to handle messages, events, actions, and webhook requests at runtime. Each request made to this API is authenticated as either a bot or an integration. It can also be accessed externally by providing a bot or integration ID, though doing so effectively authenticates the request as a bot or integration.

All the endpoints of the Runtime API are located behind the `chat` base path (`api.botpress.cloud/v1/chat/`).

<Warning>
  The Runtime API has many nuances that aren't relevant to bot developers—because of this, we recommend only making your requests using the official [Botpress TypeScript Client](#using-the-official-typescript-client), which simplifies some of the API's trickier aspects.

  If you decide to interact with the Runtime API using another HTTP client, you may experience unintended behaviour or encounter issues.
</Warning>

## Using the Official TypeScript Client

The official TypeScript client is available as an NPM package. You can install it using any of the following command:

<CodeGroup>
  ```bash npm theme={null}
  npm install @botpress/client
  ```

  ```bash pnpm theme={null}
  pnpm install @botpress/client
  ```

  ```bash yarn theme={null}
  yarn add @botpress/client
  ```
</CodeGroup>

Once installed, you can import the client and use it in your TypeScript code:

<Note>
  This example uses [`dotenv` ](https://www.npmjs.com/package/dotenv) to manage Botpress credentials. If you'd rather manage your credentials differently, just remove the import and define your token and bot ID however you like.
</Note>

```ts theme={null}
import dotenv from 'dotenv'
import { Client } from '@botpress/client'

dotenv.config()

const main = async () => {
    const token = process.env.TOKEN
    const botId = process.env.BOT_ID

    const client = new Client({
        token,
        botId,
    })

    const { messages } = await client.listMessages({})
    console.log(messages)
}

void main()
```

## Quotas/limits

The maximum payload size for the Runtime API is {runtimeApiPayloadSize}.

## Next Steps

Now that you've successfully made your first request, you can explore other API endpoints and concepts. Here are a few things you can do next:

* [Learn about Runtime API concepts](./concepts)
* [View the full list of available endpoints](./openapi/createConversation).
