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

# Get your Edge Add-ons credentials

> Enroll in Partner Center, create the product with a first manual submission, and copy the Publish API client ID, API key, and Product ID that automated Edge submissions need.

Automated Microsoft Edge Add-ons submissions need one credential pair and one
identifier:

| Value      | What it looks like                                                   | Where it comes from                      |
| ---------- | -------------------------------------------------------------------- | ---------------------------------------- |
| Client ID  | A GUID, for example `43e71dc6-289e-4042-8965-e130ee9a2524`           | The Partner Center Publish API page      |
| API key    | A long opaque string, shown once                                     | Generated on the same page               |
| Product ID | A lowercase GUID, for example `c232d32f-19e3-4dee-974b-2e62848595ab` | The product's Extension Identity section |

The Edge Publish API uses the current API-key model: requests authenticate
with the API key and the client ID directly. No Azure Active Directory app
registration is involved. If older documentation walks you through Azure AD,
it describes the retired model.

## Prerequisites

<Warning>
  The Edge Publish API has no create-product endpoint, and the Product ID is
  always required for automated submissions. Create the product by making the
  first submission manually in Partner Center. Automation takes over from the
  second submission on.
</Warning>

1. Enroll in the Microsoft Edge program on
   [Partner Center](https://partner.microsoft.com/dashboard/microsoftedge/overview).
   Enrollment for the Edge program has no fee.
2. Build a store zip (`npx extension build --browser edge --zip`).
3. Create a new extension in Partner Center and submit that zip by hand.
4. After the product exists, collect the three values below.

## Get the Product ID

1. Open [Partner Center](https://partner.microsoft.com/dashboard/microsoftedge/overview)
   and choose your extension from the overview page.
2. Scroll to the **Extension Identity** section.
3. Copy the **Product ID**, which is a lowercase GUID.

<Note>
  The Product ID is not the Store ID. The Store ID is the uppercase alphanumeric
  value in your public listing URL, for example `0RDCK9HT9JJ7`. The API wants
  the GUID, lowercase with hyphens.
</Note>

## Get the client ID and API key

1. Open the
   [Publish API page](https://partner.microsoft.com/dashboard/microsoftedge/publishapi)
   in Partner Center.
2. If the API is not yet enabled for your account, choose **Turn on API**.
3. Copy the **Client ID** shown on the page.
4. Choose **+ New API key** and copy the generated key immediately.

<Warning>
  The API key is shown only once, and it expires about every 72 days. Note the
  value in the Expiry column, and generate a new key before the old one lapses,
  or scheduled submissions start failing with authorization errors.
</Warning>

## Blast radius and rotation

<Warning>
  The client ID and API key are account-wide. They can submit to every product
  in the Partner Center account. If you manage extensions for several clients,
  keep each client's products under that client's own Partner Center enrollment.
</Warning>

To rotate, generate a new API key on the Publish API page and re-enter it
wherever it is stored. Saved platform secrets are write-only, so rotation
always means re-entering the value.

## Name map

The same values wear different names on each surface:

| Value      | Direct mode env var | Platform mirror secret                | Console field         |
| ---------- | ------------------- | ------------------------------------- | --------------------- |
| Client ID  | `EDGE_CLIENT_ID`    | `STORE_EDGE_CLIENT_ID`                | Publish API Client ID |
| API key    | `EDGE_API_KEY`      | `STORE_EDGE_CLIENT_SECRET`            | Publish API key       |
| Product ID | `EDGE_PRODUCT_ID`   | `settings.json` `stores.edge.storeId` | Product ID (GUID)     |

<Note>
  The platform mirror stores the API key under the secret name
  `STORE_EDGE_CLIENT_SECRET` for historical reasons. It is the Publish API key,
  not an Azure AD client secret.
</Note>
