POST
/
ledgers
/
{ledgerId}
/
expenses
Create ledger expense
curl --request POST \
  --url https://qismah.app/api/public/v1/ledgers/{ledgerId}/expenses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "title": "Dinner",
  "amountCents": 4200,
  "currency": "USD",
  "category": "FOOD",
  "spentAt": "2026-06-13T12:00:00.000Z",
  "paidById": "user_id",
  "splitType": "EQUAL",
  "splits": [
    {
      "userId": "user_id"
    },
    {
      "userId": "member_id"
    }
  ]
}
'
{
  "id": "<string>",
  "title": "<string>",
  "amountCents": 123,
  "currency": "<string>",
  "spentAt": "2023-11-07T05:31:56Z",
  "notes": "<string>",
  "splits": [
    {
      "id": "<string>",
      "amountCents": 123,
      "user": {
        "id": "<string>",
        "name": "<string>",
        "email": "jsmith@example.com"
      }
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

ledgerId
string
required

Body

application/json
title
string
required
Required string length: 1 - 160
amountCents
integer
required
Required range: x >= 1
currency
string
required
Required string length: 3
paidById
string
required
splitType
enum<string>
required
Available options:
EQUAL,
EXACT,
PERCENTAGE,
SHARES
splits
object[]
required
Minimum array length: 1
notes
string
Maximum string length: 1000
category
enum<string>
Available options:
GENERAL,
FOOD,
GROCERIES,
RENT,
UTILITIES,
TRANSPORT,
TRAVEL,
ENTERTAINMENT,
SHOPPING,
HEALTH,
EDUCATION,
OTHER
spentAt
string<date-time>
periodStart
string<date-time>
periodEnd
string<date-time>
allocationMode
enum<string>
Available options:
DAILY
allocationUnit
enum<string>
Available options:
NIGHTS,
DAYS

Response

Created expense

id
string
required
title
string
required
amountCents
integer
required
currency
string
required
Required string length: 3
spentAt
string<date-time>
required
splitType
enum<string>
required
Available options:
EQUAL,
EXACT,
PERCENTAGE,
SHARES
notes
string | null
category
enum<string>
Available options:
GENERAL,
FOOD,
GROCERIES,
RENT,
UTILITIES,
TRANSPORT,
TRAVEL,
ENTERTAINMENT,
SHOPPING,
HEALTH,
EDUCATION,
OTHER
splits
object[]