Update a DIR to resolve an infringement concern
Push a fix for a DIR that is suspended with an open infringement claim back into vetting. POST /dir/{dir_id}/submit is blocked while a claim is open, so this is the customer-callable path to update the DIR’s content and re-certify before Telnyx adjudicates the claim. All four certification booleans must be true. Optional content fields (display_name, logo_url, call_reasons, documents) update the DIR; documents are append-only.
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const response = await client.dir.updateInfringement('16635d38-75a6-4481-82e8-69af60e05011', {
certify_brand_is_accurate: true,
certify_ip_ownership: true,
certify_no_infringement: true,
certify_no_shaft_content: true,
infringement_resolution_notes:
'Updated the display name to remove the disputed mark and re-uploaded the authorization.',
});
console.log(response.data);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
response = client.dir.update_infringement(
dir_id="16635d38-75a6-4481-82e8-69af60e05011",
certify_brand_is_accurate=True,
certify_ip_ownership=True,
certify_no_infringement=True,
certify_no_shaft_content=True,
infringement_resolution_notes="Updated the display name to remove the disputed mark and re-uploaded the authorization.",
)
print(response.data)package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Dir.UpdateInfringement(
context.TODO(),
"16635d38-75a6-4481-82e8-69af60e05011",
telnyx.DirUpdateInfringementParams{
CertifyBrandIsAccurate: true,
CertifyIPOwnership: true,
CertifyNoInfringement: true,
CertifyNoShaftContent: true,
InfringementResolutionNotes: "Updated the display name to remove the disputed mark and re-uploaded the authorization.",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.dir.DirUpdateInfringementParams;
import com.telnyx.sdk.models.dir.DirUpdateInfringementResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
DirUpdateInfringementParams params = DirUpdateInfringementParams.builder()
.dirId("16635d38-75a6-4481-82e8-69af60e05011")
.certifyBrandIsAccurate(DirUpdateInfringementParams.CertifyBrandIsAccurate.TRUE)
.certifyIpOwnership(DirUpdateInfringementParams.CertifyIpOwnership.TRUE)
.certifyNoInfringement(DirUpdateInfringementParams.CertifyNoInfringement.TRUE)
.certifyNoShaftContent(DirUpdateInfringementParams.CertifyNoShaftContent.TRUE)
.infringementResolutionNotes("Updated the display name to remove the disputed mark and re-uploaded the authorization.")
.build();
DirUpdateInfringementResponse response = client.dir().updateInfringement(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.dir.update_infringement(
"16635d38-75a6-4481-82e8-69af60e05011",
certify_brand_is_accurate: true,
certify_ip_ownership: true,
certify_no_infringement: true,
certify_no_shaft_content: true,
infringement_resolution_notes: "Updated the display name to remove the disputed mark and re-uploaded the authorization."
)
puts(response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$response = $client->dir->updateInfringement(
'16635d38-75a6-4481-82e8-69af60e05011',
certifyBrandIsAccurate: true,
certifyIPOwnership: true,
certifyNoInfringement: true,
certifyNoShaftContent: true,
infringementResolutionNotes: 'Updated the display name to remove the disputed mark and re-uploaded the authorization.',
callReasons: ['string'],
displayName: 'x',
documents: [
[
'documentID' => '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
'documentType' => 'business_registration',
'description' => 'Certificate of incorporation.',
],
],
logoURL: 'logo_url',
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx dir update-infringement \
--api-key 'My API Key' \
--dir-id 16635d38-75a6-4481-82e8-69af60e05011 \
--certify-brand-is-accurate true \
--certify-ip-ownership true \
--certify-no-infringement true \
--certify-no-shaft-content true \
--infringement-resolution-notes 'Updated the display name to remove the disputed mark and re-uploaded the authorization.'curl --request PUT \
--url https://api.telnyx.com/v2/dir/{dir_id}/infringement_update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"certify_no_infringement": true,
"certify_brand_is_accurate": true,
"certify_no_shaft_content": true,
"certify_ip_ownership": true,
"infringement_resolution_notes": "Updated the display name to remove the disputed mark and re-uploaded the authorization."
}
'{
"data": {
"id": "16635d38-75a6-4481-82e8-69af60e05011",
"enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
"display_name": "Acme Plumbing",
"reselling": false,
"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."
}
],
"rejected_at": "2023-11-07T05:31:56Z",
"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"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
The DIR id. Lowercase UUID.
"16635d38-75a6-4481-82e8-69af60e05011"
Body
Must be true.
true Must be true.
true Must be true.
true Must be true.
true Explanation of how the infringement concern was addressed.
10 - 5001 - 35Publicly accessible HTTPS URL (max 128 chars) to a 256x256 BMP logo (max 1 MB).
1281 - 10 elementsAppend-only supporting documents to attach while resolving the claim (e.g. authorization or licensing proof).
20Show child attributes
Show child attributes
Response
DIR updated and re-submitted for vetting.
Show child attributes
Show child attributes
Was this page helpful?
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
const response = await client.dir.updateInfringement('16635d38-75a6-4481-82e8-69af60e05011', {
certify_brand_is_accurate: true,
certify_ip_ownership: true,
certify_no_infringement: true,
certify_no_shaft_content: true,
infringement_resolution_notes:
'Updated the display name to remove the disputed mark and re-uploaded the authorization.',
});
console.log(response.data);import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
response = client.dir.update_infringement(
dir_id="16635d38-75a6-4481-82e8-69af60e05011",
certify_brand_is_accurate=True,
certify_ip_ownership=True,
certify_no_infringement=True,
certify_no_shaft_content=True,
infringement_resolution_notes="Updated the display name to remove the disputed mark and re-uploaded the authorization.",
)
print(response.data)package main
import (
"context"
"fmt"
"github.com/team-telnyx/telnyx-go"
"github.com/team-telnyx/telnyx-go/option"
)
func main() {
client := telnyx.NewClient(
option.WithAPIKey("My API Key"),
)
response, err := client.Dir.UpdateInfringement(
context.TODO(),
"16635d38-75a6-4481-82e8-69af60e05011",
telnyx.DirUpdateInfringementParams{
CertifyBrandIsAccurate: true,
CertifyIPOwnership: true,
CertifyNoInfringement: true,
CertifyNoShaftContent: true,
InfringementResolutionNotes: "Updated the display name to remove the disputed mark and re-uploaded the authorization.",
},
)
if err != nil {
panic(err.Error())
}
fmt.Printf("%+v\n", response.Data)
}package com.telnyx.sdk.example;
import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;
import com.telnyx.sdk.models.dir.DirUpdateInfringementParams;
import com.telnyx.sdk.models.dir.DirUpdateInfringementResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
DirUpdateInfringementParams params = DirUpdateInfringementParams.builder()
.dirId("16635d38-75a6-4481-82e8-69af60e05011")
.certifyBrandIsAccurate(DirUpdateInfringementParams.CertifyBrandIsAccurate.TRUE)
.certifyIpOwnership(DirUpdateInfringementParams.CertifyIpOwnership.TRUE)
.certifyNoInfringement(DirUpdateInfringementParams.CertifyNoInfringement.TRUE)
.certifyNoShaftContent(DirUpdateInfringementParams.CertifyNoShaftContent.TRUE)
.infringementResolutionNotes("Updated the display name to remove the disputed mark and re-uploaded the authorization.")
.build();
DirUpdateInfringementResponse response = client.dir().updateInfringement(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.dir.update_infringement(
"16635d38-75a6-4481-82e8-69af60e05011",
certify_brand_is_accurate: true,
certify_ip_ownership: true,
certify_no_infringement: true,
certify_no_shaft_content: true,
infringement_resolution_notes: "Updated the display name to remove the disputed mark and re-uploaded the authorization."
)
puts(response)<?php
require_once dirname(__DIR__) . '/vendor/autoload.php';
use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;
$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');
try {
$response = $client->dir->updateInfringement(
'16635d38-75a6-4481-82e8-69af60e05011',
certifyBrandIsAccurate: true,
certifyIPOwnership: true,
certifyNoInfringement: true,
certifyNoShaftContent: true,
infringementResolutionNotes: 'Updated the display name to remove the disputed mark and re-uploaded the authorization.',
callReasons: ['string'],
displayName: 'x',
documents: [
[
'documentID' => '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
'documentType' => 'business_registration',
'description' => 'Certificate of incorporation.',
],
],
logoURL: 'logo_url',
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx dir update-infringement \
--api-key 'My API Key' \
--dir-id 16635d38-75a6-4481-82e8-69af60e05011 \
--certify-brand-is-accurate true \
--certify-ip-ownership true \
--certify-no-infringement true \
--certify-no-shaft-content true \
--infringement-resolution-notes 'Updated the display name to remove the disputed mark and re-uploaded the authorization.'curl --request PUT \
--url https://api.telnyx.com/v2/dir/{dir_id}/infringement_update \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"certify_no_infringement": true,
"certify_brand_is_accurate": true,
"certify_no_shaft_content": true,
"certify_ip_ownership": true,
"infringement_resolution_notes": "Updated the display name to remove the disputed mark and re-uploaded the authorization."
}
'{
"data": {
"id": "16635d38-75a6-4481-82e8-69af60e05011",
"enterprise_id": "4a6192a4-573d-446d-b3ce-aff9117272a6",
"display_name": "Acme Plumbing",
"reselling": false,
"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."
}
],
"rejected_at": "2023-11-07T05:31:56Z",
"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"
}
}