> For the complete documentation index, see [llms.txt](https://docs.amply.tools/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.amply.tools/price-management/store-credentials.md).

# Store credentials

Amply manages your App Store and Google Play prices for you — it reads your current prices and submits scheduled price changes. To do that, it needs API credentials from each store, with permission to manage pricing. You create these once per app and can revoke them at any time in the store's console.

This page covers both platforms — jump to [App Store Connect (iOS)](#app-store-connect-ios) or [Google Play (Android)](#google-play-android).

{% hint style="info" %}
Your credentials are stored encrypted and are used only to read and update your store pricing. Grant the least-privileged role that still allows pricing — you don't need account-owner access.
{% endhint %}

## At a glance

|                           | App Store Connect (iOS)               | Google Play (Android)                         |
| ------------------------- | ------------------------------------- | --------------------------------------------- |
| What you create           | An App Store Connect **API key**      | A Google Cloud **service account** + JSON key |
| What you paste into Amply | Key ID, Issuer ID, and the `.p8` file | The service-account JSON                      |
| Access level it needs     | **App Manager** role (or higher)      | **Manage store presence** + read access       |
| Where                     | App Store Connect → Users and Access  | Google Cloud + Play Console                   |

## App Store Connect (iOS)

You'll create an **App Store Connect API key** and give Amply three things: a **Key ID**, an **Issuer ID**, and a **`.p8`** private-key file.

### Before you start

* Your app already exists in App Store Connect, under the team you'll create the key in (not a personal Apple ID).
* Your Apple agreements, tax, and banking details are complete — otherwise price changes can fail even with valid credentials.
* You can sign in to App Store Connect as an **Account Holder** or **Admin** — only these roles can create a team API key.

### Access level

The key's role must be able to manage pricing. Assign it the **App Manager** role: App Manager can manage all aspects of an app, including pricing — everything Amply needs and nothing more. **Admin** also works but grants more than necessary. The **Finance** role is **not** enough — it's read-only for pricing.

### Steps

1. In App Store Connect, go to **Users and Access → Integrations → App Store Connect API**.
2. Under **Team Keys**, select **Generate API Key** (or **+**).
3. Name it (for example, "Amply price management") and set **Access** to **App Manager**, then generate.
4. Copy the **Issuer ID** (shown above the list of keys) and the new key's **Key ID**.
5. **Download the API key (`.p8`) now** — Apple lets you download it only once.
6. In Amply, open your application's **Integrations** tab and enter the **Key ID**, **Issuer ID**, and the contents of the `.p8` file (or upload the file).

{% hint style="warning" %}
Lost the `.p8`? It can't be downloaded again — revoke that key and generate a new one.
{% endhint %}

## Google Play (Android)

You'll create a **Google Cloud service account**, download its **JSON key**, and grant it access in the Play Console.

### Before you start

* Your app already exists in Google Play Console.
* Your Play Console payments profile and agreements are complete.
* You can manage users in the Play Console (**Users and permissions**) — needed to invite the service account.

### Access level

In **Google Cloud**, the service account needs only the **Google Play Developer API** (also listed as the **Google Play Android Developer API**) enabled in its project — no special Cloud IAM role.

In the **Play Console**, grant the service account:

* **View app information and download bulk reports** (account-level) — or **View app information** (for a single app) — so Amply can read your current products and prices.
* **Manage store presence** — the permission that allows editing pricing for subscriptions and in-app products.

You don't need "Manage orders and subscriptions" — that covers refunds and order management, not price edits.

### Steps

1. In the **Google Cloud Console**, create or select a project, create a **service account**, then create a **JSON key** for it and download the file.
2. In that same project, enable the **Google Play Developer API** (also shown as **Google Play Android Developer API**).
3. In **Play Console → Users and permissions**, choose **Invite new users** and enter the service account's email (the `client_email` from the JSON).
4. Grant the permissions above — account-wide, or for this specific app — then send the invite.
5. **Wait for the permissions to take effect.** This can take up to 24 hours, though it's often much faster.
6. In Amply, open your application's **Integrations** tab and paste the service-account JSON (or upload the file).

## After you connect

Amply checks the credentials when you save. If it accepts them, you're ready to manage prices. If it rejects them, the cause is almost always one of:

* **Apple** — the Key ID / Issuer ID don't match the `.p8`; the `.p8` is incomplete (copy the whole file, including the `BEGIN`/`END` lines); or the key's role is below App Manager.
* **Google** — the service account isn't granted in the Play Console yet, or the permissions haven't propagated (wait, then try again); the Google Play Developer API isn't enabled; or **Manage store presence** wasn't granted. If it still fails after the permissions have propagated, re-save them in the Play Console and try again.

## Keeping credentials safe

* Use a dedicated key / service account for Amply — don't reuse personal credentials.
* Never commit your `.p8` or service-account JSON to source control.
* Revoke and regenerate credentials when a team member leaves or a key may be exposed. Amply stores them encrypted and uses them only to read and update your store pricing.

***

*Last reviewed: June 2026. Store consoles occasionally change their menus — if a label differs, look for the nearest equivalent.*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.amply.tools/price-management/store-credentials.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
