Aller au contenu

Retenir sur la caution depuis un écart EDL (manager-only, Idempotency-Key)

POST
/v1/inspections/{id}/items/{itemId}/retain
curl --request POST \
--url https://example.com/v1/inspections/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/items/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/retain \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "depositId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "folioId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "businessDate": "2026-04-15", "amount": { "amountCents": "5000", "currency": "EUR" }, "amountHt": { "amountCents": "example", "currency": "EUR" }, "taxRate": "0.10", "taxAmount": { "amountCents": "example", "currency": "EUR" }, "reason": "example" }'
id
required
string format: uuid
itemId
required
string format: uuid
Idempotency-Key
required
string
>= 8 characters <= 200 characters

Clé d’idempotence OBLIGATOIRE (8–200 car.) — anti-double-retenue depuis EDL. Retourné 400 si absent ou longueur invalide.

Retenue depuis un écart d’EDL. Tous les montants en centimes bigint string.

Media type application/json
object
depositId
required
string format: uuid
folioId
required
string format: uuid
businessDate
required
string format: date
amount
required
object
amountCents
required
string
Example
5000
currency
required
string
Allowed values: EUR GBP
amountHt
required
object
amountCents
required
string
currency
required
string
Allowed values: EUR GBP
taxRate
required
string
Example
0.10
taxAmount
required
object
amountCents
required
string
currency
required
string
Allowed values: EUR GBP
reason
required
string
<= 500 characters

Retenue appliquée

Media type application/json
object
data
required
object
retentionId
required
string format: uuid
contestable
required
boolean
Example generated
{
"data": {
"retentionId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"contestable": true
}
}

Corps invalide ou montant hors plafond

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Non authentifié

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

Permission refusée (manager-only)

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}

EDL introuvable

Media type application/json
object
code
required

Code machine de l’erreur

string
message
required

Message lisible

string
origin

Origine domaine de l’erreur (optionnel)

object
boundedContext
string
module
string
status
required
integer
traceId
required

Identifiant de corrélation pour le support

string
Example
{
"code": "RESERVATION_NOT_FOUND",
"message": "Réservation introuvable",
"status": 404
}