---
title: Upload an Android <code>assetlinks.json</code> file
description: An Android assetlinks.json file is a metadata file that lets your website declare an association with your Android apps. By convention, it is accessed from your website using the endpoint /.well-known/assetlinks.json.
component: pingoneaic
page_id: pingoneaic:end-user:upload-android-assetlinks
canonical_url: https://docs.pingidentity.com/pingoneaic/end-user/upload-android-assetlinks.html
keywords: ["Third-Party", "Integration", "Setup &amp; Configuration", "REST API", "Security"]
page_aliases: ["developer-docs:uploading-android-assetlinks.adoc", "developer-docs:upload-android-assetlinks.adoc"]
section_ids:
  high-level-process-android: High-level process
  view-an-assetlinks-json-file: View an assetlinks.json file
  upload-or-replace-an-assetlinks-json-file: Upload or replace an assetlinks.json file
  delete-an-assetlinks-json-file: Delete an assetlinks.json file
---

# Upload an Android `assetlinks.json` file

What is an Android `assetlinks.json` file?

An [Android assetlinks.json](https://developer.android.com/training/app-links/verify-android-applinks) file is a metadata file that lets your website [declare an association](https://developers.google.com/digital-asset-links/v1/getting-started) with your Android apps. By convention, it is accessed from your website using the endpoint `/.well-known/assetlinks.json`.

To help you integrate your Android apps with PingOne Advanced Identity Cloud, you can upload an `assetlinks.json` file to a tenant environment and access it through a custom domain associated with the environment. You can do this for each custom domain in your set of environments.

As the configuration in your upper environments is immutable, you can only modify the content of an `assetlinks.json` file in your development environment configuration. You must then promote any configuration changes to your upper environments.

|   |                                                                                                                                                                                      |
| - | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|   | Ensure you have set up a [custom domain](../realms/custom-domains.html#configure-a-custom-domain) for each environment and realm where you need to upload an `assetlinks.json` file. |

## High-level process

The high-level process to configure and promote an `assetlinks.json` file is as follows:

1. In your development environment, use the endpoint naming format `/openidm/config/fidc/assetlinks.<custom-domain-fqdn>` to set `assetlinks.json` content in your configuration with an association to a custom domain. For example, for the custom domain `id.mycompany.com`, use the endpoint `/openidm/config/fidc/assetlinks.id.mycompany.com`.

2. Promote the configuration to the upper environment that's configured to use the custom domain; for example, if your production environment is configured to use the custom domain, you will need to promote to your staging environment, and then promote again to your production environment.

3. Access the `assetlinks.json` file from your custom domain using the endpoint `/.well-known/assetlinks.json`; for example, for the custom domain `id.mycompany.com`, use the URL https\://id.mycompany.com/.well-known/assetlinks.json.

## View an `assetlinks.json` file

Use a custom domain to view an `assetlinks.json` file. You don't need to use an access token as the file is publicly accessible.

> **Collapse: Show request**
>
> ```bash
> $ curl \
> --request GET 'https://<custom-domain-fqdn>/.well-known/assetlinks.json'(1)
> ```

|       |                                                                                     |
| ----- | ----------------------------------------------------------------------------------- |
| **1** | Replace \<custom-domain-fqdn> with a custom domain, for example `id.mycompany.com`. |

> **Collapse: Show response**
>
> ```json
> {
>     "relation": [
>         "delegate_permission/common.handle_all_urls",
>         "delegate_permission/common.get_login_creds"
>     ],
>     "target": {
>         "namespace": "web",
>         "site": "https://id.mycompany.com"
>     }
> }
> ```

## Upload or replace an `assetlinks.json` file

1. Refer to the [High-level process](#high-level-process-android) for configuring and promoting an `assetlinks.json` file.

2. In your development environment:

   1. [Get an access token](../developer-docs/authenticate-to-rest-api-with-access-token.html#get_an_access_token).

   2. Set the `assetlinks.json` file contents in your configuration:

      > **Collapse: Show request**
      >
      > ```bash
      > $ curl \
      > --request PUT 'https://<tenant-env-fqdn>/openidm/config/fidc/assetlinks.<custom-domain-fqdn>' \(1) (2)
      > --header 'Authorization: Bearer <access-token>' \(3)
      > --header 'Content-Type: application/json' \
      > --data-raw '{(4)
      >   "data": [
      >     {
      >       "relation": [
      >         "delegate_permission/common.handle_all_urls",
      >         "delegate_permission/common.get_login_creds"
      >       ],
      >       "target": {
      >         "namespace": "web",
      >         "site": "https://id.mycompany.com"
      >       }
      >     }
      >   ]
      > }'
      > ```

      |       |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      | ----- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | **1** | Replace \<tenant-env-fqdn> with the domain of your development environment; for example, `openam-mycompany.forgeblocks.com`.                                                                                                                                                                                                                                                                                                                                                                                                                        |
      | **2** | Replace \<custom-domain-fqdn> with the custom domain, for example `id.mycompany.com`.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
      | **3** | Replace \<access-token> with the access token.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
      | **4** | Replace the example `assetlinks.json` JSON content with your own JSON content. Note that the JSON content is wrapped in a `data` object wrapper.> **Collapse: Show response**
      >
      > ```json
      > {
      >   "_id": "fidc/assetlinks.id.mycompany.com",
      >   "data": [
      >     {
      >       "relation": [
      >         "delegate_permission/common.handle_all_urls",
      >         "delegate_permission/common.get_login_creds"
      >       ],
      >       "target": {
      >         "namespace": "web",
      >         "site": "https://id.mycompany.com"
      >       }
      >     }
      >   ]
      > }
      > ``` |

   3. (Optional) Repeat the previous step for each additional custom domain that needs the `assetlinks.json` file uploading or replacing.

3. Run a series of promotions to add the development environment configuration to your upper environments. Learn more in:

   * [Manage self-service promotions using the API](../tenants/self-service-promotions-api.html)

   * [Manage self-service promotions using the admin console](../tenants/self-service-promotions-ui.html)

4. Use your custom domain to [view the assetlinks.json file](#view-an-assetlinks-json-file). If you uploaded or replaced additional `assetlinks.json` files, repeat this for each custom domain.

## Delete an `assetlinks.json` file

1. Refer to the [High-level process](#high-level-process-android) for configuring and promoting an `assetlinks.json` file.

2. In your development environment:

   1. [Get an access token](../developer-docs/authenticate-to-rest-api-with-access-token.html#get_an_access_token).

   2. Delete the `assetlinks.json` file contents from your configuration:

      > **Collapse: Show request**
      >
      > ```bash
      > $ curl \
      > --request DELETE 'https://<tenant-env-fqdn>/openidm/config/fidc/assetlinks.<custom-domain-fqdn>' \(1) (2)
      > --header 'Authorization: Bearer <access-token>'(3)
      > ```

      |       |                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      | ----- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
      | **1** | Replace \<tenant-env-fqdn> with the domain of your development environment, for example `openam-mycompany.forgeblocks.com`.                                                                                                                                                                                                                                                                                                                       |
      | **2** | Replace \<custom-domain-fqdn> with your custom domain, for example `id.mycompany.com`.                                                                                                                                                                                                                                                                                                                                                            |
      | **3** | Replace \<access-token> with the access token.> **Collapse: Show response**
      >
      > ```json
      > {
      >   "_id": "fidc/assetlinks.id.mycompany.com",
      >   "data": [
      >     {
      >       "relation": [
      >         "delegate_permission/common.handle_all_urls",
      >         "delegate_permission/common.get_login_creds"
      >       ],
      >       "target": {
      >         "namespace": "web",
      >         "site": "https://id.mycompany.com"
      >       }
      >     }
      >   ]
      > }
      > ``` |

   3. (Optional) Repeat the previous step for each additional custom domain that needs the `assetlinks.json` file deleting.

3. Run a series of promotions to add the development environment configuration to your upper environments. Learn more in:

   * [Manage self-service promotions using the API](../tenants/self-service-promotions-api.html)

   * [Manage self-service promotions using the admin console](../tenants/self-service-promotions-ui.html)

4. Use your custom domain to [view the assetlinks.json file](#view-an-assetlinks-json-file) and check that it is empty. If you deleted additional `assetlinks.json` files, repeat this for each custom domain.
