{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Orderwerks REST API"},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"orderwerks-rest-api","__idx":0},"children":["Orderwerks REST API"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Orderwerks REST API lets integrators read and write customers (vendors), catalogs, catalog items, price groups and orders for a supplier account."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Base URL: ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://owapi.orderwerks.com"]}]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"authentication","__idx":1},"children":["Authentication"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Every request must carry one of the two header sets below. The ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi"},"children":["REST API reference"]}," shows which set each endpoint accepts."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["API key and secret"]}," (recommended for integrations)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"x-apiKey: <your api key>\nx-apiSecret: <your api secret>\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Requests authenticated this way run as the supplier's master user. Add a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["vendorGuid"]}," header to act in the context of one customer (required by the order endpoints that create orders for a customer), and optionally a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["userGuid"]}," header to attribute the call to a specific user."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["User session headers"]}," (used by the Orderwerks web and mobile apps)"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"header":{"controls":{"copy":{}}},"source":"userGuid: <user guid>\nuserToken: <JWT issued at login>\nsupplierGuid: <supplier guid>\nvendorGuid: <vendor guid, optional>\n"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["API keys are created in the Orderwerks web app under Business Settings. The secret is shown once, at creation."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"conventions","__idx":2},"children":["Conventions"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paths are versioned per resource (",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v1/..."]},", ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["/v2/..."]},"); a few legacy paths have no version segment."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Responses are JSON. There is no common envelope; each endpoint documents its own shape."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Paged list endpoints take ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["limit"]}," (default 25, maximum 100) and ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]},". ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset"]}," is a ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["page number"]},", not a row count: the server skips ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["offset * limit"]}," rows."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Delta sync: list endpoints that return ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["serverTimestamp"]}," accept it back as ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["lastUpdatedAt"]}," on the next call to fetch only rows changed since then. Soft-deleted rows are included in delta responses with ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["deleted_at"]}," set."]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Errors return ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["4xx"]},"/",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["5xx"]}," with a JSON body of the form ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["{ \"message\": \"...\" }"]},". A few legacy endpoints return a plain-text message instead; those are noted individually."]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Open the ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"/openapi"},"children":["REST API reference"]}," for the full endpoint list."]}]},"headings":[{"value":"Orderwerks REST API","id":"orderwerks-rest-api","depth":1},{"value":"Authentication","id":"authentication","depth":2},{"value":"Conventions","id":"conventions","depth":2}],"frontmatter":{"seo":{"title":"Orderwerks REST API"}},"lastModified":"2026-09-05T21:58:43.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}