Display Identity Records

List all DIRs across your enterprises

Convenience endpoint that returns every DIR you own without scoping to a specific enterprise. Equivalent to calling GET /v2/enterprises/{enterprise_id}/dir for each enterprise and concatenating the results, but server-side and paginated as a single list.

get/dir

Query parameters

page[number]integer
Example:1

1-based page number. Out-of-range values return an empty page with correct meta.

page[size]integer
Example:20

Items per page. Maximum 250; values above are clamped to 250.

enterprise_idstring uuid

Restrict results to a single enterprise.

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.

Filter by DIR status.

searchstring

Case-insensitive partial match on display_name or call reason.

sort'created_at' | '-created_at' | 'updated_at' | '-updated_at' | 'display_name' | '-display_name' | 'status' | '-status'

Sort field. Allowed values: created_at, updated_at, display_name, status. Prefix with - for descending. Default -created_at.

filter[expiring_at][gte]string date-time

Return only DIRs whose expiring_at is at or after this ISO-8601 timestamp. Pairs with the [lte] variant to build renewal-window dashboards.

filter[expiring_at][lte]string date-time

Return only DIRs whose expiring_at is at or before this ISO-8601 timestamp.

Response

Paginated list of DIRs across all your enterprises.

Example response

{
  "data": [
    {
      "id": "16635d38-75a6-4481-82e8-69af60e05011",
      "enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
      "display_name": "Acme Plumbing",
      "certify_brand_is_accurate": true,
      "certify_no_shaft_content": true,
      "certify_ip_ownership": true,
      "authorizer_name": "Sam Owner",
      "authorizer_email": "sam@acmeplumbing.example.com",
      "logo_url": "https://acmeplumbing.example.com/logo-256.bmp",
      "call_reasons": [
        {
          "reason": "Appointment reminders",
          "created_at": "2026-04-26T18:06:51.940749Z"
        }
      ],
      "documents": [
        {
          "document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
          "document_type": "business_registration",
          "description": "Certificate of incorporation."
        }
      ],
      "rejection_reasons": [
        {
          "code": "documentation_incomplete",
          "title": "Documentation incomplete",
          "detail": "Provided documents do not establish business identity.",
          "message": "Please re-upload a clearer scan of the certificate."
        }
      ],
      "created_at": "2026-04-26T18:06:51.940749Z",
      "updated_at": "2026-04-26T18:09:24.785211Z",
      "submitted_at": "2026-04-26T18:07:03.716411Z",
      "verified_at": "2026-04-26T18:07:29.537926Z",
      "expiring_at": "2027-04-26T18:07:29.537981Z"
    }
  ],
  "meta": {
    "total_pages": 3,
    "total_results": 42,
    "page_number": 1,
    "page_size": 20
  }
}

Changes