Skip to main content
POST
/
api
/
registry
/
catalog
/
disputes
Dispute a catalog fact
curl --request POST \
  --url https://agenticadvertising.org/api/registry/catalog/disputes \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "subject_type": "identifier",
  "subject_value": "com.example.app",
  "claim": "<string>",
  "evidence": "<string>"
}
'
{
  "dispute_id": "<string>",
  "reason": "<string>"
}

Authorizations

Authorization
string
header
required

Bearer token in the Authorization header. Two token types are accepted:

  • Organization API key (sk_...) issued via the dashboard. Org-scoped, long-lived, for server-to-server use.
  • User JWT obtained via the OAuth 2.1 authorization code flow with PKCE. User-scoped, short-lived. Discover the authorization server at /.well-known/oauth-authorization-server and the protected-resource metadata at /.well-known/oauth-protected-resource/api.

Body

application/json
dispute_type
enum<string>
required
Available options:
identifier_link,
classification,
property_data,
false_merge
subject_type
string
required

What is being disputed — e.g. identifier or property_rid.

Example:

"identifier"

subject_value
string
required
Example:

"com.example.app"

claim
string
required

The dispute claim (10–2000 chars).

Required string length: 10 - 2000
evidence
string

Optional supporting evidence (≤5000 chars).

Maximum string length: 5000

Response

Dispute filed and triaged

dispute_id
string
required
action_taken
enum<string>
required

What filing the dispute did: a medium/weak link is suspended immediately; otherwise the dispute is queued or escalated for review.

Available options:
link_suspended,
queued_for_review,
escalated
reason
string
required