---
title: "Claim a listing via agent Bearer token"
method: POST
path: "/api/v1/agent/claim"
---

# Claim a listing via agent Bearer token

`POST /api/v1/agent/claim`

## Request

- Base URL: `https://allmcps.com`
- URL: `https://allmcps.com/api/v1/agent/claim`
- Auth: OAuth 2 (client credentials, token URL `https://allmcps.com/api/v1/agent/register/confirm`, scopes: `listings:claim`)

Claim an existing MCP server listing using DNS TXT, site badge, or GitHub README ownership proof. Requires the `listings:claim` scope.

## Request body

- object
  - `id` string, required
  - `method` 'dns' | 'website_badge' | 'github'
  - `websiteUrl` string, uri

## Response `200`

Ownership proof verified; claim approved.

- object
  - `success` boolean
  - `pending` false
  - `isOfficial` true
  - `reciprocalBadgeOk` boolean: true if a reciprocal AllMCPs badge was detected on the repo README or the website. Website-link dofollow is granted specifically when the badge is on the website (verified separately from the README badge).
  - `message` string

## Other responses

- `400`: Invalid payload or failed ownership verification.
- `401`: Missing or invalid Bearer token.
- `403`: Token is valid but lacks the required `listings:claim` scope.
- `404`: Listing not found.

---

[API](https://skmtc.dev/allmcps/apis/allmcps-directory-api.md) · [All operations](https://skmtc.dev/allmcps/apis/allmcps-directory-api/llms.txt) · [OpenAPI document](https://skmtc.dev/allmcps/apis/allmcps-directory-api/revisions/0a42338f0f1e?raw)
