Skip to content

Developer docs

API reference

Everything the dashboard does, from your own code. Send your key as a Bearer token from your server.

Groups

Send Authorization: Bearer hsk_live_… with a key you created under Developers, API keys. Everything is scoped to the key's store and to the key's scopes. Responses are never cached (cache-control: no-store). Writes go through the same rules as the dashboard: plan limits, delivery checks, payment locks and the audit log all apply. Orders are created by buyers at checkout; the API manages them afterwards.

Every call is live. To look around safely, make a temporary read-only key in Try it; it expires in 60 minutes.

GET reads · POST and PUT create · PATCH changes · DELETE removes

25 reads · 24 creates · 8 changes · 9 removes · 22 writes accept Idempotency-Key

Every endpoint

All 71 endpoints on one list, public ones first. Filter by path, name or scope; every row links to its reference.

71 of 71 endpoints

Public API5 endpoints

Public API endpoints
GET/public/products/{storeSlug}Products of a storeNo key
GET/public/products/{storeSlug}/{slug}One productNo key
GET/public/categories/{storeSlug}Categories of a storeNo key
GET/public/reviews/{storeSlug}Visible reviewsNo key
GET/public/recent-sales/{storeSlug}Recent salesNo key

Products14 endpoints

Products endpoints
GET/productsList productsproducts:read
POST/productsCreate a productproducts:write
GET/products/{id}Get a productproducts:read
PATCH/products/{id}Update a productproducts:write
DELETE/products/{id}Delete a productproducts:write
GET/products/{id}/variationsList variationsproducts:read
POST/products/{id}/variationsAdd a variationproducts:write
GET/products/{id}/variations/{variationId}Get a variationproducts:read
PATCH/products/{id}/variations/{variationId}Update a variationproducts:write
DELETE/products/{id}/variations/{variationId}Remove a variationproducts:write
GET/products/{id}/keysPool counts and unused keysproducts:read
POST/products/{id}/keysAdd keys in bulkproducts:write
DELETE/products/{id}/keysRemove unused keysproducts:write
POST/products/{id}/stockSet or adjust stockproducts:write

Categories6 endpoints

Categories endpoints
GET/categoriesList categoriescategories:read
POST/categoriesCreate a categorycategories:write
GET/categories/{id}Get a categorycategories:read
PATCH/categories/{id}Update a categorycategories:write
DELETE/categories/{id}Delete a categorycategories:write
POST/categories/reorderReorder categoriescategories:write

Coupons5 endpoints

Coupons endpoints
GET/couponsList couponscoupons:read
POST/couponsCreate a couponcoupons:write
GET/coupons/{id}Get a couponcoupons:read
PATCH/coupons/{id}Update a couponcoupons:write
DELETE/coupons/{id}Delete a couponcoupons:write

Orders10 endpoints

Orders endpoints
GET/ordersList ordersorders:read
GET/orders/{id}Get an orderorders:read
POST/orders/{id}/approveApprove a manual paymentorders:write
POST/orders/{id}/rejectReject a manual paymentorders:write
POST/orders/{id}/cancelCancel an orderorders:write
POST/orders/{id}/redeliverRun delivery againorders:write
POST/orders/{id}/resend-receiptResend the receiptorders:write
POST/orders/{id}/refundRefund to store balanceorders:write
PUT/orders/{id}/noteWrite the private noteorders:write
DELETE/orders/{id}/noteRemove the private noteorders:write

Subscriptions4 endpoints

Subscriptions endpoints
GET/subscriptionsList subscriptionssubscriptions:read
GET/subscriptions/{id}Get a subscriptionsubscriptions:read
POST/subscriptions/{id}/cancelCancel a subscriptionsubscriptions:write
POST/subscriptions/{id}/extendExtend by one periodsubscriptions:write

Customers5 endpoints

Customers endpoints
GET/customersList customerscustomers:read
GET/customers/{id}Get a customercustomers:read
POST/customers/{id}/balanceAdjust store balancecustomers:write
POST/customers/{id}/banBan a customercustomers:write
DELETE/customers/{id}/banLift a bancustomers:write

Reviews5 endpoints

Reviews endpoints
GET/reviewsList reviewsreviews:read
GET/reviews/{id}Get a reviewreviews:read
PATCH/reviews/{id}Hide or show a reviewreviews:write
PUT/reviews/{id}/replyReply in publicreviews:write
DELETE/reviews/{id}/replyRemove the replyreviews:write

Tickets5 endpoints

Tickets endpoints
GET/ticketsList ticketstickets:read
GET/tickets/{id}Get a tickettickets:read
POST/tickets/{id}/messagesReply to a tickettickets:write
PATCH/tickets/{id}Change the statustickets:write
POST/tickets/{id}/closeClose a tickettickets:write

Store2 endpoints

Store endpoints
GET/storeGet the storestore:read
PATCH/storeUpdate basic settingsstore:write

Webhooks8 endpoints

Webhooks endpoints
GET/webhooksList endpointswebhooks:read
POST/webhooksCreate an endpointwebhooks:write
GET/webhooks/{id}Get an endpointwebhooks:read
PATCH/webhooks/{id}Update an endpointwebhooks:write
DELETE/webhooks/{id}Delete an endpointwebhooks:write
POST/webhooks/{id}/rotate-secretRotate the secretwebhooks:write
POST/webhooks/{id}/testSend a test eventwebhooks:write
GET/webhooks/{id}/deliveriesDelivery logwebhooks:read

Analytics1 endpoint

Analytics endpoints
GET/analyticsRevenue and ordersanalytics:read

Your key1 endpoint

Your key endpoints
GET/meInspect the key you are usingNo key

Try it

Send a request from this page. Signed in? Press Use a temporary test key and we make one for the store you pick: read-only unless you allow writes, gone after 60 minutes, and listed under your API keys so you can revoke it early. Or paste a key of your own. Either way the key stays in this tab and goes to the API only. Writes are real changes to your store.

Endpoint
GET/public/products/{storeSlug}
GET/public/products/{storeSlug}No key
Send requestThe key stays in this tab and goes to https://api.sellhidden.com/v1 only.

Get help

Send us the endpoint, the request or delivery id and the response you got. Security findings go through responsible disclosure. Live platform status is on the support page.

See also