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

> Learn how to register and configure a machine-to-machine (M2M) application using the Auth0 Dashboard and authorize it using the Management API test feature.

# Register Machine-to-Machine Applications

To integrate Auth0 with a machine-to-machine (M2M) application, you must first register your app with Auth0 using the <Tooltip tip="Auth0 Dashboard: Auth0's main product to configure your services." cta="View Glossary" href="/docs/glossary?term=Auth0+Dashboard">Auth0 Dashboard</Tooltip>. These apps may include non-interactive apps, such as command-line tools, daemons, IoT devices, or services running on your back-end.

M2M apps are linked to an API and its permissions or [scopes](/docs/get-started/apis/scopes/api-scopes), which are selected from pre-defined values. Make sure you have already [registered the associated API](/docs/get-started/auth0-overview/set-up-apis) with Auth0 and defined scopes for the API before beginning this registration.

If you want to authorize your application to access only the Auth0 <Tooltip tip="Management API: A product that allows customers to perform administrative tasks." cta="View Glossary" href="/docs/glossary?term=Management+API">Management API</Tooltip>, you do not need to register a separate API; the Management API is pre-populated for you.

To integrate Auth0 with a machine-to-machine (M2M) application, you must first register your app with Auth0 using the Auth0 Dashboard.

1. Go to [Dashboard > Applications > Applications](https://manage.auth0.com/#/applications) and click **Create Application**.
2. Enter a descriptive name for your application, select **Machine to Machine Applications**, and click **Create**.
3. Select the API you want to be able to call from your application.
4. Each M2M app that accesses an API must be granted a set of permissions (or scopes) that should be granted by the authenticated user. To learn how to add permissions, see [Add API Permissions](/docs/get-started/apis/add-api-permissions). Select the **Permissions** that you want to be issued as part of your application's access token, and click **Authorize**.

   <Warning>
     Use the `update:client_grants` and `create:client_grants` scopes with only high-privileged applications, as they allow the client to grant further permissions to itself.
   </Warning>

   Once the new application is created, you can configure **Application Settings** which includes the following tabs:

   | Settings Tab    | Description                                                                                                                                                                                                                                                                                    |
   | --------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
   | **Quick Start** | Shows all the available examples for \${application_type} applications. It also shows you how you can call your API using various technologies. To learn how to accept and validate Access Tokens in your API, see our [Backend/API Quickstarts](/docs/quickstart/backend/nodejs/interactive). |
   | **Settings**    | Shows all available settings for your application. By default, Auth0 creates most of these settings for you.                                                                                                                                                                                   |
   | **Credentials** | Shows the application’s authentication method and configured credentials. To learn more, read [Application Credentials](/docs/secure/application-credentials)                                                                                                                                  |
   | **APIs**        | Allows you to authorize additional APIs for use with your Application.                                                                                                                                                                                                                         |

   To learn more, read [Application Settings](/docs/get-started/applications/application-settings).

## Next steps

Once you have registered and configured your application, some common next steps are:

* Configure an identity provider connection and enable it for your application (if needed for your use case).
* Modify your app code to use your Auth0-registered application. See our [Auth0 Quickstarts](/docs/quickstarts), where you'll find detailed instructions and samples for a variety of technologies. You'll also learn how to implement login and logout, handle your user sessions, retrieve and display user profile information, and more.
* Use [Auth0 APIs](/docs/api).

  * The [Authentication API](https://auth0.com/docs/api/authentication) handles all primary identity-related functions (for example, login, logout, and get user profile). Most users consume this API through our Quickstarts, the [Auth0.js library](/docs/libraries/auth0js), or the [Lock widget](/docs/libraries/lock). However, if you are building all of your authentication UI manually, you will have to interact with this API directly.
  * The [Management API](https://auth0.com/docs/api/management/v2) allows you to automate various tasks that can also be accessed via the Dashboard in Auth0 (for example: creating users, setting application grant types).

## Learn more

* [Register APIs](/docs/get-started/auth0-overview/set-up-apis)
* [Create Machine-to-Machine Applications for Testing](/docs/get-started/apis/create-m2m-app-test)
* [Application Settings](/docs/get-started/applications/application-settings)
* [Add API Permissions](/docs/get-started/apis/add-api-permissions)
* [Delete API Permissions](/docs/get-started/apis/delete-api-permissions)
