REST /api/v1/accessibility/expense-types 5 endpoints
GET /api/v1/accessibility/expense-types/api/v1/accessibility/expense-types

List semantic accessibility labels for all expense types

Public

Response Example

{
  "data": [
    {
      "id": "kilometers",
      "expense_type": "kilometers",
      "semantic_label": "Kilometers — selected, toggle to deselect",
      "is_selected": true,
      "is_disabled": false,
      "focus_order": 1
    },
    {
      "id": "tolls",
      "expense_type": "tolls",
      "semantic_label": "Tolls — available, toggle to select",
      "is_selected": false,
      "is_disabled": false,
      "focus_order": 2
    },
    {
      "id": "publicTransit",
      "expense_type": "publicTransit",
      "semantic_label": "Public Transit — disabled, incompatible with kilometers",
      "is_selected": false,
      "is_disabled": true,
      "focus_order": 4
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 4
  }
}
GET /api/v1/accessibility/expense-types/api/v1/accessibility/expense-types/:id

Get semantic accessibility label for a specific expense type

Public

Response Example

{
  "id": "publicTransit",
  "expense_type": "publicTransit",
  "semantic_label": "Public Transit — disabled, incompatible with kilometers",
  "is_selected": false,
  "is_disabled": true,
  "exclusion_announcement": "Public Transit has been disabled because it is incompatible with Kilometers and Tolls.",
  "focus_order": 4
}
POST /api/v1/accessibility/expense-types/api/v1/accessibility/expense-types

Create a custom accessibility label override for an expense type

Public

Request Example

{
  "expense_type": "kilometers",
  "locale": "fr",
  "selected_label": "Kilomètres — sélectionné, appuyer pour désélectionner",
  "deselected_label": "Kilomètres — disponible, appuyer pour sélectionner",
  "disabled_label": "Kilomètres — désactivé, incompatible avec transit public"
}

Response Example

{
  "id": "acc-fr-kilometers",
  "expense_type": "kilometers",
  "locale": "fr",
  "selected_label": "Kilomètres — sélectionné, appuyer pour désélectionner",
  "deselected_label": "Kilomètres — disponible, appuyer pour sélectionner",
  "disabled_label": "Kilomètres — désactivé, incompatible avec transit public",
  "created_at": "2026-03-26T13:00:00Z"
}
PUT /api/v1/accessibility/expense-types/api/v1/accessibility/expense-types/:id

Update an accessibility label override

Public

Request Example

{
  "selected_label": "Kilomètres — actif, appuyer pour désélectionner",
  "disabled_label": "Kilomètres — non disponible avec le type sélectionné"
}

Response Example

{
  "id": "acc-fr-kilometers",
  "expense_type": "kilometers",
  "locale": "fr",
  "selected_label": "Kilomètres — actif, appuyer pour désélectionner",
  "deselected_label": "Kilomètres — disponible, appuyer pour sélectionner",
  "disabled_label": "Kilomètres — non disponible avec le type sélectionné",
  "updated_at": "2026-03-26T13:30:00Z"
}
DELETE /api/v1/accessibility/expense-types/api/v1/accessibility/expense-types/:id

Delete a custom accessibility label override

Public

Response Example

{
  "success": true,
  "deleted_id": "acc-fr-kilometers"
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}