---
title: "List charge distribution keys, filtered"
method: GET
path: "/charges/distributions/filtered"
tags: ["Services"]
---

# List charge distribution keys, filtered

`GET /charges/distributions/filtered`

## Request

- Base URL: `https://api.faireplace.com/api`
- URL: `https://api.faireplace.com/api/charges/distributions/filtered`
- Auth: HTTP bearer

Same resource as `GET /charges/distributions`, with server-side
filtering and paging.

Returns a **plain JSON array**: there is no pagination envelope, so the
total count is not returned. Ask for `limit + 1` items if you need to
know whether another page exists.

Note `page` is **zero-based**: the first page is `page=0`.

## Query parameters

- `calculation_type` 'SURFACE' | 'OCCUPANT' | 'CONSOMMATION_MESUREE' | 'NOMBRE_EQUIPEMENTS' | 'MILLIEME' | 'PARTS_EGALES' | 'FORMULE_PERSONNALISEE': Type of charge distribution among tenants (distribution technique). **Compatibility rules with the billing mode:** - `CONSOMMATION_MESUREE` requires `RELEVE_DIRECT` or `PROVISION` (not `FORFAIT`) - Other types can be used with `PROVISION` or `FORFAIT`
- `name_contains` string
- `page` integer
- `limit` integer

## Response `200`

Filtered distribution keys retrieved

- ChargeDistributionKey[]
  - `id` string, uuid, required: Unique identifier of the distribution key
  - `name` string, required: Name of the distribution key
  - `description` string, nullable: Description of the distribution key
  - `calculation_type` 'SURFACE' | 'OCCUPANT' | 'CONSOMMATION_MESUREE' | 'NOMBRE_EQUIPEMENTS' | 'MILLIEME' | 'PARTS_EGALES' | 'FORMULE_PERSONNALISEE', required: Type of charge distribution among tenants (distribution technique). **Compatibility rules with the billing mode:** - `CONSOMMATION_MESUREE` requires `RELEVE_DIRECT` or `PROVISION` (not `FORFAIT`) - Other types can be used with `PROVISION` or `FORFAIT`
  - `formula` string, nullable: Custom calculation formula (required if calculation_type = FORMULE_PERSONNALISEE)
  - `parameters` DistributionParameters: Charge distribution parameters based on the chosen calculation type
    - `surface_m2` number, nullable: Surface area in m² for SURFACE calculation
    - `occupant_count` integer, nullable: Number of occupants for OCCUPANT calculation
    - `meter_id` string, uuid, nullable: Meter ID for CONSOMMATION_MESUREE calculation
    - `equipment_count` integer, nullable: Number of equipment items for NOMBRE_EQUIPEMENTS calculation
    - `millieme_value` number, nullable: Value in thousandths for MILLIEME calculation
    - `formula_parameters` object, nullable: Custom parameters for FORMULE_PERSONNALISEE calculation (JSON format)
  - `validation_rules` ValidationRules: Validation rules for distribution calculations
    - `min_value` number, nullable: Minimum allowed value
    - `max_value` number, nullable: Maximum allowed value
    - `required_parameters` string[]: Required parameters for validation
    - `custom_validation` object, nullable: Custom validation rule (JSON format)
  - `created_at` string, date-time: Creation date
  - `updated_at` string, date-time: Last modification date

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `500`: Internal Server Error

---

[API](https://skmtc.dev/faireplace/apis/faireplace-property-management-api.md) · [All operations](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/llms.txt) · [OpenAPI document](https://skmtc.dev/faireplace/apis/faireplace-property-management-api/revisions/69de39762919?raw)
