The Stockie API

Available on: Pro Plus.

The Stockie API lets a system you control read purchase orders, receipts, inventory and suppliers out of Stockie, and create purchase orders in it. It suits an ERP, a warehouse or finance system, or an internal dashboard that should stay in step with Stockie instead of someone re-entering the same numbers in two places.

The reference for implementing it, with every endpoint, field and example request, is at stockie.app/developers/api. If you only need the data in a file now and then, exporting a report is the shorter route.

The API is part of Stockie. There is nothing to apply for and no separate charge for it. Everything it covers is purchase order data, so the keys sit with the purchase orders feature set and a store needs the Pro Plus plan to create a key or make requests.

Creating a key

Settings → Integrations  holds a Stockie API card. Until a key exists it says "No API keys yet. Create a key to connect your first tool."

Create API key asks for two things. A Name, up to 80 characters, that tells you later what uses the key, and no two live keys can share one. Then Permissions, where you tick only what that tool needs: Read purchase orders, Write purchase orders, Read inventory and Read suppliers.

The key itself is shown once, right after you create it. Copy it then and put it wherever that system keeps its secrets, because Stockie stores only a hashed copy and cannot show it again. Keys begin with stk_ , so one is recognisable as Stockie's if it turns up somewhere it should not.

A key works only for the store that created it, and a store can hold up to ten live keys at a time. Revoke key on any row stops that key working immediately and cannot be undone, though you can create a replacement at any time.

the Stockie API card under Settings, Integrations, with one key listed

What it can read and write

The reads cover purchase orders as a list and one order in full, with its line items, invoices and payments; a feed of receipts, with unreceives as their own entries; inventory levels per location; and suppliers, one supplier, and the variants a supplier supplies with their supplier SKUs.

The writes are narrower: create a purchase order, update an existing one's header fields such as tracking details or its name, and record a supplier invoice against one.

Orders created through the API arrive as drafts, and the API cannot change an order's status, edit its lines afterwards, or receive stock. Ordering and receiving stay in Stockie, which is also where inventory effects happen, as What Stockie writes to your store covers.

Worth knowing

Inventory levels are Stockie's live copy of your Shopify inventory, with the time each row was last confirmed against Shopify on the row itself. Purchase orders and receipts can be filtered by date range, so a nightly job can ask only for what changed.

Money always comes back as an amount plus its currency, never a bare number. Stockie's own records are identified by Stockie ids, while anything that belongs to Shopify, such as variants, products and locations, uses its Shopify id.

What it does not cover

Stockie does not send outgoing webhooks, so an integration asks for changes rather than being notified of them. Forecasting and reorder figures are not available through the API either, although they are on screen and in exports in Stockie. If you need something the API does not reach, tell us what you are building.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.

Still need help? Contact Us Contact Us