SwiftGoma.SwiftGoma

Search endpoints

Jump to any API endpoint by name, method, or path

Expenses

Create expense

POST/api/v1/expenses

Records a new expense, pending admin approval.

Requires Authorization
ACCOUNTANT only
Authenticated action

Form fields

titlestringrequired
descriptionstring
categorystringrequired
One of the categories from GET /meta.
amountnumberrequired
currencystringrequired
incurredAtstringrequired
ISO date the expense was incurred.
vendorNamestringrequired
Payout beneficiary name.
vendorPhonestringrequired
Payout mobile money number.
countryCodestringrequired
providerNamestringrequired
Mobile money provider code.
customerMessagestring
4–22 alphanumeric characters, shown on the payout.
receiptfile
Receipt image or PDF.
Request
curl --request POST \
  --url https://api.swiftgoma.com/api/v1/expenses \
  --header 'Authorization: Bearer <access_token>' \
  --form 'title=<title>' \
  --form 'description=<description>' \
  --form 'category=<category>' \
  --form 'amount=<amount>' \
  --form 'currency=<currency>' \
  --form 'incurredAt=<incurredAt>' \
  --form 'vendorName=<vendorName>' \
  --form 'vendorPhone=<vendorPhone>' \
  --form 'countryCode=<countryCode>' \
  --form 'providerName=<providerName>' \
  --form 'customerMessage=<customerMessage>' \
  --form 'receipt=@/path/to/file.jpg'
201Example response
{
  "success": true,
  "data": {
    "id": "exp_1a2b3c",
    "reference": "SWG-EXP-2026-0014",
    "title": "Renouvellement hébergement serveur",
    "description": "Facture mensuelle du fournisseur d'hébergement.",
    "category": "UTILITIES",
    "amount": "150.00",
    "currency": "USD",
    "status": "PENDING",
    "incurredAt": "2026-02-10T00:00:00.000Z",
    "vendorName": "CloudHost SARL",
    "vendorPhone": "243812345678",
    "countryCode": "CD",
    "providerName": "MTN_MOMO_COD",
    "createdBy": {
      "id": "9f8e7d6c",
      "name": "Marie Kanku"
    },
    "approvedBy": null,
    "createdAt": "2026-02-10T08:00:00.000Z"
  }
}