Contest an infringement claim
Submit a written response and supporting documents disputing the claim. The first call moves the claim from pending to contested; subsequent calls append supplementary evidence without changing status. The documents[] you attach are aggregated across rounds in the claim’s contest_documents field.
Only pending and contested claims accept new evidence. A resolved claim returns 400.
Failure modes:
400- the claim isresolved(terminal); cannot be contested further.404- the claim does not exist or is not against a DIR you own.422-contest_notesis too short (< 10 chars), too long (> 2000 chars),documentsis > 20 entries, or adocument_idis duplicated within the same submission.
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.infringementClaims.contest('e379fbc8-cd83-4bef-a280-a0ac9d00dcf8', {
contest_notes:
'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.',
documents: [
{
document_id: '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
document_type: 'trademark_registration',
description: 'USPTO trademark certificate.',
},
],
});
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.infringement_claims.contest(
claim_id="e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
contest_notes="We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
documents=[{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "trademark_registration",
"description": "USPTO trademark certificate.",
}],
)
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.InfringementClaims.Contest(
context.TODO(),
"e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
telnyx.InfringementClaimContestParams{
ContestNotes: "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
Documents: []telnyx.InfringementClaimContestParamsDocument{{
DocumentID: "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
DocumentType: "trademark_registration",
Description: telnyx.String("USPTO trademark certificate."),
}},
},
)
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.infringementclaims.InfringementClaimContestParams;
import com.telnyx.sdk.models.infringementclaims.InfringementClaimContestResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
InfringementClaimContestParams params = InfringementClaimContestParams.builder()
.claimId("e379fbc8-cd83-4bef-a280-a0ac9d00dcf8")
.contestNotes("We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.")
.build();
InfringementClaimContestResponse response = client.infringementClaims().contest(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.infringement_claims.contest(
"e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
contest_notes: "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate."
)
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->infringementClaims->contest(
'e379fbc8-cd83-4bef-a280-a0ac9d00dcf8',
contestNotes: 'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.',
documents: [
[
'documentID' => '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
'documentType' => 'trademark_registration',
'description' => 'USPTO trademark certificate.',
],
],
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx infringement-claims contest \
--api-key 'My API Key' \
--claim-id e379fbc8-cd83-4bef-a280-a0ac9d00dcf8 \
--contest-notes 'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.'curl --request POST \
--url https://api.telnyx.com/v2/infringement_claims/{claim_id}/contest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contest_notes": "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
"documents": [
{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "trademark_registration",
"description": "USPTO trademark certificate."
}
]
}
'{
"data": {
"id": "e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
"dir_id": "42a3f554-7ce3-44c2-bfe9-6e1afe0d7991",
"enterprise_id": "7eca8226-8081-4e11-abdc-437b5f53a81f",
"claim_description": "Alleged infringement on trademark XYZ.",
"claimant_name": "Test Claimant LLC",
"claimant_contact": "legal@testclaimant.example.com",
"claim_date": "2026-04-22T02:12:54Z",
"resolution_date": "2023-11-07T05:31:56Z",
"resolution_notes": "<string>",
"contest_documents": [
{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "business_registration",
"description": "Certificate of incorporation."
}
],
"contest_history": [
{
"notes": "We own the trademark outright; our registration precedes the claimant by three years.",
"submitted_at": "2026-04-22T02:13:06.629473Z",
"document_count": 1
}
],
"dir": {
"id": "42a3f554-7ce3-44c2-bfe9-6e1afe0d7991",
"display_name": "Acme Plumbing",
"enterprise_id": "7eca8226-8081-4e11-abdc-437b5f53a81f"
},
"created_at": "2026-04-22T02:12:55.908411Z",
"updated_at": "2026-04-22T02:12:55.908417Z"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier of the claim.
"e379fbc8-cd83-4bef-a280-a0ac9d00dcf8"
Body
Customer's response to the claim. 10–2000 characters.
10 - 2000"We own the trademark outright; our registration precedes the claimant by three years."
Up to 20 supporting documents per submission. document_id must be unique within this submission. Documents are aggregated into the claim's contest_documents across all submissions.
20Show child attributes
Show child attributes
Response
Updated claim, status contested.
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.infringementClaims.contest('e379fbc8-cd83-4bef-a280-a0ac9d00dcf8', {
contest_notes:
'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.',
documents: [
{
document_id: '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
document_type: 'trademark_registration',
description: 'USPTO trademark certificate.',
},
],
});
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.infringement_claims.contest(
claim_id="e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
contest_notes="We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
documents=[{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "trademark_registration",
"description": "USPTO trademark certificate.",
}],
)
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.InfringementClaims.Contest(
context.TODO(),
"e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
telnyx.InfringementClaimContestParams{
ContestNotes: "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
Documents: []telnyx.InfringementClaimContestParamsDocument{{
DocumentID: "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
DocumentType: "trademark_registration",
Description: telnyx.String("USPTO trademark certificate."),
}},
},
)
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.infringementclaims.InfringementClaimContestParams;
import com.telnyx.sdk.models.infringementclaims.InfringementClaimContestResponse;
public final class Main {
private Main() {}
public static void main(String[] args) {
TelnyxClient client = TelnyxOkHttpClient.fromEnv();
InfringementClaimContestParams params = InfringementClaimContestParams.builder()
.claimId("e379fbc8-cd83-4bef-a280-a0ac9d00dcf8")
.contestNotes("We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.")
.build();
InfringementClaimContestResponse response = client.infringementClaims().contest(params);
}
}require "telnyx"
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.infringement_claims.contest(
"e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
contest_notes: "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate."
)
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->infringementClaims->contest(
'e379fbc8-cd83-4bef-a280-a0ac9d00dcf8',
contestNotes: 'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.',
documents: [
[
'documentID' => '2a7e8337-e803-4057-a4ae-26c40eb0bc6c',
'documentType' => 'trademark_registration',
'description' => 'USPTO trademark certificate.',
],
],
);
var_dump($response);
} catch (APIException $e) {
echo $e->getMessage();
}telnyx infringement-claims contest \
--api-key 'My API Key' \
--claim-id e379fbc8-cd83-4bef-a280-a0ac9d00dcf8 \
--contest-notes 'We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.'curl --request POST \
--url https://api.telnyx.com/v2/infringement_claims/{claim_id}/contest \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contest_notes": "We own the trademark outright; our registration precedes the claimant by three years. See attached certificate.",
"documents": [
{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "trademark_registration",
"description": "USPTO trademark certificate."
}
]
}
'{
"data": {
"id": "e379fbc8-cd83-4bef-a280-a0ac9d00dcf8",
"dir_id": "42a3f554-7ce3-44c2-bfe9-6e1afe0d7991",
"enterprise_id": "7eca8226-8081-4e11-abdc-437b5f53a81f",
"claim_description": "Alleged infringement on trademark XYZ.",
"claimant_name": "Test Claimant LLC",
"claimant_contact": "legal@testclaimant.example.com",
"claim_date": "2026-04-22T02:12:54Z",
"resolution_date": "2023-11-07T05:31:56Z",
"resolution_notes": "<string>",
"contest_documents": [
{
"document_id": "2a7e8337-e803-4057-a4ae-26c40eb0bc6c",
"document_type": "business_registration",
"description": "Certificate of incorporation."
}
],
"contest_history": [
{
"notes": "We own the trademark outright; our registration precedes the claimant by three years.",
"submitted_at": "2026-04-22T02:13:06.629473Z",
"document_count": 1
}
],
"dir": {
"id": "42a3f554-7ce3-44c2-bfe9-6e1afe0d7991",
"display_name": "Acme Plumbing",
"enterprise_id": "7eca8226-8081-4e11-abdc-437b5f53a81f"
},
"created_at": "2026-04-22T02:12:55.908411Z",
"updated_at": "2026-04-22T02:12:55.908417Z"
}
}