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/gemot-dev:gemot-dev-try-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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: Gemot Try API
version: 0.13.1
description: 'Gemot exposes structured deliberation for AI agents as seven grouped tools (deliberation, participate, analyze, decide, coordinate, admin, account), reachable over MCP (Streamable HTTP at /mcp), A2A JSON-RPC 2.0 (/a2a), or the REST-ish endpoints documented here. Full tool/action reference: https://gemot.dev/docs (or https://gemot.dev/docs with `Accept: text/markdown`).
**Versioning policy** (formalized in `x-versioning-policy` below, not just here): every response carries a `Gemot-Version` header (date-stamped, e.g. `2026-08-25`) identifying the API contract version — independent of the `info.version` software release above, which bumps on every deploy without necessarily changing the API. There is no URL-path version (/v1/, /v2/): existing endpoints and MCP configs keep working across software releases. A breaking change to a documented endpoint is announced in CHANGELOG.md and the old shape stays live for at least 90 days; during that window the deprecated response carries `Deprecation: true` and a `Sunset` header (RFC 8594) naming the removal date.'
contact:
name: Gemot support
email: justin@gemot.dev
url: https://gemot.dev/contact
license:
name: Apache-2.0
url: https://github.com/justinstimatze/gemot/blob/main/LICENSE
termsOfService: https://gemot.dev/terms
servers:
- url: https://gemot.dev
description: Hosted production
security:
- bearerAuth: []
- oauth2ClientCredentials: []
- {}
tags:
- name: Try
paths:
/try:
get:
operationId: createSandboxDeliberationForm
summary: 'Sandbox creation form (HTML) or, with Accept: application/json, create directly'
description: 'GET with no Accept header returns the HTML creation form. GET with Accept: application/json and a topic query param behaves like POST — creates the sandbox directly and returns its join code.'
security: []
parameters:
- name: topic
in: query
required: false
schema:
type: string
maxLength: 200
responses:
'200':
description: Sandbox form or created-sandbox JSON.
headers:
Gemot-Version:
$ref: '#/components/headers/GemotVersion'
'303':
description: Redirect to the sandbox page (HTML client).
tags:
- Try
post:
operationId: createSandboxDeliberation
summary: Create a zero-auth sandbox deliberation
description: No API key required. Rate-limited to 3 per IP per 24h. Deliberation auto-expires after 48 hours.
security: []
requestBody:
required: false
content:
application/x-www-form-urlencoded:
schema:
type: object
properties:
topic:
type: string
maxLength: 200
responses:
'200':
description: 'Created (JSON, when Accept: application/json).'
headers:
Gemot-Version:
$ref: '#/components/headers/GemotVersion'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
content:
application/json:
schema:
type: object
properties:
deliberation_id:
type: string
join_code:
type: string
join_url:
type: string
expires_at:
type: string
format: date-time
'303':
description: Redirect to the sandbox page (HTML client).
'429':
description: Rate limited.
headers:
Retry-After:
description: Seconds to wait before retrying.
schema:
type: integer
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
tags:
- Try
/try/{code}:
get:
operationId: getSandboxDeliberation
summary: Look up a sandbox deliberation by its join code
description: Renders the sandbox status page for a code returned by POST /try — topic, time remaining, and how to join. Returns 404 once the code expires or is fully used.
security: []
parameters:
- name: code
in: path
required: true
schema:
type: string
responses:
'200':
description: Sandbox status page.
headers:
Gemot-Version:
$ref: '#/components/headers/GemotVersion'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
'404':
description: Invalid or expired code.
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
'429':
description: Rate limited.
headers:
Retry-After:
description: Seconds to wait before retrying.
schema:
type: integer
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
content:
application/json:
schema:
$ref: '#/components/schemas/ApiError'
tags:
- Try
components:
headers:
RateLimitReset:
description: Seconds until the current window resets.
schema:
type: integer
GemotVersion:
description: The API contract version (date-stamped, e.g. 2026-08-25), sent on every response. See x-versioning-policy and info.description.
schema:
type: string
example: '2026-08-25'
RateLimitLimit:
description: Requests allowed per window for this key.
schema:
type: integer
RateLimitRemaining:
description: Requests remaining in the current window.
schema:
type: integer
schemas:
ApiError:
type: object
description: Structured JSON error body returned by every API endpoint on failure.
properties:
error:
type: string
description: Human-readable error message.
code:
type: string
description: Stable machine-readable error code, e.g. rate_limited, invalid_api_key, not_found.
hint:
type: string
description: What to do next to resolve the error.
required:
- error
- code
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: gmt_<key>
description: 'API key issued at /pricing (Stripe checkout) or via /oauth/token. Free sandbox tier does not require a key: 20 paid-action calls per day per source IP.'
oauth2ClientCredentials:
type: oauth2
description: 'Client-credentials facade over the same API key: the key IS the client_secret. See /.well-known/oauth-authorization-server.'
flows:
clientCredentials:
tokenUrl: https://gemot.dev/oauth/token
scopes:
deliberate: Full access to all seven grouped tools, scoped to the underlying API key's own permissions and credit balance.
externalDocs:
description: Full tool reference and deliberation flow
url: https://gemot.dev/docs
x-versioning-policy:
strategy: header
header: Gemot-Version
current: '2026-08-25'
format: date (YYYY-MM-DD)
url_path_versioning: false
url_path_versioning_reason: would break every already-deployed MCP config pointed at /mcp
software_version_is_independent: info.version above tracks the software release and bumps on every deploy; x-versioning-policy.current only advances when a documented endpoint's request/response shape changes.
deprecation_signal:
headers:
- Deprecation
- Sunset
sunset_header_format: RFC 8594 (HTTP-date)
minimum_notice_days: 90
announced_in: https://github.com/justinstimatze/gemot/blob/main/CHANGELOG.md