API reference
Store API
Everything inside one store: products, orders, customers, inventory, shipping, taxes and the storefront cart and checkout. 1,335 operations in 146 groups, on one host for every store and region.
api.tanqory.com- Operations
- 1,335
- Groups
- 146
- Schemas
- 404
Client libraries
Call it from the stack you know
Every operation is an HTTPS request with a JSON body, so any language can call the Store API. In TypeScript, the SDK wraps the same OpenAPI documents.
- TypeScript SDK@tanqory/sdk, generated from the OpenAPI documents this reference is built from, for browsers and Node.js.
- React and React NativeThe @tanqory/sdk/react and @tanqory/sdk/react-native entry points add hooks for web and mobile apps.
- Any HTTP clientcURL, fetch or Python requests: send the Bearer header and a JSON body, read JSON back.
- Python and GoLibraries are on the roadmap. Until they ship, call the API over HTTPS as shown below.
npm install @tanqory/sdk# Entry points# @tanqory/sdk browsers and Node.js# @tanqory/sdk/react React hooks# @tanqory/sdk/react-native React Nativepnpm add @tanqory/sdk# Entry points# @tanqory/sdk browsers and Node.js# @tanqory/sdk/react React hooks# @tanqory/sdk/react-native React Nativeyarn add @tanqory/sdk# Entry points# @tanqory/sdk browsers and Node.js# @tanqory/sdk/react React hooks# @tanqory/sdk/react-native React Nativebun add @tanqory/sdk# Entry points# @tanqory/sdk browsers and Node.js# @tanqory/sdk/react React hooks# @tanqory/sdk/react-native React NativeAuthentication
One Bearer token per request
Every Store API call carries an Authorization header with a JSON Web Token. The same token opens the Admin, Store and AI APIs, so one key serves your whole app.
- Bearer tokenThe spec declares one security scheme: HTTP bearer, format JWT, on every operation that needs sign-in.
- Keep keys on the serverAnyone holding a key acts as you. Never commit it, log it or ship it in a browser bundle.
- API License and TermsHow keys may be used and rotated.
- When a token failsA missing, wrong or expired token answers 401 with the code auth_token_invalid. Sign in again; never retry the same token.
GET /api/v1/stores/{storeId}/products HTTP/1.1Host: api.tanqory.comAuthorization: Bearer $TANQORY_API_KEYContent-Type: application/json{ "error": { "type": "authentication_error", "code": "auth_token_invalid", "status": 401 }}Base URL
Where the Store API answers
Each store runs in the cloud region chosen when it was created, and its data stays there. The Store API still answers on one host: a call names the store in its path, and the platform routes it to that store's region.
- One hosthttps://api.tanqory.com serves every store in every region; https://api.tanqory.dev is the development host.
- The store in the pathStore calls run under /api/v1/stores/{storeId}/..., so the store ID decides where the call is answered.
- One contractPaths, bodies and the Bearer token are identical in every region.
- Production
https://api.tanqory.com - Development
https://api.tanqory.dev
How a call is addressed
https://api.tanqory.comOne host, whatever region the store runs in./api/v1/stores/{storeId}/productsA store-scoped path names the store whose data answers.Authorization: Bearer $TANQORY_API_KEYThe same token as the Admin and AI APIs.
First call
Make a call
The same request in three languages. Export your key as TANQORY_API_KEY and your store's id as STORE_ID, then run it.
- GET /api/v1/stores/{storeId}/productsList all products. Find the operation in the Products group, with its parameters and responses.
- ResponsesIt answers 200 OK; a failure returns the one error object every call shares.
- WorkbenchFill the fields and send the same request from the browser.
HOST=https://api.tanqory.comcurl -H "Authorization: Bearer $TANQORY_API_KEY" \ "$HOST/api/v1/stores/$STORE_ID/products"const host = 'https://api.tanqory.com';const storeId = process.env.STORE_ID;const url = `${host}/api/v1/stores/${storeId}/products`;const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.TANQORY_API_KEY}`, },});console.log(res.status, await res.json());import osimport requestshost = "https://api.tanqory.com"store_id = os.environ["STORE_ID"]url = f"{host}/api/v1/stores/{store_id}/products"res = requests.get( url, headers={"Authorization": f"Bearer {os.environ['TANQORY_API_KEY']}"},)print(res.status_code, res.json())/ api/ v1/ stores/ {storeId}/ productsList all products
Parameters
storeIdrequired
Responses
- 200Products retrieved successfully
Limits, errors and versions
Rules every call shares
Retry what is safe to retry, read the one error envelope, and pin the version in the path.
- Rate limitsTreat 429 and 503 as a signal to wait: honor Retry-After, otherwise back off with jitter, at most 4 attempts.
- ErrorsEvery error is one error object with a type, a code, the status and a request id; a validation error lists each field.
- VersioningVersions live in the URL path, not in a header. The Store API is on /api/v1, document version 2.0.
- PaginationList operations that page declare limit with offset or page; each operation's parameters say which.
// Retry 429 and 503: honor Retry-After, else back off with jitter.async function withRetry(fn, max = 4) { for (let attempt = 0; ; attempt++) { const res = await fn(); if (res.status !== 429 && res.status !== 503) return res; if (attempt >= max) return res; const retryAfter = Number(res.headers.get('Retry-After')); const base = Number.isFinite(retryAfter) ? retryAfter * 1000 : Math.min(1000 * 2 ** attempt, 30_000); // 1s, 2s, 4s, capped await new Promise((r) => setTimeout(r, base + Math.random() * 250)); }}Every group
Browse the Store API
Each group opens its operations with their parameters, request bodies and responses, straight from the spec.
- Orders92 operations
- Analytics57 operations
- Taxes48 operations
- Store Taxes34 operations
- Customers33 operations
- Transfers30 operations
- Marketing29 operations
- Customer Segments27 operations
- Shipping Settings26 operations
- Metaobjects24 operations
- Payments23 operations
- Collections22 operations
- Draft Orders22 operations
- Purchase Orders21 operations
- Storefront - Cart & Checkout21 operations
- Subscriptions21 operations
- Stores19 operations
- Gift Cards18 operations
- Shipping Profiles18 operations
- Storefront - Authentication18 operations
- Products16 operations
- Returns16 operations
- Selling Plans15 operations
- Store Discounts15 operations
- Inventory14 operations
- Media Library14 operations
- Themes - Page Templates (Legacy)14 operations
- Mobile13 operations
- Store Settings - Catalogs13 operations
- AI Assistant12 operations
- Blogs12 operations
- Store Members12 operations
- Store Settings - Markets12 operations
- Media Boards11 operations
- Store Settings - Locations11 operations
- AI Usage10 operations
- Computed Traits10 operations
- Domains10 operations
- Product Categories10 operations
- Storefront - Subscriptions10 operations
- Analytics AI9 operations
- Customer Events9 operations
- Infrastructure9 operations
- Pages9 operations
- Payment Providers9 operations
- Store Settings - Webhooks9 operations
- Suppliers9 operations
- Themes - Installation9 operations
- AI Skills8 operations
- Collection Views8 operations
- Gift Card Views8 operations
- Inventory Views8 operations
- Invoice Views8 operations
- Metafields8 operations
- Product Views8 operations
- Purchase Order Views8 operations
- Push Notifications8 operations
- Store Content - Menus8 operations
- Transfer Views8 operations
- Articles7 operations
- Email Forwards7 operations
- Payment Sessions7 operations
- Store Discounts: Timeline7 operations
- Store Settings - Customer Privacy7 operations
- Store Settings - Email Templates7 operations
- Store Settings - Policies7 operations
- Themes - Pages7 operations
- Language Settings6 operations
- Manual Payment Methods6 operations
- Media Usage6 operations
- Order Risks6 operations
- Pixels6 operations
- Shipping Labels6 operations
- Store Credits6 operations
- Store Discounts: Validation6 operations
- Store Roles6 operations
- Store Settings - Staff Notifications6 operations
- Themes - Export & Versions6 operations
- Themes - Layouts6 operations
- Auth5 operations
- Bank Accounts5 operations
- Billing5 operations
- Cloudflare5 operations
- Domain Notifications5 operations
- Health5 operations
- Packages5 operations
- Payouts5 operations
- Store Invitations5 operations
- Storefront - Orders5 operations
- Themes - Blocks5 operations
- Transactions5 operations
- Canva Integration (store)4 operations
- Disputes4 operations
- Orders - Abandoned Checkouts4 operations
- Settings4 operations
- Storage4 operations
- Store Content - Pages4 operations
- Store Discounts: Views4 operations
- Store Settings - Custom Attribute Values4 operations
- Store Settings - Customer Accounts4 operations
- Storefront4 operations
- Themes - Catalog4 operations
- Themes - Styles4 operations
- Webhook Events4 operations
- AI Policy Generation3 operations
- Canva Integration (proxy)3 operations
- Cloudflare Credential3 operations
- DHL Express Integration3 operations
- Easyship Integration3 operations
- Inventory Locations3 operations
- Notifications3 operations
- Product Variants3 operations
- Public Invitations3 operations
- Store API Keys3 operations
- Store Settings - Security3 operations
- AI Email Template Generation2 operations
- Checkout2 operations
- Dashboard Metrics2 operations
- Domain Notification Preferences2 operations
- Events Gateway2 operations
- GraphQL2 operations
- Media AI Edit2 operations
- Media Upload2 operations
- Payment Settings2 operations
- Stock Photos2 operations
- Store Activity2 operations
- Store Content - Articles2 operations
- Store Settings - Brand2 operations
- Store Settings - Checkout2 operations
- Store Settings - Notifications2 operations
- Storefront - Installment Payments2 operations
- Themes - Assets2 operations
- Webhooks2 operations
- Cart1 operation
- Computed Traits Presets1 operation
- Feature Flags1 operation
- Lookup1 operation
- Metrics1 operation
- Policy Templates1 operation
- Search1 operation
- Setup Progress1 operation
- Shipping Provider1 operation
- Storage Usage1 operation
- Store Domains1 operation
- Store Settings - Products1 operation
- Storefront - API Key Validation1 operation
Make your first call today
Open a store, create a key and list your stores in one request. AI is part of every plan.
- One Bearer token for every API
- Generated from the OpenAPI spec
- SDK, CLI and MCP server