---
title: "Update a DIR"
method: PATCH
path: "/dir/{dir_id}"
tags: ["Display Identity Records"]
---

# Update a DIR

`PATCH /dir/{dir_id}`

Edit a DIR. DIRs in `draft`, `rejected`, `unsuccessful`, or `suspended` can be edited freely: PATCH is a pure edit, `status` is never changed, and you re-vet by calling `POST /v2/dir/{dir_id}/submit` explicitly. A `verified` DIR can also be edited in place: a PATCH that changes any value returns the DIR to `draft` and branded delivery stops until you re-submit and the DIR is approved again, while a PATCH that changes nothing (an empty body or values identical to the current ones) leaves the DIR `verified`, so idempotent retries are safe. DIRs in any other status (`submitted`, `in_review`, `expired`, `infringement_claimed`, `permanently_rejected`) cannot be edited.

## Path parameters

- `dir_id` string, uuid, required

## Request body

- DirUpdateRequest — All fields are optional; only those supplied are updated. Same per-field rules as `DirCreateRequest`.
  - `display_name` string — Name shown to call recipients. 1–35 characters, no emoji, not whitespace-only.
  - `reselling` boolean — Set to true if your organization places calls on behalf of other enterprises (BPO/reseller). Updating this triggers re-vetting on next submit.
  - `authorizer_name` string — Name of the person at your enterprise authorizing this DIR. Must be a real individual.
  - `authorizer_email` string, email — Contact email of the authorizer. Telnyx may send verification or infringement notices here.
  - `logo_url` string, uri — Publicly accessible HTTPS URL (max 128 chars) to a 256x256 BMP logo (max 1 MB).
  - `call_reasons` string[] — 1–10 reasons your business calls customers. Validate phrasing against `POST /call_reasons/validate`.
  - `certify_brand_is_accurate` boolean — Certification that the DIR information is accurate. Must be `true` for the DIR to be submitted for vetting.
  - `certify_no_shaft_content` boolean — Certification that this DIR is not used for SHAFT content (Sex, Hate, Alcohol, Firearms, Tobacco) where prohibited. Must be `true` for the DIR to be submitted for vetting.
  - `certify_ip_ownership` boolean — Certification of ownership of any logos/trademarks shown. Must be `true` for the DIR to be submitted for vetting.
  - `documents` Document[] — Additional supporting documents to attach. Append-only: existing documents are never removed or replaced, and an empty or omitted list is a no-op. Each `document_id` may appear at most once on a DIR.
    - `document_id` string, uuid, required — Id returned by the Telnyx Documents API after you upload the file (upload via `POST /v2/documents`; see https://developers.telnyx.com/api/documents).
    - `document_type` 'letter_of_authorization' | 'business_registration' | 'articles_of_incorporation' | 'tax_document' | 'ein_letter' | 'trademark_registration' | 'website_ownership' | 'business_license' | 'professional_license' | 'government_id' | 'utility_bill' | 'bank_statement' | 'other', required — Type of supporting document. Pick the closest match to what the file actually contains; `other` triggers manual vetting and may slow approval. The matching short_name reference list is at `GET /v2/dir/document_types`.
    - `description` string

## Response `200`

DIR updated.

- DirWrapped
  - `data` Dir, required
    - `id` string, uuid
    - `enterprise_id` string, uuid
    - `display_name` string
    - `reselling` boolean
    - `certify_brand_is_accurate` boolean
    - `certify_no_shaft_content` boolean
    - `certify_ip_ownership` boolean
    - `authorizer_name` string, nullable
    - `authorizer_email` string, email, nullable
    - `logo_url` string, uri, nullable
    - `call_reasons` CallReason[]
      - `reason` string
      - `created_at` string, date-time
    - `documents` Document[], nullable
      - `document_id` string, uuid, required — Id returned by the Telnyx Documents API after you upload the file (upload via `POST /v2/documents`; see https://developers.telnyx.com/api/documents).
      - `document_type` 'letter_of_authorization' | 'business_registration' | 'articles_of_incorporation' | 'tax_document' | 'ein_letter' | 'trademark_registration' | 'website_ownership' | 'business_license' | 'professional_license' | 'government_id' | 'utility_bill' | 'bank_statement' | 'other', required — Type of supporting document. Pick the closest match to what the file actually contains; `other` triggers manual vetting and may slow approval. The matching short_name reference list is at `GET /v2/dir/document_types`.
      - `description` string
    - `status` 'draft' | 'submitted' | 'in_review' | 'verified' | 'rejected' | 'unsuccessful' | 'suspended' | 'expired' | 'infringement_claimed' | 'permanently_rejected' — DIR lifecycle status. - `draft` - newly created; editable; not yet submitted. - `submitted` / `in_review` - Telnyx is reviewing. - `verified` - approved; phone numbers may be attached. - `rejected` - Telnyx rejected this submission; `rejection_reasons` is populated; customer can edit and resubmit. - `unsuccessful` - system-side error during processing; customer can edit and resubmit. - `suspended` - temporarily disabled (e.g. by an active infringement claim). - `expired` - verification expired; customer must resubmit. - `infringement_claimed` - a trademark/impersonation claim is open against this DIR. - `permanently_rejected` - terminal; cannot be resubmitted.
    - `rejection_reasons` RejectionReason[], nullable — Populated when `status` is `rejected`; cleared on `/submit` or successful approval.
      - `code` string
      - `title` string
      - `detail` string
      - `message` string, nullable — Customer-visible free-text comment from the Telnyx vetting team. Only the first entry of `rejection_reasons` carries this; the rest are `null`.
    - `rejected_at` string, date-time, nullable
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `submitted_at` string, date-time, nullable
    - `verified_at` string, date-time, nullable
    - `expiring_at` string, date-time, nullable

## Other responses

- `default` — An error occurred. The response carries the standard Telnyx error envelope.
- `4XX` — An error occurred. The response carries the standard Telnyx error envelope.

---

[API](https://skmtc.net/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.net/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/versions/8f5f4e537994/schema)
