Limitless Budget
← Back to Documentation

API Documentation

REST API endpoints for Limitless Budget.

Authentication

All API endpoints require authentication via NextAuth session cookies. Include credentials in your requests.

Budgets

GET /api/budgets

List all budgets accessible by the current user

POST /api/budgets

Create a new budget. Body: {name, currency, dateFormat, createDefaultCategories}

GET /api/budgets/[budgetId]

Get budget details

PUT /api/budgets/[budgetId]

Update budget settings

DELETE /api/budgets/[budgetId]

Delete a budget

Accounts

GET /api/accounts?budgetId=...

List accounts for a budget

POST /api/accounts

Create account. Body: {budgetId, name, type, onBudget, currency, balance}

GET /api/accounts/[id]

Get account details

PUT /api/accounts/[id]

Update account

DELETE /api/accounts/[id]

Delete account

Categories

GET /api/categories?budgetId=...

List categories for a budget

POST /api/categories

Create category. Body: {budgetId, groupId, name, monthlyBudget}

PUT /api/categories/[id]

Update category

DELETE /api/categories/[id]

Delete category

Transactions

GET /api/transactions?budgetId=...

List transactions for a budget

POST /api/transactions

Create transaction. Body: {budgetId, accountId, date, payee, categoryId, amount, memo}

PUT /api/transactions/[id]

Update transaction

DELETE /api/transactions/[id]

Delete transaction

User Preferences

GET /api/user/preferences

Get user preferences

PUT /api/user/preferences

Update user preferences

Response Format

All responses are JSON. Success responses return the requested data. Error responses include an error message:

{
  "error": "Error message here"
}

Status Codes

  • 200 - Success
  • 201 - Created
  • 400 - Bad Request
  • 401 - Unauthorized
  • 403 - Forbidden
  • 404 - Not Found
  • 500 - Internal Server Error