# Admin API

> The Admin API is how apps read and change things in your Shopify store, including the stock levels a scanner updates.

- Source: https://storestandards.com/glossary/admin-api/
- Updated: 2026-08-14
- Author: Tom Beckwith, Engineer, Store Standards

---

You never touch it directly. Every app you install does, and what it is
allowed to touch is worth knowing.

## What an app has to ask for

Permissions are granted by scope at install, and shown on the install screen.
A receiving app needs to read products and to write inventory. It does not
need customers, and it does not need orders.

Read the list. An app asking for customer data to scan a delivery is asking
for something it has no use for.

## How stock is written

An update names an [inventory item](https://storestandards.com/glossary/inventory-item/) and a
[location](https://storestandards.com/glossary/shopify-location/), and sets or moves the quantity there.
That pair is the address of every stock number in Shopify.

## The rate limit

Shopify meters API calls. An app writing a 900-line count writes it in
batches, which is why a big [stocktake](https://storestandards.com/glossary/stocktake/) takes a minute
to land rather than being instant.

An app that ignores the limit gets throttled and retries, and a badly written
retry is how a count gets applied twice.

## Where it goes wrong

Two apps write the same stock level from different sources. Neither is broken
and the number is wrong all day. One system writes stock; everything else
reads, or listens on a [webhook](https://storestandards.com/glossary/webhook/).

## Related terms

- [Inventory item](https://storestandards.com/glossary/inventory-item/): An inventory item is the countable half of a variant. Stock levels attach to it, one per location, not to the variant itself.
- [Webhook](https://storestandards.com/glossary/webhook/): A webhook is a message Shopify sends to an app the moment something happens in your store, so the app does not have to keep asking.
- [Metafield](https://storestandards.com/glossary/metafield/): A metafield is an extra field you add to a Shopify record to store something the built-in fields have no box for.