Aller au contenu

Retenir une partie de la caution (manager-only, Idempotency-Key obligatoire)

POST
/v1/deposits/{id}/retain
curl --request POST \
--url https://example.com/v1/deposits/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/retain \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "amount": { "amountCents": "5000", "currency": "EUR" }, "amountHt": { "amountCents": "4545", "currency": "EUR" }, "taxRate": "0.10", "taxAmount": { "amountCents": "455", "currency": "EUR" }, "reason": "example", "folioId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "workOrderId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "inspectionItemId": "example", "photoRefs": [ "example" ] }'
id
required
string format: uuid

Identifiant de la caution

Idempotency-Key
required
string
>= 8 characters <= 200 characters

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

Retenue partielle ou totale. Tous les montants en centimes bigint string. businessDate est résolu CÔTÉ SERVEUR (ADR-00D78).

Media type application/json
object
amount
required
object
amountCents
required
string
Example
5000
currency
required
string
Allowed values: EUR GBP
amountHt
required
object
amountCents
required
string
Example
4545
currency
required
string
Allowed values: EUR GBP
taxRate
required

Taux TVA décimal (ex: 0.10 = 10%)

string
Example
0.10
taxAmount
required
object
amountCents
required
string
Example
455
currency
required
string
Allowed values: EUR GBP
reason
required
string
<= 500 characters
folioId
required
string format: uuid
workOrderId
string format: uuid
nullable
inspectionItemId
string
nullable
photoRefs
Array<string>
nullable

Retenue appliquée

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

Corps invalide

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
}

Caution 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
}