Corriger le rattachement d'un lien d'emploi à une autre personne
const url = 'https://example.com/entreprise/v1/liens-emploi/example:corriger-rattachement';const options = { method: 'POST', headers: { 'X-Tenant-Id': 'example', 'X-Correlation-Id': 'example', 'Idempotency-Key': 'example', Authorization: 'Bearer <token>', 'Content-Type': 'application/json' }, body: '{"nouvelEpargnantId":"example","dateEffet":"2026-04-15","motif":"example","justification":"example","resolutionCaseId":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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.
Autorisations
Section intitulée « Autorisations »Paramètres
Section intitulée « Paramètres »Paramètres (path)
Section intitulée « Paramètres (path) »Paramètres (header)
Section intitulée « Paramètres (header) »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.
La corrélation de bout en bout — propagée jusqu’aux événements.
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.
Corps de la requêterequired
Section intitulée « Corps de la requêterequired »object
Le code de justification — par exemple ERREUR_DE_RAPPROCHEMENT.
Examplegenerated
{ "nouvelEpargnantId": "example", "dateEffet": "2026-04-15", "motif": "example", "justification": "example", "resolutionCaseId": "example"}Réponses
Section intitulée « Réponses »La correction est enregistrée et historisée.
object
object
Example
{ "statut": "RECU"}JSON invalide ou champ obligatoire absent (INVALID_REQUEST).
Le format d’erreur du § 21.2 — application/problem+json.
object
object
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).
Le format d’erreur du § 21.2 — application/problem+json.
object
object
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.
Le format d’erreur du § 21.2 — application/problem+json.
object
object
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é.
Le format d’erreur du § 21.2 — application/problem+json.
object
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "code": "example", "detail": "example", "instance": "example", "correlationId": "example", "errors": [ { "path": "example", "code": "example" } ]}