Purchase Orders

🧪 [Preview] Initiate a scroll session for retrieving large purchase order datasets.

🧪 Preview — early access! This endpoint is fully functional, but its shape may still change while we finalize it.

Bulk extraction endpoint — full syncs to other systems (ERP, BI), data exports. Also required past the 10,000 offset cap on POST /Query.

Returns a scrollId and the first batch. Pass scrollId to GET /api/PurchaseOrders/Query/Scroll/{scrollId} until it comes back null. Sessions expire after 10 minutes of inactivity; per-tenant concurrency is capped.

Same filter set as POST /Query (see request schema) and identical response shape — field selection applies to both the initial batch and continuations.

Default values are omitted

To keep responses small, a field is left out when it holds its default value: false, 0, null, the empty date 0001-01-01T00:00:00, the empty id 00000000-0000-0000-0000-000000000000, or an enum's first value. A missing field means that value, not "unknown". "" and [] are real values and are always returned.

A field marked nullable in the schema has null as its default, so it is left out only when it is null — a nullable boolean holding false, or a nullable number holding 0, is still returned.

Canonical example

Delta sync — every purchase order modified since the last run, without order lines:

{
  "modifiedFrom": "2026-01-08T10:15:00Z",
  "scrollSize": 500,
  "fields": { "exclude": ["purchaseOrderForm.lineItems"] }
}
post/api/PurchaseOrders/Query/Scroll

Request

  • Base URL: https://api.omnium.no (the document declares no server; this is the origin it was published from)
  • URL: https://api.omnium.no/api/PurchaseOrders/Query/Scroll
  • Auth: API key in header Authorization

Request body

scrollSizeinteger nullable

Number of items per scroll batch. Default applied when null: 500. Allowed range: 100–1000.

searchTextstring nullable

Free-text search across purchase order fields (order number, supplier, reference number, etc.). Also matches the purchase order document ID exactly. Max 300 characters.

purchaseOrderIdsstring[] nullable

Filter by purchase order document IDs (exact match).

orderNumberstring nullable

Filter by purchase order number.

statusesstring[] nullable

Filter by purchase order statuses.

storeIdsstring[] nullable

Filter by store IDs.

supplierIdstring nullable

Filter by supplier ID.

supplierWarehouseCodestring nullable

Filter by supplier warehouse code (warehouse used for sending internal transfers).

emailstring nullable

Filter by supplier email address.

orderTypestring nullable

Filter by purchase order type (InternalTransfer or PurchaseOrder).

skuIdsstring[] nullable

Filter by SKU IDs on the order lines. Returns purchase orders containing at least one order line with a matching SKU.

externalIdsstring[] nullable

Filter by external IDs.

tagsstring[] nullable

Filter by tags. Returns purchase orders carrying at least one of the tags.

excludedTagsstring[] nullable

Exclude purchase orders carrying any of these tags.

deliveryIdsstring[] nullable

Filter by delivery IDs assigned to the order lines.

projectIdstring nullable

Filter by project ID.

errorKeysstring[] nullable

Filter by entity error keys. Returns purchase orders that have at least one error with a matching key.

hasDeliveryboolean nullable

Filter by whether the purchase order has at least one order line with a delivery assigned. True returns only purchase orders with a delivery on one or more lines; false returns only purchase orders with no deliveries on any line; null (default) returns both.

createdFromstring date-time nullable

Minimum creation date.

createdTostring date-time nullable

Maximum creation date.

modifiedFromstring date-time nullable

Minimum modified date. Use with Omnium.Public.PurchaseOrders.Query.OmniumPurchaseOrderQueryRequestBase.ModifiedTo for delta queries.

modifiedTostring date-time nullable

Maximum modified date.

requestedDeliveryDateFromstring date-time nullable

Minimum requested delivery date.

requestedDeliveryDateTostring date-time nullable

Maximum requested delivery date.

Response

Scroll initiated successfully

scrollIdstring nullable

Scroll continuation token. Pass this to the scroll continuation endpoint to fetch the next batch. Null when there are no more results.

totalHitsinteger

Total number of items matching the query (not just this page)

Changes

No recorded changes to this operation across all 1 revision of this API.