Skip to content

Create default categories for the user

POST
/categories/seed-defaults
curl --request POST \
--url http://localhost:8000/api/v1/categories/seed-defaults \
--header 'Authorization: Bearer <token>'

Creates a set of predefined income and expense categories. Skips categories that already exist.

Default categories created successfully

Media type application/json
object
message
string
data
object
created
integer
skipped
integer
categories
Array<object>
object
id

ID of the category

integer
name

Name of the category

string
description

Description of the category

string
type

Type of the category (income or expense)

string
icon

Category icon

object
id

ID of the icon

integer
path

Image of the icon

string
type

Type of icon( image or icon or emoji)

string
sync_state

Sync state

object
id

ID of the sync state

integer
syncable_id

ID of the syncable

integer
client_generated_id

ID from the client

integer
syncable_type

Syncable type

string
source
string
last_synced_at

Date last synced

string format: date-time
created_at

Date created

string format: date-time
deleted_at

Date deleted

string format: date-time
Example generated
{
"message": "example",
"data": {
"created": 1,
"skipped": 1,
"categories": [
{
"id": 1,
"name": "example",
"description": "example",
"type": "example",
"icon": {
"id": 1,
"path": "example",
"type": "example"
},
"sync_state": {
"id": 1,
"syncable_id": 1,
"client_generated_id": 1,
"syncable_type": "example",
"source": "example",
"last_synced_at": "2026-04-15T12:00:00Z",
"created_at": "2026-04-15T12:00:00Z",
"deleted_at": "2026-04-15T12:00:00Z"
}
}
]
}
}

Internal server error