Error
A valid request URL is required to generate request examples{
"id": "gc-2026-000142",
"code": "GC-4F2A-9B71",
"kind": "gift_card",
"currency": "EUR",
"initialBalanceCents": 5000,
"balanceCents": 3500,
"status": "active",
"expiresAt": "2028-01-31T23:59:59.000Z"
}{
"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
}
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "<string>",
"statusCode": 123
}
}Instruments
Get an instrument by its bearer code (carte cadeau)
Resolves the bearer code printed/encoded on a card to its live instrument (status, currency, remaining balanceCents, expiry). This is the lookup to run BEFORE redeeming or voiding: it tells you whether the card is active, unexpired and worth what the holder claims. 404s when no instrument carries the code. Read-only — it moves no value.
GET
/
v1
/
giftcards
/
by-code
/
{code}
Error
A valid request URL is required to generate request examples{
"id": "gc-2026-000142",
"code": "GC-4F2A-9B71",
"kind": "gift_card",
"currency": "EUR",
"initialBalanceCents": 5000,
"balanceCents": 3500,
"status": "active",
"expiresAt": "2028-01-31T23:59:59.000Z"
}{
"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
}
}{
"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.
Path Parameters
The bearer code printed/encoded on the card (carte cadeau/avoir), what the till scans.
Minimum string length:
1Response
The live instrument aggregate behind the code.
The live instrument aggregate behind the code.
Minimum string length:
1Available options:
gift_card, credit_note, store_credit Minimum string length:
1Required string length:
3Required range:
0 <= x <= 9007199254740991Required range:
0 <= x <= 9007199254740991Available options:
active, depleted, void Minimum string length:
1Pattern:
^(?:(?:\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))$
