Aller au contenu

Corriger le rattachement d'un lien d'emploi à une autre personne

POST
/entreprise/v1/liens-emploi/{lienEmploiId}:corriger-rattachement
curl --request POST \
--url https://example.com/entreprise/v1/liens-emploi/example:corriger-rattachement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: example' \
--header 'X-Correlation-Id: example' \
--header 'X-Tenant-Id: example' \
--data '{ "nouvelEpargnantId": "example", "dateEffet": "2026-04-15", "motif": "example", "justification": "example", "resolutionCaseId": "example" }'

Vérifie que le lien et les deux personnes appartiennent au même tenant, verrouille la version courante du lien, conserve l’ancien et le nouveau rattachement, publie un événement métier et déclenche l’analyse des conséquences aval sans les corriger.

lienEmploiId
required
string
>= 1 characters
X-Tenant-Id
required
string
>= 1 characters

Le teneur de compte — injecté et signé par la passerelle, dérivé de l’identité authentifiée. Il n’est jamais fourni comme valeur libre dans l’URL ou le corps.

X-Correlation-Id
required
string
>= 1 characters

La corrélation de bout en bout — propagée jusqu’aux événements.

Idempotency-Key
required
string
>= 1 characters

La clé d’idempotence, de portée tenant + appelant + route + clé. Même clé et même corps : la réponse initiale. Même clé, corps différent : 409.

Media typeapplication/json
object
nouvelEpargnantId
required
string
dateEffet
required
string format: date
motif
required

Le code de justification — par exemple ERREUR_DE_RAPPROCHEMENT.

string
justification
string
resolutionCaseId
string
Examplegenerated
{
"nouvelEpargnantId": "example",
"dateEffet": "2026-04-15",
"motif": "example",
"justification": "example",
"resolutionCaseId": "example"
}

La correction est enregistrée et historisée.

Media typeapplication/json
object
operationId
required
string
statut
required
string
Allowed values: RECU VALIDE RESOLUTION_PERSONNE ARBITRAGE_REQUIS APPLICATION TERMINE TERMINE_PARTIELLEMENT REJETE ECHEC_REPRENABLE ECHEC_DEFINITIF
recuLe
required
string format: date-time
liens
object
statut
string
Example
{
"statut": "RECU"
}

JSON invalide ou champ obligatoire absent (INVALID_REQUEST).

Media typeapplication/problem+json

Le format d’erreur du § 21.2 — application/problem+json.

object
type
string
title
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
string
errors
Array<object>
object
path
string
code
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"errors": [
{
"path": "example",
"code": "example"
}
]
}

Identité absente ou invalide (UNAUTHENTICATED).

La correction de rattachement exige la famille entreprise:correction-rattachement — ni entreprise:signaletique ni entreprise:consultation ne l’ouvrent.

Ressource absente dans le tenant courant — y compris une ressource d’un autre tenant, dont l’existence n’est jamais confirmée (404, jamais 403).

Media typeapplication/problem+json

Le format d’erreur du § 21.2 — application/problem+json.

object
type
string
title
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
string
errors
Array<object>
object
path
string
code
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"errors": [
{
"path": "example",
"code": "example"
}
]
}

IDEMPOTENCY_KEY_REUSED (même clé, corps différent), SOURCE_VERSION_CONFLICT (version incompatible) ou conflit d’empreinte d’import.

Media typeapplication/problem+json

Le format d’erreur du § 21.2 — application/problem+json.

object
type
string
title
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
string
errors
Array<object>
object
path
string
code
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"errors": [
{
"path": "example",
"code": "example"
}
]
}

BUSINESS_RULE_VIOLATION ou IMPORT_SCOPE_VIOLATION — demande syntaxiquement valide mais incohérente au regard du métier ou du périmètre annoncé.

Media typeapplication/problem+json

Le format d’erreur du § 21.2 — application/problem+json.

object
type
string
title
string
status
required
integer
code
required
string
detail
string
instance
string
correlationId
string
errors
Array<object>
object
path
string
code
string
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"code": "example",
"detail": "example",
"instance": "example",
"correlationId": "example",
"errors": [
{
"path": "example",
"code": "example"
}
]
}