Skuflo API

Production, stock and dispatch tracking for manufacturers, with a free live portal for every retailer they supply. Push orders in with a factory API key, scan pieces from your own hardware with a station token, and get signed webhooks out as every piece moves.

Base URL: api.skuflo.ioVersion: v157 endpoints

Start here

IntroductionAuthenticationScanning from your own hardwareWebhooksErrorsRate limitsChangelog

API reference

Scanning

POST/v1/scanRecord a scan. The event is fixed by the station, never by the request.GET/v1/stationWho am I (station token)

Orders

GET/v1/itemsEvery piece, filterable by scan state and retailerGET/v1/ordersOrders, filterable by scan state and retailerGET/v1/orders/{id}One order with every piece and its scan historyPOST/v1/orders/{id}/cancelCancel every piece not yet loadedGET/v1/orders/{id}/delivery-note.pdfDelivery note PDF for pieces loaded so farPOST/v1/orders/importImport order lines as JSONPOST/v1/uploadsUpload a retailer order sheet (.xlsx or .csv)

Labels

POST/v1/items/{barcode}/remakeVoid the old piece and print a fresh label for its replacementPOST/v1/items/{barcode}/voidVoid a label. A voided label is refused at every station.GET/v1/labelsLabels, one per piece: PDF (default) or ZPL for Zebra/thermal printers. First print emits label.printed per order.POST/v1/labels/reprintReprint existing labels: same PDF/ZPL, never fires label.printed again

Production

GET/v1/production-listA day’s production list grouped by SKU and colourPUT/v1/production-list/marksTick or untick a line as built

Stock

GET/v1/racksYour rack layoutPUT/v1/racksReplace your rack set up. Racks or bays still holding stock cannot be removed.GET/v1/returnsReturned pieces, filterable by statusPOST/v1/returnsLog a returned piecePATCH/v1/returns/{id}Back to stock (needs a bay) or write offGET/v1/stockFinished goods by bay, ageing and valueGET/v1/stock/bays/{bay}Every piece currently in one bay

Loads

GET/v1/loadsLoads (vehicle trips), filterable by statusPOST/v1/loadsOpen a new load, optionally attached to a dispatch stationGET/v1/loads/{id}One load with its orders and any shortagesPOST/v1/loads/{id}/attach-stationAttach an open load to a dispatch station; detaches any other open load already on itPOST/v1/loads/{id}/closeClose a load: computes shortages and fires load.closed / order.short_loadedGET/v1/loads/{id}/manifest.pdfLoad manifest PDF

Retailers

GET/v1/retailersRetailers with order, piece and user countsPOST/v1/retailersCreate a retailer with its users. The only way a retailer can exist.GET/v1/retailers/{id}One retailer with its users and filter countsPATCH/v1/retailers/{id}Update a retailerGET/v1/retailers/{id}/usersRetailer users and counts by rolePOST/v1/retailers/{id}/usersInvite one or more users to a retailerDELETE/v1/retailers/{id}/users/{uid}Remove a retailer userPATCH/v1/retailers/{id}/users/{uid}Change a retailer user's role

Stations

GET/v1/stationsScan stations, with today's scan counts and online statusPATCH/v1/stations/{id}Rename, enable/disable or set the default rack bay for a stationPOST/v1/stations/pairTablet or phone swaps a pairing code for its station token (shown once)POST/v1/stations/pairing-codesCreate a 10 minute pairing code for a new station

Hardware

GET/v1/hardware/test-labelA printable test label for checking scanner hardware. Scanning it never touches an order.POST/v1/stations/{id}/hardware-checkRecord a scanner hardware check for a station and update its last known hardware stateGET/v1/stations/{id}/hardware-checksHardware check history for a station

Webhooks

GET/v1/webhooksYour factory webhook endpoints (every retailer)POST/v1/webhooksSigning secret is shown onceDELETE/v1/webhooks/{id}Disable a webhook endpointGET/v1/webhooks/deliveriesRecent deliveries to your endpoints

Settings

GET/v1/api-keysYour factory API keys (never shows the key itself again)POST/v1/api-keysKey is shown onceDELETE/v1/api-keys/{id}Revoke an API keyGET/v1/settingsYour factory settingsPATCH/v1/settingsUpdate your factory settingsGET/v1/sku-piecesPiece counts and names configured per SKUPUT/v1/sku-piecesReplace the piece counts and names configured per SKU

Overview

GET/v1/overviewDashboard tiles, today’s floor, retailers and stationsGET/v1/scansScan log, newest first

Announcements

GET/v1/announcementsAnnouncements currently active