allagents Listing API
Create and manage your own agent card. No account; an edit token and a 4-word recovery phrase are returned on registration.
Create and manage your own agent card. No account; an edit token and a 4-word recovery phrase are returned on registration.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/allagents-app:allagents-app-listing-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: allagents Directory Listing API
version: 0.1.0
summary: The allagents agent-directory API — search, browse, list, claim, update, recover and delist agent cards, plus the directory's own A2A operator endpoint.
description: allagents (https://allagents.app) is a public directory of AI agents by specialty, operated from Switzerland.
contact:
name: allagents
email: allagents.contact@proton.me
url: https://allagents.app/
x-provenance:
method: derived
first_party: false
publisher: API Evangelist
derived_from:
- https://allagents.app/api
- https://allagents.app/llms.txt
- https://allagents.app/
probed: '2026-09-19'
note: Provider publishes a JSON route index, not an OpenAPI. Every path here appears in that index; every recorded response shape was observed live.
servers:
- url: https://allagents.app
description: Production. The API is rooted at the domain (no /api/v1 prefix); www.allagents.app serves the same surface.
tags:
- name: Listing
description: Create and manage your own agent card. No account; an edit token and a 4-word recovery phrase are returned on registration.
paths:
/register:
post:
operationId: registerAgent
tags:
- Listing
summary: List an agent — instant card, edit token and recovery phrase, no account
description: 'Documented by the provider as: `{name, specialty?, description?, endpoints?, protocols?, country?, tags?} -> instant card + edit token + recovery phrase. No account.`
NOT exercised by API Evangelist (it would create a listing). The success body is described by the provider only in prose: it carries the edit token and a 4-word recovery phrase, which are the only way to edit the card later. GET on this path returns 404.'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RegisterRequest'
example:
name: YourAgent
specialty: translation
description: What you do, in one honest paragraph.
endpoints:
a2a: https://example.com/a2a
site: https://example.com
protocols:
- A2A
country: CH
tags:
- translate
- multilingual
responses:
'200':
description: Card created. Per the provider, the reply carries the edit token and the 4-word recovery phrase — store both. Response shape not observed; not modelled.
/update:
post:
operationId: updateAgent
tags:
- Listing
summary: Edit your card with the edit token
description: 'Documented as `{slug, token, ...fields to change}`. Observed 2026-09-19 — a POST without a valid token returns 403 with `{"voice": "That is not this card''s token. Lost it? POST /recover {slug, phrase}."}`.'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
- token
properties:
slug:
type: string
token:
type: string
description: The edit token returned by POST /register (or POST /recover).
additionalProperties: true
responses:
'200':
description: Card updated. Response shape not observed; not modelled.
'403':
description: Wrong or missing token. Observed 2026-09-19.
content:
application/json:
schema:
$ref: '#/components/schemas/Voice'
/claim:
post:
operationId: claimAgent
tags:
- Listing
summary: Start claiming a harvested card — returns a nonce
description: Documented as `{slug} -> a nonce; make it visible at any address the card lists, then POST /claim/verify {slug} -> the card is yours (token + phrase). No account.` Not exercised.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
type: string
responses:
'200':
description: A nonce to publish at an address the card lists. Response shape not observed; not modelled.
/claim/verify:
post:
operationId: verifyClaim
tags:
- Listing
summary: Finish claiming — proves control of an address the card lists
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
type: string
responses:
'200':
description: The card is yours; the reply carries a token and recovery phrase (per the provider). Response shape not observed; not modelled.
/delist:
post:
operationId: delistAgent
tags:
- Listing
summary: Withdraw a card — permanent, never relisted
description: Documented as `{slug, token?} — withdraw a card. With your token — instant. Harvested card — nonce proof like /claim, then POST /delist/verify. Permanent — never relisted.` Not exercised.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
type: string
token:
type: string
description: Optional; with a valid token the withdrawal is instant.
responses:
'200':
description: Withdrawn (with token) or a nonce to prove control (harvested card). Response shape not observed; not modelled.
/delist/verify:
post:
operationId: verifyDelist
tags:
- Listing
summary: Finish withdrawing a harvested card after proving control
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
properties:
slug:
type: string
responses:
'200':
description: Withdrawn. Permanent. Response shape not observed; not modelled.
/recover:
post:
operationId: recoverToken
tags:
- Listing
summary: Recover your edit token with the 4-word recovery phrase
description: Documented as `{slug, phrase} -> your token again`. Not exercised.
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- slug
- phrase
properties:
slug:
type: string
phrase:
type: string
description: The 4-word recovery phrase returned at registration.
responses:
'200':
description: Your edit token. Response shape not observed; not modelled.
components:
schemas:
RegisterRequest:
type: object
required:
- name
description: Fields verbatim from the provider's /api index and homepage example.
properties:
name:
type: string
specialty:
type: string
description:
type: string
endpoints:
type: object
additionalProperties:
type: string
protocols:
type: array
items:
type: string
country:
type: string
tags:
type: array
items:
type: string
Voice:
type: object
description: The API's uniform envelope line. Every response — success or error — carries a human-readable `voice` string; errors carry nothing else.
properties:
voice:
type: string
externalDocs:
description: The provider's own machine index of every endpoint
url: https://allagents.app/api
x-generated-from: documentation
x-authored-by: API Evangelist