> ## Documentation Index
> Fetch the complete documentation index at: https://docs.aiinsurance.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> Retrieve available transaction categories for financial transactions

## Overview

Transaction categories define the types of financial transactions that can be recorded in the system. Each category specifies:

* **Direction**: Whether the transaction is a Payable (money going out) or Receivable (money coming in)
* **Scopes**: Which entity types (policies or events) the category applies to, and which payee types are supported
* **Line Item Categories**: Subcategories for itemized transactions
* **Reserves Support**: Whether the category supports reserve tracking (for event-related categories)

## Transaction Direction

| Direction    | Description                                      |
| ------------ | ------------------------------------------------ |
| `Payable`    | Money owed by the company (expenses, claims)     |
| `Receivable` | Money owed to the company (premiums, recoveries) |

## Transaction Scopes

Each category has one or more scopes that define where it can be used:

* **Entity Type**: Either `policy` or `event`
* **Supported Payee Types**: Which payee types can receive payments for this category (for payable categories)

### Supported Payee Types

| Type        | Description                                       |
| ----------- | ------------------------------------------------- |
| `insured`   | The policyholder/insured party                    |
| `payee`     | A general payee (law firm, expert, vendor, etc.)  |
| `brokerage` | A brokerage that receives commissions or payments |

## Line Item Categories

Some transaction categories support line items (itemized breakdowns). These categories have `isItemized: true` and include a `lineItemCategories` array with subcategories.

Each line item category has:

* `categoryId`: Unique identifier for the line item category
* `name`: Display name
* `parentTransactionCategoryId`: Reference to the parent transaction category

## Permissions

* **Read**: Requires `externalApi:read` permission

## Example Response

```json theme={null}
{
  "items": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "categoryId": "alae_invoice",
      "name": "ALAE",
      "lineItemCategories": [
        {
          "categoryId": "attorney_fees_expenses",
          "name": "Attorney Fees Expenses",
          "parentTransactionCategoryId": "alae_invoice"
        },
        {
          "categoryId": "expert_fees_expenses",
          "name": "Expert Fees Expenses",
          "parentTransactionCategoryId": "alae_invoice"
        }
      ],
      "isItemized": true,
      "direction": "Payable",
      "scopes": [
        {
          "entityType": "event",
          "supportedPayeeTypes": ["payee"]
        }
      ],
      "supportsReserves": true
    },
    {
      "id": "550e8400-e29b-41d4-a716-446655440001",
      "categoryId": "policy_invoice",
      "name": "Policy Invoice",
      "lineItemCategories": [],
      "isItemized": true,
      "direction": "Receivable",
      "scopes": [
        {
          "entityType": "policy",
          "supportedPayeeTypes": ["insured", "brokerage", "payee"]
        }
      ],
      "supportsReserves": false
    }
  ],
  "totalCount": 2
}
```
