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

# List Categories

> Retrieve the list of transaction categories used by Redbark

<Info>
  The REST API is in **beta**. This endpoint's response shape may change.
</Info>

Returns the list of transaction categories that Redbark assigns to transactions. Categories are derived from CDR enrichment data provided by the banking provider.

Use this endpoint to build category mapping configurations for tools like [Sure sync](/sure) and [Actual Budget sync](/actual-budget).

## Request

```
GET /v1/categories
```

### Headers

| Header          | Required | Description           |
| --------------- | -------- | --------------------- |
| `Authorization` | Yes      | `Bearer YOUR_API_KEY` |

Trialing customers retain full API access.

## Response

This is a static enum list; it does not vary per connection.

```json theme={null}
{
  "categories": [
    { "key": "BANK_FEES", "label": "Bank Fees" },
    { "key": "ENTERTAINMENT", "label": "Entertainment" },
    { "key": "FOOD_AND_DRINK", "label": "Food & Drink" },
    { "key": "GOVERNMENT_AND_NON_PROFIT", "label": "Government & Non-Profit" },
    { "key": "HOME_IMPROVEMENT", "label": "Home Improvement" },
    { "key": "INCOME", "label": "Income" },
    { "key": "LOAN_PAYMENTS", "label": "Loan Payments" },
    { "key": "MEDICAL", "label": "Medical" },
    { "key": "MERCHANDISE", "label": "Merchandise" },
    { "key": "PERSONAL_CARE", "label": "Personal Care" },
    { "key": "RENT_AND_UTILITIES", "label": "Rent & Utilities" },
    { "key": "SERVICES", "label": "Services" },
    { "key": "TRANSFER_IN", "label": "Transfer In" },
    { "key": "TRANSFER_OUT", "label": "Transfer Out" },
    { "key": "TRANSPORTATION", "label": "Transportation" },
    { "key": "TRAVEL", "label": "Travel" }
  ]
}
```

### Category object

| Field   | Type     | Description                                          |
| ------- | -------- | ---------------------------------------------------- |
| `key`   | `string` | Internal category identifier (e.g. `FOOD_AND_DRINK`) |
| `label` | `string` | Human-readable category name (e.g. `Food & Drink`)   |

The `key` matches the `category` field returned on [transaction objects](/api-reference/transactions#categories) — `key` is the raw uppercase code (e.g. `FOOD_AND_DRINK`); `label` is the matching human-readable name (e.g. `Food & Drink`), provided here for display.

## Error responses

Errors use the standard envelope `{ "error": { "message": string, "code"?: string, "details"?: string[] } }`.

| Status | When                                                                                                                                                                    |
| ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `401`  | Missing or invalid bearer token                                                                                                                                         |
| `403`  | Plan does not include API access (`code: plan_upgrade_required`; requires the Developer or Professional plan). Trialing customers retain API access regardless of plan. |
| `429`  | Rate limit exceeded (cheap bucket). See `Retry-After` and `X-RateLimit-Reset`.                                                                                          |

## Example

```bash theme={null}
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.redbark.com/v1/categories"
```
