Aller au contenu

Engager un arbitrage entre supports

POST
/v1/epargnants/{epargnant}/arbitrages
curl --request POST \
--url https://passerelle.teneur.exemple/v1/epargnants/example/arbitrages \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'Correlation-Id: example' \
--header 'Idempotency-Key: example' \
--data '{ "dispositif": "example", "desinvestissements": [ { "support": "example", "part_millieme": 1 } ], "reinvestissements": [ { "support": "example", "part_millieme": 1 } ], "reference_du_teneur": "example" }'

Le désinvestissement et le réinvestissement s’expriment en millièmes, jamais en nombre à virgule : le désinvestissement en millièmes de ce qui est détenu sur chaque support, le réinvestissement en millièmes du produit, de somme exactement 1000. Mêmes garanties que le versement — idempotence par clé, prise en compte, suivi par la ressource d’opération.

epargnant
required
string
>= 1 characters

L’identifiant publié de l’épargnant chez ce teneur de compte. Il désigne la ressource ; il n’est jamais le sujet de l’autorisation.

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

La clé d’idempotence de l’écriture, choisie par l’appelant. Un serveur tiers réessaie : deux envois de la même clé produisent un effet. Le rejeu à charge identique rend la réponse d’origine ; le rejeu à charge différente est refusé.

Correlation-Id
required
string
>= 1 characters <= 128 characters

L’identifiant que le teneur de compte donne à l’échange dans son journal. Obligatoire : notre trace dit qui a lu quoi, jamais pour qui, et ce champ est la seule jointure entre les deux journaux. Il est restitué dans la réponse.

Media typeapplication/json
object
dispositif
required
string
desinvestissements
required

Ce qui est cédé, en millièmes de ce qui est détenu sur chaque support — 1000 pour la totalité d’un support.

Array<object>
>= 1 items
object
support
required
string
part_millieme
required

Une part en millièmes — un entier, parce qu’un pourcentage à virgule ne se répartit pas au centime.

integer
>= 1 <= 1000
reinvestissements
required

La destination du produit, en millièmes, de somme exactement 1000.

Array<object>
>= 1 items
object
support
required
string
part_millieme
required

Une part en millièmes — un entier, parce qu’un pourcentage à virgule ne se répartit pas au centime.

integer
>= 1 <= 1000
reference_du_teneur
string
Examplegenerated
{
"dispositif": "example",
"desinvestissements": [
{
"support": "example",
"part_millieme": 1
}
],
"reinvestissements": [
{
"support": "example",
"part_millieme": 1
}
],
"reference_du_teneur": "example"
}

L’arbitrage est pris en compte.

Media typeapplication/json
object
operation
required

La référence de l’opération née — celle que Location désigne.

string
etat
required

L’état de l’opération à la prise en compte.

string
recu_le
required
string format: date-time
reference_du_teneur
string
Examplegenerated
{
"operation": "example",
"etat": "example",
"recu_le": "2026-04-15T12:00:00Z",
"reference_du_teneur": "example"
}
Location
string

La ressource d’opération où suivre l’exécution.

Correlation-Id
string
>= 1 characters <= 128 characters

L’identifiant de corrélation reçu, restitué tel quel — la jointure entre le journal du teneur et le nôtre.

400 — la demande est mal formée ; le motif nomme le champ en cause.

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}

401 — aucune identité présentée, ou jeton invalide : signature, émetteur, dates, tenant, ou audience obtenue pour une autre surface. La réponse porte WWW-Authenticate: Bearer error="invalid_token".

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}
WWW-Authenticate
string

Le défi d’authentification, au format des jetons porteurs.

403 — le cas d’usage n’est pas dans le périmètre souscrit de ce client. La réponse ne dit jamais si la ressource existe.

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}

404 — inconnu de ce teneur de compte. Un épargnant, un dispositif ou une opération relevant d’un autre teneur est inexistant, jamais interdit : la muraille de Chine ne laisse pas fuir une existence.

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}

409 — cette clé d’idempotence a déjà servi, avec une charge utile différente. Rien n’a été engagé.

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}

422 — la demande est bien formée mais l’écriture est refusée par le métier : support fermé, montant hors des limites du dispositif, avoirs indisponibles. Le motif est servi décidé, jamais sous forme de règle à recomposer.

Media typeapplication/json
object
code
required

Le code stable sur lequel un portail se branche — le motif, lui, est écrit pour être lu par une personne et peut changer sans rupture.

string
Allowed values: DEMANDE_MAL_FORMEE CHAMP_INVALIDE NON_AUTHENTIFIE HORS_PERIMETRE_SOUSCRIT RESSOURCE_INCONNUE REJEU_DIVERGENT ECRITURE_REFUSEE
motif
required

Le motif, qui nomme le champ ou l’identifiant en cause.

string
champ

Le champ en cause, quand l’erreur en désigne un.

string
correlation

L’identifiant de corrélation de l’appel — le même que l’en-tête restitué.

string
Example
{
"code": "DEMANDE_MAL_FORMEE"
}