Automo .well Known API
The .well Known API from Automo — 4 operation(s) for .well known.
The .well Known API from Automo — 4 operation(s) for .well known.
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/automo-build:automo-build-well-known-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: Automo Build .well Known API
version: 1.3.0
description: 'The machine surface of Automo Build, the AI app builder. All capability calls go through the MCP endpoint (Model Context Protocol, Streamable HTTP): tools are discovered live via tools/list after OAuth sign-in. This document describes that endpoint, the OAuth 2.1 authorization server that protects it, and the discovery documents around them. Start at the server card or the protected-resource metadata; the site overview for agents is https://automo.build/llms.txt; agent registration is walked through at https://automo.build/auth.md.
Rate limits: the unauthenticated endpoints answer with RateLimit-Policy, RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (seconds), counted per client IP. MCP tool calls carry the same headers for the connection''s read, write or spawn budget. Past the limit the answer is 429 with Retry-After.
Idempotency: POST /agent/identity accepts an Idempotency-Key header (16 to 255 printable characters, a UUID is ideal). A retry with the same key and body answers about the same registration instead of opening a second one; the same key with a different body is refused with 422.
Versioning and deprecation: the MCP endpoint is versioned by the MCP-Protocol-Version header, whose values are MCP revision dates; every revision listed for it is served from the same URL. info.version follows semantic versioning: additions bump the minor version, breaking changes the major. Before a protocol revision or an operation is removed it is marked deprecated in this document and its responses carry Deprecation (RFC 9745) and Sunset (RFC 8594) headers for at least 90 days.'
contact:
name: Automo Build
url: https://automo.build/contact
email: support@automo.ai
servers:
- url: https://mcp.automo.build
security:
- oauth2:
- workspaces:read
- projects:read
- projects:write
- prompts:write
- sessions:read
- sessions:write
- reviews:read
- reviews:write
- playbooks:read
- playbooks:run
- playbooks:write
- deployments:read
- deployments:write
- chat:read
- billing:write
tags:
- name: .well Known
paths:
/.well-known/oauth-protected-resource/mcp:
get:
operationId: getProtectedResourceMetadata
summary: RFC 9728 protected-resource metadata
description: Names the resource and its authorization server, and lists scopes_supported.
responses:
'200':
description: Protected-resource metadata
content:
application/json:
schema:
type: object
properties:
resource:
type: string
format: uri
resource_name:
type: string
authorization_servers:
type: array
items:
type: string
format: uri
bearer_methods_supported:
type: array
items:
type: string
scopes_supported:
type: array
items:
type: string
required:
- resource
- authorization_servers
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimitPolicy'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
'429':
$ref: '#/components/responses/TooManyRequests'
tags:
- .well Known
/.well-known/oauth-authorization-server:
get:
operationId: getAuthorizationServerMetadata
summary: RFC 8414 authorization-server metadata
responses:
'200':
description: Authorization-server metadata, including the agent_auth registration block
content:
application/json:
schema:
type: object
properties:
issuer:
type: string
format: uri
authorization_endpoint:
type: string
format: uri
token_endpoint:
type: string
format: uri
revocation_endpoint:
type: string
format: uri
jwks_uri:
type: string
format: uri
grant_types_supported:
type: array
items:
type: string
scopes_supported:
type: array
items:
type: string
agent_auth:
type: object
description: Agent registration endpoints (auth.md protocol)
properties:
skill:
type: string
format: uri
identity_endpoint:
type: string
format: uri
claim_endpoint:
type: string
format: uri
events_endpoint:
type: string
format: uri
identity_types_supported:
type: array
items:
type: string
required:
- issuer
- token_endpoint
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimitPolicy'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
'429':
$ref: '#/components/responses/TooManyRequests'
tags:
- .well Known
/.well-known/mcp-server-card.json:
get:
operationId: getServerCard
summary: MCP server card
description: 'Pre-connection discovery: transport, auth, catalog summary and branding.'
responses:
'200':
description: Server card
content:
application/json:
schema:
type: object
properties:
name:
type: string
title:
type: string
description:
type: string
version:
type: string
websiteUrl:
type: string
format: uri
remotes:
type: array
items:
type: object
properties:
type:
type: string
url:
type: string
format: uri
required:
- type
- url
required:
- name
- remotes
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimitPolicy'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
'429':
$ref: '#/components/responses/TooManyRequests'
tags:
- .well Known
/.well-known/jwks.json:
get:
operationId: getJwks
summary: JWKS for access-token verification
responses:
'200':
description: JSON Web Key Set
content:
application/json:
schema:
type: object
properties:
keys:
type: array
items:
type: object
properties:
kty:
type: string
crv:
type: string
kid:
type: string
x:
type: string
y:
type: string
required:
- kty
- kid
required:
- keys
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimitPolicy'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
'429':
$ref: '#/components/responses/TooManyRequests'
tags:
- .well Known
components:
headers:
RateLimitReset:
description: Seconds until the window frees a request
schema:
type: integer
RetryAfter:
description: Seconds to wait before retrying
schema:
type: integer
RateLimitPolicy:
description: The limit and its window, as "<limit>;w=<seconds>"
schema:
type: string
RateLimitLimit:
description: Requests allowed in the current window
schema:
type: integer
RateLimitRemaining:
description: Requests left in the current window
schema:
type: integer
schemas:
OAuthError:
type: object
description: RFC 6749 error body
properties:
error:
type: string
error_description:
type: string
required:
- error
responses:
TooManyRequests:
description: Rate limited; wait Retry-After seconds
headers:
RateLimit-Policy:
$ref: '#/components/headers/RateLimitPolicy'
RateLimit-Limit:
$ref: '#/components/headers/RateLimitLimit'
RateLimit-Remaining:
$ref: '#/components/headers/RateLimitRemaining'
RateLimit-Reset:
$ref: '#/components/headers/RateLimitReset'
Retry-After:
$ref: '#/components/headers/RetryAfter'
content:
application/json:
schema:
$ref: '#/components/schemas/OAuthError'
securitySchemes:
oauth2:
type: oauth2
description: 'Automo Build OAuth 2.1: authorization code with PKCE (S256). Clients register by Client ID Metadata Document (the client_id is an HTTPS URL); there is no dynamic client registration. Tokens are JWTs bound to the resource URL, one hour, with rotating refresh tokens.'
flows:
authorizationCode:
authorizationUrl: https://mcp.automo.build/oauth/authorize
tokenUrl: https://mcp.automo.build/oauth/token
refreshUrl: https://mcp.automo.build/oauth/token
scopes:
workspaces:read: List workspace memberships, whoami, switch the current workspace
projects:read: List and search projects, project status, env var names, screenshots, deployment history
projects:write: Create projects, wake sandboxes, share and clone links
prompts:write: Prompt a project's main agent
sessions:read: Read any agent session the user can read in the app
sessions:write: Open, continue and stop agent sessions (CTO, Doctor, Security, QA, Architect, builder spawns)
reviews:read: 'The sign-off state of builder work: cards, verdicts, fixes, whose move it is'
reviews:write: Promote, ask a reviewer, hand fixes to the builder, approve or cancel a review
playbooks:read: List playbooks and read their runs
playbooks:run: Run a playbook
playbooks:write: Create and edit playbooks
deployments:read: Pending publish, deployment status and history
deployments:write: Propose and approve deployments, publish
chat:read: Read project chat history
billing:write: Put a workspace on the Free plan