Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/synapse-registration-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: Synapse Admin Federation Registration API
description: Administrative REST API for the Synapse Matrix homeserver. Provides server administrators with endpoints to manage users, rooms, media, federation, registration tokens, background updates, event reports, and server statistics. Authentication requires an access token belonging to a server admin account, passed as a Bearer token. Admin API endpoints should be protected behind a reverse proxy.
version: '1.0'
contact:
name: Element (Synapse maintainers)
url: https://github.com/element-hq/synapse
license:
name: AGPL-3.0
url: https://github.com/element-hq/synapse/blob/develop/LICENSE
servers:
- url: https://matrix.example.com/_synapse/admin
description: Synapse Admin API base URL
security:
- BearerAuth: []
tags:
- name: Registration
description: User registration and tokens
paths:
/v1/registration_tokens:
get:
summary: List Registration Tokens
description: List all registration tokens for controlled user registration
operationId: listRegistrationTokens
tags:
- Registration
parameters:
- name: valid
in: query
schema:
type: boolean
description: Filter by validity
responses:
'200':
description: List of registration tokens
content:
application/json:
schema:
type: object
properties:
registration_tokens:
type: array
items:
$ref: '#/components/schemas/RegistrationToken'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
post:
summary: Create Registration Token
description: Create a new registration token
operationId: createRegistrationToken
tags:
- Registration
requestBody:
content:
application/json:
schema:
type: object
properties:
token:
type: string
description: Custom token string (auto-generated if omitted)
uses_allowed:
type: integer
description: Maximum number of uses (unlimited if null)
expiry_time:
type: integer
description: Token expiry time in milliseconds since epoch
responses:
'200':
description: Registration token created
content:
application/json:
schema:
$ref: '#/components/schemas/RegistrationToken'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
components:
schemas:
Error:
type: object
properties:
errcode:
type: string
description: Matrix error code (e.g. M_FORBIDDEN, M_NOT_FOUND)
error:
type: string
description: Human-readable error description
RegistrationToken:
type: object
properties:
token:
type: string
uses_allowed:
type:
- integer
- 'null'
pending:
type: integer
completed:
type: integer
expiry_time:
type:
- integer
- 'null'
responses:
BadRequest:
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Unauthorized - missing or invalid access token
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: Forbidden - requires server admin access
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: Admin access token obtained from the Synapse homeserver