Skip to content

Expense Categories — Proposed Guide

Planned API — Reference Only

Expense Categories: Categories classify spending for policy and reporting. They need not correspond one-to-one with accounting accounts or merchant…

Overview

Categories classify spending for policy and reporting. They need not correspond one-to-one with accounting accounts or merchant classifications.

Key concepts

Use category identifiers and active states. Preserve the category assigned when a reviewed expense was approved.

Implementation considerations

Renaming a category should not rewrite accounting mappings without review. Define how a closed category affects draft expenses.

Proposed API behavior

GET /v1/expense-categories is an illustrative design for this topic. Path and field names may change before implementation. Access would require an authorized organization context and operation-specific permission; no public API or authorization grant is available here.

Illustrative query parameters
NameTypeDescription
statusstringProposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success.

Static example requests

Proposed, non-executing request examples
# Proposed request text only; this reserved host is not a live API.
curl -X GET 'https://api.remizen.example/v1/expense-categories?status=draft' \
  -H 'Authorization: Bearer YOUR_API_KEY'

Fictional response example

200 (proposed example)Static response fixture

Fictional documentation data only. No request was sent, record created, review performed, payment initiated or provider connection activated.

JSON
{
  "data": [
    {
      "category_id": "category_example_123",
      "name": "Example business unit",
      "organization_id": "org_example_123",
      "id": "expense_categories_example_123"
    }
  ],
  "pagination": {
    "has_more": false,
    "next_cursor": null
  },
  "meta": {
    "request_id": "req_example_123",
    "reference_only": true
  }
}

Illustrative error case

Review this failure case in context: Renaming a category should not rewrite accounting mappings without review. Define how a closed category affects draft expenses.

422 (illustrative; final error contracts are undecided)Proposed error fixture

Synthetic diagnostic example. Human-readable messages must not be used as stable programmatic contracts.

JSON
{
  "error": {
    "code": "validation_error",
    "message": "The proposed expense categories operation requires review of its input or authorization.",
    "request_id": "req_example_123"
  }
}

Proposed data types

Illustrative field dictionary
NameTypeDescription
category_idstringStable fictional category reference; not a secret and not evidence that a resource exists.
namestringHuman-readable example label; stable relationships should use identifiers instead.
statusstringProposed lifecycle value. Its meaning depends on the resource and must not be inferred from HTTP success.
organization_idstringStable fictional organization reference; not a secret and not evidence that a resource exists.