---
title: "Restore Directory Member"
method: PUT
path: "/api/v1/directory_members/{member_id}/restore"
tags: ["directory"]
---

# Restore Directory Member

`PUT /api/v1/directory_members/{member_id}/restore`

Restore a soft-deleted directory member.

## Path parameters

- `member_id` integer, required

## Query parameters

- `response_format` 'normalized' | 'raw' — Response shape selector for directory member APIs.

## Request body

- DirectoryMemberRestore — Request model to restore directory member.
  - `comments` string — Comment stored in version history for this restore

## Response `200`

Successful Response

- DirectoryMember — Model for a directory member (i.e. a contact).
  - `name` string, required — Name of the directory member
  - `type` string, required — Type of the directory member
  - `extensions` DirectoryExtension[], nullable — List of extensions for the directory member
    - `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, nullable — Tags for the directory member
  - `comments` string, nullable — The comments for the most recent edit to the directory member
  - `id` integer, required — Internal ID of the directory member
  - `created_at` string, date-time, required — When the contact was created
  - `updated_at` string, date-time, required — Timestamp of most recent update
  - `deleted_at` string, date-time, nullable — When the contact was deleted, if deleted
  - `last_updated_by` string, nullable — Email of the user who last updated the directory member
  - `created_by` string, nullable — Email of the user who created the directory member

## Other responses

- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `500` — Internal Server Error

## Changes

> 97 revisions in range; 1 not diffed.

- **2026-08-25** `9fc02f8705a7` — 1 info
  - added the optional property `extensions/anyOf[subschema #1]/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/restore/put.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/203a46065323/schema)
