A valid request URL is required to generate request examples{
"results": [
{
"type": "product",
"id": "prod-espresso",
"label": "Espresso Blend 1kg",
"sublabel": "cafe"
},
{
"type": "brand",
"id": "brand-solya",
"label": "Maison Solya",
"sublabel": "France"
}
]
}{
"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
}
}Global cross-entity search (recherche globale)
Searches products, customers and brands in one call, matched case-insensitively on name / label / SKU references. Each source is scanned in full — the route pages every product / customer / brand directory to completion before matching — so a hit is never hidden behind a page cap, even on a book of thousands. Returns a flat list grouped by source in display order (products, then customers, then brands). q is the free-text term — a blank/absent q returns an empty set (the search is dormant until you type). limit (1..50, default 10) caps the RETURNED hits (not what is scanned); a non-numeric value clamps to the default rather than erroring. Always a 200 — a read narrows, it never fails on bad input.
A valid request URL is required to generate request examples{
"results": [
{
"type": "product",
"id": "prod-espresso",
"label": "Espresso Blend 1kg",
"sublabel": "cafe"
},
{
"type": "brand",
"id": "brand-solya",
"label": "Maison Solya",
"sublabel": "France"
}
]
}{
"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.
Query Parameters
Free-text term (recherche): matched over product/customer/brand name, label, and SKU références. Blank/absent returns an empty set.
Cap on RETURNED hits, 1..50 (default 10). A non-numeric value clamps to the default.
Response
The matched hits, grouped by source in display order.
The matched hits, grouped by source in display order.
Show child attributes
Show child attributes

