---
title: "Get Directory Member History"
method: GET
path: "/api/v1/directory_members/{member_id}/history"
tags: ["directory"]
---

# Get Directory Member History

`GET /api/v1/directory_members/{member_id}/history`

Get version history for a directory member (contact).
Version 1 is always the oldest; order_by_direction only controls response order.

## Path parameters

- `member_id` integer, required

## Query parameters

- `page` integer — Page number (0-based)
- `limit` integer — Items per page
- `order_by_direction` 'asc' | 'desc' — The direction in which to order list results, either ascending or descending.
- `response_format` 'normalized' | 'raw' — Response shape selector for directory member APIs.

## Response `200`

Successful Response

- ListResponseDirectoryMemberHistoryResponse
  - `items` DirectoryMemberHistoryResponse[], required — List of items returned from the query
    - `directory_member_id` integer, required — ID of the directory member
    - `version` integer, required — 1-based ordinal in the history list (1 = oldest)
    - `timestamp` string, date-time, required — When this version was recorded
    - `name` string, required — Name at this version
    - `type` string, required — Type at this version
    - `extensions` DirectoryExtension[] — Extensions at this version
      - `name` string, required — Directory extension name
      - `numbers` DirectoryExtensionNumber[], nullable — Directory extension numbers.
        - `number` string, required — Phone number or SIP URI
        - `rules` object[], nullable — Directory extension number rules. To include a language rule, use key "language" with a language code value.
        - `sip_transfer_mode` 'refer' | 'invite' — How a call should be transferred to a SIP endpoint.
    - `contact_tags` object — Contact tags at this version
    - `user_email` string, required — User who made the change
    - `comments` string, nullable — Optional comment for this version
    - `operation` string, nullable — What produced this row: create, update, delete, restore, bulk_load. Null for rows created before this field existed.
  - `page` integer, required — The page number of the results (0-based)
  - `page_size` integer, required — The number of items returned per page
  - `total_pages` integer, nullable — The total number of pages of results given the indicated page size
  - `total_count` integer, nullable — The total number of items returned from the query

## Other responses

- `422` — Validation Error

## Changes

> 100 revisions in range; 1 not diffed.

- **2026-08-25** `9fc02f8705a7` — 1 info
  - added the optional property `items/items/extensions/items/numbers/anyOf[subschema #1]/items/sip_transfer_mode` to the response with the `200` status

[Change history](https://skmtc.dev/asksyllable/apis/syllablesdk/changes/api/v1/directory_members/:member_id/history/get.md)

---

[API](https://skmtc.dev/asksyllable/apis/syllablesdk.md) · [All operations](https://skmtc.dev/asksyllable/apis/syllablesdk/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/asksyllable/syllablesdk/revisions/4559c71cdfb7/schema)
