GET
/
expense-categories
curl -X GET "https://api.contazen.ro/v1/expense-categories" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "categories": [
    {
      "id": 1,
      "name": "Office Supplies",
      "parent_id": 0,
      "is_default": true,
      "is_visible": true,
      "type": "system"
    },
    {
      "id": 2,
      "name": "Travel & Transportation",
      "parent_id": 0,
      "is_default": true,
      "is_visible": true,
      "type": "system",
      "children": [
        {
          "id": 15,
          "name": "Fuel",
          "parent_id": 2,
          "is_default": false,
          "is_visible": true,
          "type": "custom"
        },
        {
          "id": 16,
          "name": "Public Transport",
          "parent_id": 2,
          "is_default": false,
          "is_visible": true,
          "type": "custom"
        }
      ]
    },
    {
      "id": 3,
      "name": "Marketing",
      "parent_id": 0,
      "is_default": false,
      "is_visible": true,
      "type": "custom"
    }
  ],
  "total": 3
}

Overview

The List Expense Categories endpoint allows you to retrieve all expense categories available to your firm. This includes both system-provided default categories and custom categories you’ve created. Categories are hierarchical - you can have parent categories with subcategories (up to 2 levels deep).

Query Parameters

parent_id
integer
Filter by parent category ID. Use 0 to get only root-level categories, or specify a parent ID to get its subcategories.
include_children
boolean
default:"false"
When true, includes subcategories in the response for each parent category.
include_system
boolean
default:"true"
When true, includes system default categories in the response. Set to false to get only custom categories.

Response

categories
array
Array of expense category objects
total
integer
Total number of categories returned

Category Hierarchy

  • Root Categories: Categories with parent_id = 0
  • Subcategories: Categories with parent_id > 0
  • Maximum Depth: 2 levels (category → subcategory)

System vs Custom Categories

  • System Categories: Pre-defined categories (type: "system", is_default: true)
  • Custom Categories: User-created categories (type: "custom", is_default: false)
  • System categories cannot be modified or deleted
curl -X GET "https://api.contazen.ro/v1/expense-categories" \
  -H "Authorization: Bearer YOUR_API_KEY"
{
  "success": true,
  "categories": [
    {
      "id": 1,
      "name": "Office Supplies",
      "parent_id": 0,
      "is_default": true,
      "is_visible": true,
      "type": "system"
    },
    {
      "id": 2,
      "name": "Travel & Transportation",
      "parent_id": 0,
      "is_default": true,
      "is_visible": true,
      "type": "system",
      "children": [
        {
          "id": 15,
          "name": "Fuel",
          "parent_id": 2,
          "is_default": false,
          "is_visible": true,
          "type": "custom"
        },
        {
          "id": 16,
          "name": "Public Transport",
          "parent_id": 2,
          "is_default": false,
          "is_visible": true,
          "type": "custom"
        }
      ]
    },
    {
      "id": 3,
      "name": "Marketing",
      "parent_id": 0,
      "is_default": false,
      "is_visible": true,
      "type": "custom"
    }
  ],
  "total": 3
}

Authorizations

Authorization
string
header
required

Use your API key (sk_live_xxx or sk_test_xxx)

Query Parameters

parent_id
integer

Filter by parent category ID (0 for root categories)

include_children
boolean
default:false

Include child categories in response

include_system
boolean
default:true

Include system default categories

is_visible
enum<integer>

Filter by visibility

Available options:
0,
1

Response

List of categories

success
boolean
data
object[]
meta
object