Skip to main content

Update Expense (v1)

Method & Path

PATCH /api/v1/client/workspace/:workspaceId/expenses/:expenseId

Description

Update an existing expense record. All fields are optional, but at least one field must be provided.

Authentication

Required: Workspace authentication. User must be authenticated as Workspace Owner or Staff with financial permissions.

Headers

Authorization: Bearer <workspace_token>
Content-Type: application/json

Path Parameters

ParameterTypeRequiredDescription
workspaceIdstringYesWorkspace identifier
expenseIdstringYesExpense identifier

Request Body

All fields are optional, but at least one field must be provided:

{
"amount": 1600.00,
"date": "2025-01-16T10:30:00.000Z",
"time": "11:00",
"description": "Updated expense description",
"category": "utilities",
"notes": "Updated notes"
}

Request Body Schema

FieldTypeRequiredDescription
amountnumberNoExpense amount (min: 0)
datedateNoExpense date (ISO 8601 format)
timestringNoExpense time in HH:MM format (24-hour format)
descriptionstringNoExpense description (min length: 1 if provided)
categorystringNoExpense category (services, salaries, rent, utilities, marketing, other)
notesstringNoAdditional notes about the expense

Response 200 OK

{
"id": "507f1f77bcf86cd799439011",
"workspaceId": "507f1f77bcf86cd799439012",
"amount": 1600.00,
"date": "2025-01-16T10:30:00.000Z",
"time": "11:00",
"description": "Updated expense description",
"category": "utilities",
"receiptImage": null,
"notes": "Updated notes",
"createdBy": "507f1f77bcf86cd799439014",
"createdAt": "2025-01-15T10:30:00.000Z",
"updatedAt": "2025-01-16T11:00:00.000Z"
}

Common Errors

400 Bad Request: Invalid request body (e.g., no fields provided, invalid amount, invalid time format)

401 Unauthorized: Missing or invalid authentication token

403 Forbidden: User does not have permission to update expense records

404 Not Found: Expense or workspace not found

422 Unprocessable Entity: Validation error (e.g., invalid category enum value)

500 Internal Server Error: Server error occurred while processing the request