---
title: "List rule assignments for a member"
method: GET
path: "/members/{member_id}/rule-assignments"
tags: ["Allowance Management"]
---

# List rule assignments for a member

`GET /members/{member_id}/rule-assignments`

Returns all rule assignments for a member. Optionally filter by allowance type.

## Path parameters

- `member_id` string, uuid, required

## Query parameters

- `allowance_type_id` string, uuid

## Response `200`

Successful response

- object[]
  - `id` number, required
  - `rule_start_date` string, required — First day the assignment itself applies (inclusive). This is the assignment's own validity, which is independent of the member: it does not account for a member who joined after it began. Matches what POST and PATCH accept, so values can be round-tripped — use coverage_start_date to see when the member actually starts accruing.
  - `coverage_start_date` string, required — First day this MEMBER actually accrues under the assignment (inclusive): rule_start_date, moved forward to the member's employment_start_date when they joined after the assignment began and before it ended. For an assignment that ended on or before the member's employment start, the member never accrued under it at all and this field simply equals rule_start_date (that state is detectable as rule_end_date <= employment_start_date). Read-only and derived — POST and PATCH do not accept it, and writing it back into rule_start_date would freeze a hire date that is still editable.
  - `rule_end_date` string, nullable, required — Last day the rule applies (inclusive), or null for open-ended. Matches what POST and PATCH accept, so values can be round-tripped.
  - `allowance_type_id` string, required
  - `rule_id` string, required
  - `rule` object, required
    - `id` string, required
    - `name` string, required
    - `rule_amount` number, required
    - `accrual_cycle` 'month' | 'year' | 'biweek', required
    - `accrual_month` number, required
    - `max_carry_forward` number, nullable, required

## Other responses

- `400` — Invalid input data
- `401` — Authorization not provided
- `403` — Insufficient access
- `404` — Not found
- `500` — Internal server error

---

[API](https://skmtc.net/absentify/apis/absentify-crud-api.md) · [All operations](https://skmtc.net/absentify/apis/absentify-crud-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/absentify/absentify-crud-api/revisions/ef777d51e6f2/schema)
