Overview
If a third party believes your DIR’s display name, logo, or content infringes on a protected right (trademark, copyright, etc.), they can file an infringement claim through Telnyx. Claims are filed and adjudicated by Telnyx, you cannot create a claim through this API, but you can read and contest claims filed against your own DIRs. While a claim ispending or contested:
- The DIR is moved to
suspended. - Branded calling pauses for the affected DIR.
- You cannot add phone numbers to the DIR (returns
400). - You cannot delete the DIR (returns
409, blocked by theno_active_claimsprecondition). - You cannot re-submit the DIR with
POST /submit(returns409with the open claim IDs, blocked by theno_active_claimsprecondition). - To revise content while the claim is open, call
PUT /v2/dir/{dir_id}/infringement_updateon thesuspendedDIR (see “Fix-and-resubmit” below). This is the only way to re-vet during an open claim.
Claim lifecycle
API endpoints
| Method | Path | Description |
|---|---|---|
GET | /v2/dir/{dir_id}/infringement_claims | List claims against a DIR |
GET | /v2/infringement_claims/{claim_id} | Get a single claim |
POST | /v2/infringement_claims/{claim_id}/contest | File a contest |
Listing claims on a DIR
Getting a single claim
Contesting a claim
You can submit a contest more than once, the first submission moves the claim frompending to contested; later submissions append additional notes and documents to the same claim without changing status.
| Field | Required | Description |
|---|---|---|
contest_notes | yes | 10-2000 characters. Explain why the claim is invalid or how you’ve addressed it. |
documents | no | Up to 20 supporting documents per submission. Each must reference a document_id from the Telnyx Documents API and include a document_type. Duplicate document_ids within one submission are rejected. |
resolved claim returns 400.
Fix-and-resubmit a suspended DIR
While an infringement claim is open (pending or contested), Telnyx may pre-emptively move your DIR to suspended to halt branded calling. To recover without waiting for the claim to be resolved, use the dedicated PUT /v2/dir/{dir_id}/infringement_update endpoint to atomically apply your content fix and re-submit for vetting in one call. This endpoint requires an active (unresolved) claim and a suspended DIR (see “After the claim resolves” below).
- The DIR must have an active (unresolved) infringement claim.
- The DIR must be in
suspendedstatus. - All four certifications (
certify_no_infringement,certify_brand_is_accurate,certify_no_shaft_content,certify_ip_ownership) must be supplied astrue. infringement_resolution_notesis required (10-500 chars), explain how the edits resolve the claim.
display_name, logo_url, call_reasons) are all optional; send only the ones you’re changing. See the Infringement Claims guide for the full field table.
After the update, the DIR moves to submitted and goes through vetting again, even though the claim is still open. If the new content passes vetting, the DIR returns to verified and the claim can be resolved. If vetting rejects the changes, the DIR returns to suspended and you can update again. You can submit infringement_update multiple times while the claim is open.
Why the standardPATCH+POST /submitflow doesn’t work here:POST /submitis gated by the FSM’sno_active_claimsprecondition and returns409while a claim is stillpendingorcontested.PUT /infringement_updateis the only customer-callable endpoint that can move asuspended-with-open-claim DIR back into vetting; it bypasses theno_active_claimsgate by design. UsePATCH+POST /submitonly after Telnyx has marked the claimresolvedwithresolution = modified.resolution = rejectedauto-restores the DIR andresolution = upheldis terminal, neither requires a customerPATCH+/submit.
After the claim resolves
resolution = rejected: your DIR is automatically restored toverified; no action required. Branded calling resumes.resolution = upheld: your DIR ispermanently_rejectedand cannot be reused. To continue branded calling, create a new DIR with corrected content; you may reuse the same enterprise.resolution = modified: readresolution_notesfor the required content edits, thenPATCHthe DIR andPOST /submit(theno_active_claimsgate is now open because the claim isresolved).