Create a quote (devis)
Draws up a priced quote (devis) in the draft state from at least one priced line. The CALLER supplies the quote id — it must be unique, so choose a stable, collision-free identifier (a duplicate is rejected with a 409, never silently merged). validUntil is an ISO 8601 instant (the server coerces it). 409s when a quote with the same id already exists; 422s when validUntil is already in the past.
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.
Body
Caller-supplied unique quote (devis) id; a duplicate 409s.
1Customer the quote is drawn up for.
1Store issuing the quote.
1ISO 4217 currency code (e.g. EUR).
3At least one priced quote line.
1ISO 8601 validity deadline; must be in the future.
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$Response
The created quote in its draft state.
The created quote in its draft state.

