# Custom Apps

Create a private integration for your own Monta operator account.

Create a private Custom app to automate work for your own Monta operator account with an operator-scoped API consumer.

## Use a Custom app when

* You build an integration for **your operator account only**.
* You want to automate work with your own charge points, teams, sessions, or other Monta data.
* You do not need other operators to discover or install the integration.

A Custom app is private to your account. It can be scoped to the teams and sub-accounts you choose, and it does not appear in the public marketplace.

## Create a Custom app

1. In Monta Hub, go to **Admin** **→ Application Marketplace → +New** and select **Custom**.
2. Enter the app name and category, then select the required scopes. Review [Permission scopes](/reference/permission-scopes) before requesting access.
3. Optionally restrict the app to specific teams or sub-accounts.
4. Create the app and immediately store the displayed `client_id` and `client_secret`.

Monta connects the app as soon as you create it. There is no review or separate installation step.

:::warning{title="Store the secret immediately"}

Monta shows the `client_secret` once when it creates the API consumer. Store it in your secret manager; you cannot retrieve it again.

:::

## Authenticate and call the API

Exchange the consumer credentials for a bearer token, then send that token with your Monta API requests:

```http
POST https://partner-api.monta.com/api/v1/auth/token
Content-Type: application/json

{ "clientId": "<client_id>", "clientSecret": "<client_secret>" }
```

The token is operator-scoped. Your app can access only your account's data and only within the scopes you granted it. For the complete token flow, see [Authentication](/reference/ref-authentication).

## Optional: restrict access

Limit a Custom app to selected teams or sub-accounts when you create it. This lets you give an automation only the access it requires rather than access to your entire operator account.

## API keys

Legacy Monta API keys continue working: each key is an operator-scoped API consumer. Create new private integrations as Custom apps.

## What's next

* [OAuth 2.0 integration guide](/docs/oauth-integration-guide) — build a marketplace app that Monta operators can install.
* [Authentication](/reference/ref-authentication) — exchange consumer credentials for a bearer token.
* [Permission scopes](/reference/permission-scopes) — choose the least-privileged scopes for your app.
