03API reference
Rollmark API reference
The Rollmark API lets a dealer's website, plugin or inventory system work with the dealer's own data: the catalog as the store lists it, FFL Checkout (find an FFL, send the order a shopper made with a chosen FFL) and, as they are added, orders, distributor-order drafts, hand-managed stock and webhooks.
This file is the single source. The reference on docs.getrollmark.com is rendered from it, and the dealer app's tests check every route against it, so the documentation cannot drift from the code.
Versioning promise (v1). New endpoints, new optional request fields, new response fields, new event types and
new permissions may be added. Nothing is removed or renamed, and nothing changes meaning. Ignore response fields you
do not know. A deprecation is announced at least six months before anything stops working, with Deprecation and
Sunset response headers.
Errors. The FFL Checkout routes and every route added after v1.0 answer { "error": { "code", "message", "request_id" } }.
The three catalog routes keep their original body, a bare word in error (unauthorized, forbidden, not_found,
rate_limited, bad_request, setting_up, unavailable), and add error_detail: { code, message }; the request id
is in the X-Request-Id header.
Orders
/ordersList ordersPOST/ordersSend an orderGET/orders/{id}One orderGET/orders/{id}/fillWhere each line standsPOST/orders/{id}/matchMatch an order to your store's orderPOST/orders/{id}/cancelCancel an orderPOST/orders/{id}/readyMark ready to shipPOST/orders/{id}/shipMark shippedPOST/orders/{id}/deliverFinish as deliveredPOST/orders/{id}/linesAdd an item to an orderPATCH/orders/{id}/lines/{line_no}Change a lineDELETE/orders/{id}/lines/{line_no}Remove a lineInventory
/inventory/itemsList stock itemsGET/inventory/items/{external_id}One stock itemPUT/inventory/items/{external_id}Create or update a hand-managed itemPATCH/inventory/items/{external_id}Change a hand-managed itemDELETE/inventory/items/{external_id}Remove a hand-managed itemPOST/inventory/items/{external_id}/zeroSet the quantity to zeroPOST/inventory/batchChange many items at onceWebhooks
/webhooksList webhook endpointsPOST/webhooksRegister a webhook endpointGET/webhooks/{id}One webhook endpointPATCH/webhooks/{id}Change a webhook endpointDELETE/webhooks/{id}Remove a webhook endpointPOST/webhooks/{id}/testSend a test eventPOST/webhooks/{id}/rotate-secretRotate the signing secretGET/webhooks/{id}/deliveriesThe delivery logPOST/webhooks/{id}/deliveries/{delivery_id}/resendSend a delivery againDistributor orders
/distributor-ordersList distributor ordersPOST/distributor-orders/draftsMake drafts from order linesGET/distributor-orders/{id}One distributor orderDELETE/distributor-orders/{id}Delete a draftPOST/distributor-orders/{id}/linesAdd an order line to a draftDELETE/distributor-orders/{id}/lines/{line_no}Remove a line from a draft