Aller au contenu

Poser ou mettre à jour la disponibilité d'un membre du personnel (UPSERT)

POST
/v1/staff-members/{id}/availability
curl --request POST \
--url https://example.com/v1/staff-members/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/availability \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <X-API-Key>' \
--data '{ "date": "2026-04-15", "shiftType": "morning", "startTime": "08:00", "endTime": "17:00", "status": "working", "notes": "example" }'
id
required
string format: uuid
Media type application/json
object
date
required
string format: date
shiftType
required
string
Allowed values: morning afternoon night full_day custom
startTime
required
string
/^\d{2}:\d{2}$/
Example
08:00
endTime
required
string
/^\d{2}:\d{2}$/
Example
17:00
status
required
string
Allowed values: working off leave sick
notes
string
nullable <= 500 characters

Disponibilité posée / mise à jour

Media type application/json
object
data
required
object
availabilityId
required
string format: uuid
staffMemberId
required
string format: uuid
date
required
string format: date
Example generated
{
"data": {
"availabilityId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"staffMemberId": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"date": "2026-04-15"
}
}

Corps invalide (invariants I2/I3 violés)

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

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
}

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