B2B (v1)

Partage de dépenses : qui doit combien à qui (soldes et remboursements en nombre minimal)

post/v1/expenses/settle

Request

  • Base URL: https://api.vitef.com
  • URL: https://api.vitef.com/v1/expenses/settle
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

Rend la requête rejouable sans effet en double pendant 24 h (UUID v4 recommandé). Même clé et même requête : la première réponse est renvoyée avec Idempotent-Replayed: true, sans nouvel envoi ni nouveau débit. Même clé pour une autre requête : 422 idempotency_key_reused. Requête identique encore en cours : 409 idempotency_in_progress.

Example:6f1c2b0e-8d4a-4f7e-9a51-3c2d1e0f9b87

Request body

peoplestring[] required

Participants ; désignés ensuite par leur index (0, 1, 2…).

Example request

{
  "people": [
    "Camille",
    "Léo",
    "Inès"
  ],
  "expenses": [
    {
      "label": "Location",
      "amount": 90000,
      "payer": 0,
      "split": {
        "kind": "equal",
        "among": []
      }
    },
    {
      "label": "Courses",
      "amount": 12000,
      "payer": 1,
      "split": {
        "kind": "equal",
        "among": [
          0,
          1
        ]
      }
    }
  ]
}

Response

Répartition

totalinteger required

Total des dépenses, centimes.

paidinteger[] required

Avancé par chacun (index des participants).

shareinteger[] required

Part due par chacun.

balanceinteger[] required

Solde : positif, on lui doit ; négatif, il doit.

Example response

{
  "total": 102000,
  "paid": [
    90000,
    12000,
    0
  ],
  "share": [
    36000,
    36000,
    30000
  ],
  "balance": [
    54000,
    -24000,
    -30000
  ],
  "transfers": [
    {
      "from": 2,
      "to": 0,
      "amount": 30000
    },
    {
      "from": 1,
      "to": 0,
      "amount": 24000
    }
  ],
  "gaps": []
}

Changes

No recorded changes to this operation across all 1 revision of this API.