Create a Display Identity Record (DIR)
Changed onCreate a new DIR under the given enterprise. The DIR starts in draft status; it must be submitted (POST .../submit) and approved by Telnyx before any phone number can be attached.
Field rules
- display_name: 1–35 characters, no emoji or whitespace-only strings; this is the name shown to recipients.
- call_reasons: 1–10 strings, each ≤64 characters; describe why your business calls customers (e.g. 'Appointment reminders', 'Billing inquiries'). Validate the wording against POST /call_reasons/validate.
- logo_url: HTTPS URL (max 128 chars) to a 256×256 BMP (max 1 MB). The image is downloaded and hashed at submission time.
- documents: up to 20 entries; each document_id must be obtained by uploading the file via the Telnyx Documents API first. Within one DIR a document_id may only appear once.
- certify_brand_is_accurate, certify_no_shaft_content, certify_ip_ownership MUST all be true.
Failure modes
- 400 - validation error; errors[].source.pointer names the offending field.
- 400 - a certification field is not true.
- 400 - Branded Calling not activated on this enterprise (see POST /enterprises/{id}/branded_calling).
- 400 - the enterprise is a BPO enterprise (role_type bpo), which cannot own a DIR.
- 400 - a bpo_authorizations entry is not an approved BPO enterprise in your account, or its loa_document_id could not be validated.
- 404 - enterprise does not exist or does not belong to your account.
- 503 - the document check is temporarily unavailable; retry.
Request
- Base URL: https://api.telnyx.com/v2
- URL: https://api.telnyx.com/v2/enterprises/{enterprise_id}/dir
- Auth: HTTP bearer
Path parameters
The enterprise id. Lowercase UUID.
Request body
Example request
{
"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": [
"Appointment reminders",
"Billing inquiries"
],
"documents": [
{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "business_registration",
"description": "Certificate of incorporation."
}
],
"webhook_url": "https://mapleridge.example.com/webhooks/branded-calling",
"bpo_authorizations": [
{
"bpo_enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
"loa_document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c"
}
]
}Response
DIR created in draft status.
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",
"delete_requested_at": "2026-04-27T09:12:44.201820Z",
"webhook_url": "https://acmehealthcare.example.com/webhooks/branded-calling"
}
}Changes
- warning
added the new
bank_reference_letterenum value to the///response property for the response status - warning
added the new
business_credit_reportenum value to the///response property for the response status - warning
added the new
certificate_of_good_standingenum value to the///response property for the response status - info
added the new
bank_reference_letterenum value to the request property// - info
added the new
business_credit_reportenum value to the request property// - info
added the new
certificate_of_good_standingenum value to the request property//
- warning
- warning
added the new
delete_requestedenum value to the/response property for the response status - info
added the new optional request property
- info
added the new optional request property
- info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- warning