Docs
ENFR
Tableau de bord
Référence de l’API

Bénéficiaires

Les destinataires enregistrés de vos paiements, partagés avec le tableau de bord (Paiements › Bénéficiaires). Les bénéficiaires de test et de production sont séparés, selon le mode de la clé. Une destination (numéro ou compte) est enregistrée une seule fois par mode, et une entreprise garde jusqu’à 500 bénéficiaires par mode. Pour en payer un, créez un paiement avec beneficiary.

L’objet bénéficiaire

Attributs
idstring

Identifiant unique (UUID).

livemodeboolean

true en production, false en mode test.

objectstring

Toujours beneficiary.

typestring

Portefeuille mobile money ou compte bancaire.

mobile_moneybank
namestring

Nom du bénéficiaire, repris comme nom du destinataire des paiements.

nicknamestring | null

Votre propre libellé, 40 caractères au plus.

countrystring

Code pays ISO 3166-1 alpha-2.

currencystring

Devise des paiements vers ce bénéficiaire (celle du pays).

operatorstring | null

Mobile money seulement : code opérateur.

phonestring | null

Mobile money seulement : numéro au format E.164.

bank_codestring | null

Banque seulement : code issu de Lister les banques.

bank_namestring | null

Banque seulement : nom de la banque.

accountstring | null

Banque seulement : numéro de compte masqué.

last_used_atstring | null

Date du dernier paiement créé avec ce bénéficiaire.

created_atstring

Date de création, ISO 8601 (UTC).

updated_atstring

Dernière modification, ISO 8601 (UTC).

L’objet bénéficiaire
{
  "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
  "object": "beneficiary",
  "livemode": false,
  "type": "mobile_money",
  "name": "Kossi Mensah",
  "nickname": "Akwa supplier",
  "country": "CM",
  "currency": "XAF",
  "operator": "MTN",
  "phone": "+237670000777",
  "bank_code": null,
  "bank_name": null,
  "account": null,
  "last_used_at": null,
  "created_at": "2026-10-30T13:47:06.394Z",
  "updated_at": "2026-10-30T13:47:06.394Z"
}

Créer un bénéficiaire

POST/v1/beneficiaries

Contrôle les coordonnées avec les mêmes règles que les paiements (pays ouvert aux paiements, opérateur du pays, numéro international, numéros de test en mode test, code banque exact) et les enregistre. Rien n’est envoyé au destinataire.

Rôles de la clé : Propriétaire, Finance ou Valideur

Corps
typestringRequis
mobile_moneybank
namestringRequis

Nom du bénéficiaire, 2 à 80 caractères.

countrystringRequis

Code ISO 3166-1 alpha-2 d’un pays ouvert aux paiements.

currencystringFacultatif

Code ISO 4217. Par défaut, la devise du pays.

nicknamestringFacultatif

Votre propre libellé, 40 caractères au plus.

phonestringFacultatif

Mobile money : numéro au format international (+237670000777).

operatorstringFacultatif

Mobile money : code opérateur issu de Lister les opérateurs.

bank_codestringFacultatif

Banque : un code issu de Lister les banques, exactement tel que renvoyé.

accountstringFacultatif

Banque : numéro de compte, 6 à 34 lettres ou chiffres.

Retour

Renvoie le nouvel objet beneficiary avec 201.

Erreurs à prévoir
HTTPCodeDescription
400country_unsupportedCe pays n’est pas ouvert pour cette devise. Voir Couverture.
400operator_unsupportedOpérateur inconnu, ou refusé par le partenaire de paiement pour cette devise.
400phone_invalidLe numéro ne peut pas être lu comme un numéro international.
400test_phone_requiredMode test : utilisez un des numéros de test de ce pays. Voir Tests.
400bank_account_invalidbank_code ne correspond pas exactement à un code de Lister les banques, ou le numéro de compte est trop court.
400bank_transfer_unsupportedLes virements bancaires ne sont pas disponibles dans ce pays : payez vers un portefeuille mobile money.
400limit_reachedUne limite est atteinte : 10 points de terminaison par entreprise (test et production confondus), ou 500 bénéficiaires par mode.
403permission_deniedLe créateur de la clé n’a pas le rôle requis pour cette opération.
409beneficiary_existsUn bénéficiaire avec ce numéro ou ce compte existe déjà dans ce mode.
curl https://api.monerail.com/v1/beneficiaries \
  -H "Authorization: Bearer $MONERAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "mobile_money",
    "name": "Kossi Mensah",
    "nickname": "Akwa supplier",
    "country": "CM",
    "phone": "+237670000777",
    "operator": "MTN"
  }'
Réponse201
{
  "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
  "object": "beneficiary",
  "livemode": false,
  "type": "mobile_money",
  "name": "Kossi Mensah",
  "nickname": "Akwa supplier",
  "country": "CM",
  "currency": "XAF",
  "operator": "MTN",
  "phone": "+237670000777",
  "bank_code": null,
  "bank_name": null,
  "account": null,
  "last_used_at": null,
  "created_at": "2026-10-30T13:47:06.394Z",
  "updated_at": "2026-10-30T13:47:06.394Z"
}

Consulter un bénéficiaire

GET/v1/beneficiaries/{id}

Rôles de la clé : Propriétaire, Finance, Valideur ou Développeur

Paramètres de chemin
idstringRequis

Identifiant du bénéficiaire.

Retour

Renvoie l’objet beneficiary.

