Expense Categories
These endpoints are used to manage categories for expense entries.
List Expense Categories
GET /api/expense-categories
Description: Retrieves a list of all expense categories for your company.
Authorization: API Key (Bearer Token) required.
Request
curl -X GET "https://your-summit-instance.com/api/expense-categories" \
-H "Authorization: Bearer <YOUR_API_TOKEN>"
Response (Success: 200 OK)
{
"data": [
{
"id": 1,
"companyId": 1,
"name": "Office Supplies",
"createdAt": "2023-10-01T00:00:00.000Z",
"updatedAt": "2023-10-01T00:00:00.000Z",
"softDelete": false
}
],
"total": 1
}
Create Expense Category
POST /api/expense-categories
Description: Creates a new expense category.
Authorization: API Key (Bearer Token) required.
Request Body: application/json
- Name
name
- Type
- string
- Description
Name of the expense category.
Error Responses:
- 400 Bad Request: If a category with the same name already exists.
Request
curl -X POST "https://your-summit-instance.com/api/expense-categories" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "Travel Expenses"
}'
Response (Success: 201 Created)
{
"id": 2,
"companyId": 1,
"name": "Travel Expenses",
"createdAt": "2023-10-27T13:00:00.000Z",
"updatedAt": "2023-10-27T13:00:00.000Z",
"softDelete": false
}
Get Category Details
GET /api/expense-categories/{categoryId}
Description: Retrieves details for a specific expense category.
Authorization: API Key (Bearer Token) required.
Path Parameters:
- Name
categoryId
- Type
- integer
- Description
ID of the expense category to retrieve.
Request
curl -X GET "https://your-summit-instance.com/api/expense-categories/2" \
-H "Authorization: Bearer <YOUR_API_TOKEN>"
Response (Success: 200 OK)
{
"id": 2,
"companyId": 1,
"name": "Travel Expenses",
"createdAt": "2023-10-27T13:00:00.000Z",
"updatedAt": "2023-10-27T13:00:00.000Z",
"softDelete": false
}
Update Expense Category
PUT /api/expense-categories/{categoryId}
Description: Updates an existing expense category.
Authorization: API Key (Bearer Token) required.
Path Parameters:
- Name
categoryId
- Type
- integer
- Description
ID of the expense category to update.
Request Body: application/json
- Name
name
- Type
- string
- Description
New name for the expense category.
Error Responses:
- 400 Bad Request: If another category with the new name already exists.
- 404 Not Found: If the category doesn't exist.
Request
curl -X PUT "https://your-summit-instance.com/api/expense-categories/2" \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-H "Content-Type: application/json" \
-d '{
"name": "Business Travel"
}'
Response (Success: 200 OK)
{
"id": 2,
"companyId": 1,
"name": "Business Travel",
"createdAt": "2023-10-27T13:00:00.000Z",
"updatedAt": "2023-10-27T14:00:00.000Z",
"softDelete": false
}
Delete Expense Category
DELETE /api/expense-categories/{categoryId}
Description: Soft deletes an expense category.
Authorization: API Key (Bearer Token) required.
Path Parameters:
- Name
categoryId
- Type
- integer
- Description
ID of the expense category to delete.
Error Responses:
- 400 Bad Request: If the category is in use.
- 404 Not Found: If the category doesn't exist.
Request
curl -X DELETE "https://your-summit-instance.com/api/expense-categories/2" \
-H "Authorization: Bearer <YOUR_API_TOKEN>"
Response (Success: 200 OK)
{
"message": "Category deleted successfully"
}