> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.monite.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.monite.com/_mcp/server.

# Step 1: Get your credentials

## Overview

The very initial steps of integrating with Monite include creating a partner account within Monite's Partner Portal and getting your API credentials. These credentials allow you to generate the access tokens required to make API calls to the Monite platform.

## 1. Register a partner account \[#register]

First, you need to register your partner account on the [Monite Partner Portal](https://portal.sandbox.monite.com/signup).

After signing up, you must confirm your email address by clicking the link in the registration email.

![Welcome email](/_fern-img/e3bfc5a55f2b95948815de9b188b50a6bcd6824476aeb687b774c5fb5419ddfe.webp)

## 2. Get API credentials \[#get-credentials]

To generate the credentials required to access the Monite API:

1. In the Partner Portal, select **API Credentials** from the sidebar on the left.

   ![API credentials](/_fern-img/96d876432bc8957b899f070e03bef44ce683b912872093e85a60ee0042f8363c.webp)

2. On the page that opens, click **Add credentials**.

3. Copy the generated client ID and secret as you will not be able to see them again.

   ![Client ID and secret](/_fern-img/3da46a2148135dc423d01f93b4a6288643f861fa148d658a0ad6a82c3bb6370a.webp)

> **Warning**
>
> Keep your client ID and secret secure, because they provide access to all your data and your customers' data stored in Monite.

> **Tip**
>
> You can create multiple sets of API credentials for use in different contexts. For example, one set for a client app and another one for a CI/CD environment.

## 3. Generate a partner access token \[#generate-partner-token]

The client ID and secret need to be exchanged for an access token, which is then used to authenticate your API calls. To do this, call [`POST /auth/token`](/api/access-tokens/post-auth-token) with the following request body:

```json
{
  "grant_type": "client_credentials",
  "client_id": "YOUR_CLIENT_ID",
  "client_secret": "YOUR_CLIENT_SECRET"
}
```

For example:

```sh
curl -X POST 'https://api.sandbox.monite.com/v1/auth/token' \
     -H 'X-Monite-Version: 2024-05-25' \
     -H 'Content-Type: application/json' \
     -d '{
        "grant_type": "client_credentials",
        "client_id": "28c10852-7e78-43cf-abfb-efeed7734963",
        "client_secret": "615b3cfa-646b-41d9-b768-521f79315ac5"
     }'
```

The successful response contains the token and its validity time (in seconds):

```json
{
  "access_token": "eyJ0eXAiOiJKV1QiLCJhb...",
  "token_type": "Bearer",
  "expires_in": 1800
}
```

Now you can send this token in the `Authorization` header in subsequent API calls to the Monite platform:

```
Authorization: Bearer YOUR_TOKEN
```

> **Tip**
>
> Besides generating a partner-level access token with highest privileges for all operations, you might also consider using entity-user tokens with more granular roles and permissions. To learn more about the Role-Based Access Control system and other main security considerations, refer to [Authentication](/api/concepts/authentication).

## Next steps

Congrats! Now you are all set to continue integrating with the Monite platform. Please proceed with the following step to set up your backend:

* [Step 2: Implement server side](server-side)