Erreurs à prévoir
HTTPCodeDescription
403permission_deniedLe créateur de la clé n’a pas le rôle requis pour cette opération.
404resource_missingAucun objet avec cet identifiant dans ce mode.
curl https://api.monerail.com/v1/beneficiaries/4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34 \
  -H "Authorization: Bearer $MONERAIL_KEY"
Réponse200
{
  "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
  "object": "beneficiary",
  "livemode": false,
  "type": "mobile_money",
  "name": "Kossi Mensah",
  "nickname": "Akwa supplier",
  "country": "CM",
  "currency": "XAF",
  "operator": "MTN",
  "phone": "+237670000777",
  "bank_code": null,
  "bank_name": null,
  "account": null,
  "last_used_at": null,
  "created_at": "2026-10-30T13:47:06.394Z",
  "updated_at": "2026-10-30T13:47:06.394Z"
}

Modifier un bénéficiaire

POST/v1/beneficiaries/{id}

Modifie les paramètres envoyés ; les autres gardent leur valeur. type ne peut pas changer. Envoyez nickname: null pour retirer le surnom. Les contrôles de la création s’appliquent.

Rôles de la clé : Propriétaire, Finance ou Valideur

Paramètres de chemin
idstringRequis

Identifiant du bénéficiaire.

Corps
namestringFacultatif

2 à 80 caractères.

nicknamestringFacultatif

40 caractères au plus, ou null.

countrystringFacultatif
phonestringFacultatif
operatorstringFacultatif
bank_codestringFacultatif
accountstringFacultatif
Retour

Renvoie l’objet beneficiary.

Erreurs à prévoir
HTTPCodeDescription
400parameter_invalidUn paramètre a un type ou une valeur incorrects. Voir param.
403permission_deniedLe créateur de la clé n’a pas le rôle requis pour cette opération.
404resource_missingAucun objet avec cet identifiant dans ce mode.
409beneficiary_existsUn bénéficiaire avec ce numéro ou ce compte existe déjà dans ce mode.
curl https://api.monerail.com/v1/beneficiaries/4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34 \
  -H "Authorization: Bearer $MONERAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "nickname": "Douala courier"
  }'
Réponse200
{
  "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
  "object": "beneficiary",
  "livemode": false,
  "type": "mobile_money",
  "name": "Kossi Mensah",
  "nickname": "Douala courier",
  "country": "CM",
  "currency": "XAF",
  "operator": "MTN",
  "phone": "+237670000777",
  "bank_code": null,
  "bank_name": null,
  "account": null,
  "last_used_at": null,
  "created_at": "2026-10-30T13:47:06.394Z",
  "updated_at": "2026-10-30T13:47:09.807Z"
}

Lister les bénéficiaires

GET/v1/beneficiaries

Du plus récent au plus ancien.

Rôles de la clé : Propriétaire, Finance, Valideur ou Développeur

Paramètres de requête
limitintegerFacultatifPar défaut 20

Nombre d’objets à renvoyer, de 1 à 100.

starting_afterstringFacultatif

Curseur : l’identifiant du dernier objet de la page précédente.

typestringFacultatif

Seulement ce type.

mobile_moneybank
countrystringFacultatif

Seulement ce pays (ISO 3166-1 alpha-2).

Retour

Renvoie un objet liste : data contient jusqu’à limit objets beneficiary, et has_more indique s’il en reste.

Erreurs à prévoir
HTTPCodeDescription
403permission_deniedLe créateur de la clé n’a pas le rôle requis pour cette opération.
curl "https://api.monerail.com/v1/beneficiaries?limit=10" \
  -H "Authorization: Bearer $MONERAIL_KEY"
Réponse200
{
  "object": "list",
  "url": "/v1/beneficiaries",
  "data": [
    {
      "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
      "object": "beneficiary",
      "livemode": false,
      "type": "mobile_money",
      "name": "Kossi Mensah",
      "nickname": "Akwa supplier",
      "country": "CM",
      "currency": "XAF",
      "operator": "MTN",
      "phone": "+237670000777",
      "bank_code": null,
      "bank_name": null,
      "account": null,
      "last_used_at": null,
      "created_at": "2026-10-30T13:47:06.394Z",
      "updated_at": "2026-10-30T13:47:06.394Z"
    },
    {
      "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
      "object": "beneficiary",
      "livemode": false,
      "type": "bank",
      "name": "Kossi Mensah",
      "nickname": null,
      "country": "CM",
      "currency": "XAF",
      "operator": null,
      "phone": null,
      "bank_code": "10005",
      "bank_name": "Example Bank",
      "account": "••••4821",
      "last_used_at": "2026-10-30T13:47:09.807Z",
      "created_at": "2026-10-30T13:47:06.394Z",
      "updated_at": "2026-10-30T13:47:06.394Z"
    }
  ],
  "has_more": false
}

Supprimer un bénéficiaire

DELETE/v1/beneficiaries/{id}

Retire le bénéficiaire de la liste. Les paiements déjà créés ne sont pas modifiés.

Rôles de la clé : Propriétaire, Finance ou Valideur

Paramètres de chemin
idstringRequis

Identifiant du bénéficiaire.

Retour

Renvoie { id, object, deleted: true }.

Erreurs à prévoir
HTTPCodeDescription
403permission_deniedLe créateur de la clé n’a pas le rôle requis pour cette opération.
404resource_missingAucun objet avec cet identifiant dans ce mode.
curl -X DELETE https://api.monerail.com/v1/beneficiaries/4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34 \
  -H "Authorization: Bearer $MONERAIL_KEY"
Réponse200
{
  "id": "4c2e9a17-6b3d-4f58-a0e1-8d7c5b2f9e34",
  "object": "beneficiary",
  "deleted": true
}