A valid request URL is required to generate request examples{
"criteria": [
{
"kind": "stock-depth",
"direction": "deepest"
}
]
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Read the order-routing rules
Returns the network’s order-routing policy: the criteria that rank candidate stores, in PRIORITY ORDER. They are successive tie-breakers, not filters — the first criterion that separates two stores decides, and the next is consulted only on a tie. A store that no criterion distinguishes is settled by the final, always-applied tie-break: the lowest storeId. That makes routing reproducible — the same order routed twice always picks the same store. The criteria, and the ONLY ones that exist: stock-depth (with direction: deepest — spend the stock the network can most afford to spend — or shallowest — drain small positions); store-priority (with storeIds, best first); and region-priority (with regions, best first, matched on the store’s region). There is deliberately NO proximity/distance criterion: an order carries no address and a store carries no coordinates, so distance is not computable from anything in this system. Do not attempt to approximate it with region-priority — that is a STATIC merchant preference for certain regions, not a distance to the customer. Takes no parameters and always answers 200: before anything has been saved it returns the DEFAULT policy (a single stock-depth/deepest criterion), which is the ranking the network is genuinely routing under, not a placeholder. So an unconfigured network and a network that explicitly chose stock depth are reported identically, because they behave identically. ALWAYS call this before the update operation: the update replaces the document wholesale.
A valid request URL is required to generate request examples{
"criteria": [
{
"kind": "stock-depth",
"direction": "deepest"
}
]
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123,
"fieldErrors": [
{
"field": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Authorizations
Authorization: Bearer <token>. Accepts EITHER a Keycloak access token (scopes-in-token) OR an opaque POS session token; both resolve to the same pos.* scope vocabulary the route guards enforce.
Response
The current routing policy (the stock-depth default if never saved).
The current routing policy (the stock-depth default if never saved).
- Option 1
- Option 2
- Option 3
Show child attributes
Show child attributes

