# Applications

Source: https://developer.nylas.com/docs/reference/api/applications/

In the context of the Nylas APIs, an "application" is the object record of your Nylas application.

<div id="admonition-info">🔍 <b>The term "application" can refer to any of three concepts</b>: your Nylas application, the project you're building ("your application" or "your app"), and applications that you use to connect to service providers ("provider auth applications"). We try to be specific in this documentation to avoid confusion. The API endpoints described here are for working with your Nylas application, specifically.</div>

The Nylas application is the central resource for your Nylas implementation. It collects the [connectors](/docs/reference/api/connectors-integrations/) that you use to store information about third party services that your application connects to, and stores the [grants](/docs/reference/api/manage-grants/) that you create when using connectors.

Nylas applications also allow you to define your specific branding, change the look and feel of the Nylas Hosted authentication flow, and list your application's callback URIs.

## Application callback URIs

Your Nylas application includes a list of allowed callback URIs. These are known URIs that Nylas can direct users to after authentication. You need to define at least _one_ callback URI so your users can complete the auth flow.

You must include any callback URIs you plan to use in this list. If an auth payload includes a callback URI that isn't on the list, the whole authentication flow fails.

## Application limitations

<div id="admonition-warning">⚠️ <b>You can create, edit, and delete applications from the Nylas Dashboard</b>. You <i>cannot</i> create, edit, or delete them using the Nylas APIs.</div>

Keep the following limitations in mind as you work with Nylas applications:

- Applications are the central resource that stores other Nylas resources. You _must_ create an application before you can create any other parts of your Nylas implementation.
- Applications can be associated with only one project at a time. While your project can have more than one Nylas application to provide different authentication experiences, you cannot share applications, connectors, or grants between more than one project.
- Applications cannot be nested, and cannot be set up with parent-child relationships.
- Your application must have _at least one_ callback URI, or else it cannot finish the authentication flow, which means it cannot create grants. Nylas requires grants to access user data.
  - In an ideal scenario, your application will have multiple callback URIs defined.


## Endpoints

- **GET** `/v3/applications` - [Get application](https://developer.nylas.com/docs/reference/api/applications/get_application/)
- **PATCH** `/v3/applications` - [Update an application](https://developer.nylas.com/docs/reference/api/applications/update_application/)
- **GET** `/v3/applications/redirect-uris` - [Get an application's callback URIs](https://developer.nylas.com/docs/reference/api/applications/get_all_callback_uris/)
- **POST** `/v3/applications/redirect-uris` - [Add callback URI to application](https://developer.nylas.com/docs/reference/api/applications/add_callback_uri/)
- **GET** `/v3/applications/redirect-uris/{id}` - [Return a callback URI](https://developer.nylas.com/docs/reference/api/applications/get_application_callback_uri/)
- **PATCH** `/v3/applications/redirect-uris/{id}` - [Update a callback URI](https://developer.nylas.com/docs/reference/api/applications/update_callback_uri/)
- **DELETE** `/v3/applications/redirect-uris/{id}` - [Delete a callback URI](https://developer.nylas.com/docs/reference/api/applications/delete_callback_uri/)
