Desarrolladores
Portal de desarrolladores
APIs públicas del sitio de Comunidad App para agentes de IA e integradores: contacto, MCP y documentos de discovery. El panel gestor (gestor.comunidadapp.es) es una aplicación autenticada aparte y no forma parte de esta superficie.
Quickstart
Registra un cliente OAuth, pide un token con el mínimo scope necesario y llama a la API.
- Registra un cliente:
POST https://comunidadapp.es/oauth/register { "client_name": "My agent", "grant_types": ["client_credentials"], "token_endpoint_auth_method": "client_secret_basic", "scope": "contact:write docs:read" } - Pide un access token:
curl -sS https://comunidadapp.es/oauth/token \ -u "$CLIENT_ID:$CLIENT_SECRET" \ -d grant_type=client_credentials \ -d scope=contact:write - Llama a la API de contacto:
curl -sS https://comunidadapp.es/api/contact \ -H "Authorization: Bearer $ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{"name":"Ana","email":"ana@example.com","message":"Demo panel gestor","privacy":true,"locale":"es"}'
Especificación OpenAPI
La especificación OpenAPI 3.1 describe endpoints, esquemas de seguridad y scopes. Úsala para generar clientes o para que un agente comprenda la API automáticamente.
Autenticación OAuth 2.0
El servidor de autorización publica metadatos RFC 8414. Los agentes pueden auto-registrarse (RFC 7591) y obtener tokens con client_credentials o authorization_code + PKCE S256.
-
/.well-known/oauth-authorization-server -
/.well-known/oauth-protected-resource POST /oauth/registerPOST /oauth/tokenGET /oauth/authorize(PKCE S256)POST /oauth/revoke
Permisos (scopes)
Pide solo el scope que necesitas. Los scopes están declarados en OpenAPI (securitySchemes) y en RFC 9728 (scopes_supported).
| Scope | Descripción |
|---|---|
docs:read | Leer documentación pública, precios y documentos de discovery. |
contact:write | Enviar una consulta de contacto al equipo de Comunidad App. |
mcp:invoke | Invocar herramientas del servidor MCP de Comunidad App. |
Credenciales / API keys
No hay un dashboard de API keys. El registro dinámico de clientes emite client_id y client_secret, que son las credenciales de máquina. Guarda el secret; no se puede volver a consultar.
Sandbox
El host de staging replica las mismas rutas de API, OpenAPI y OAuth. Úsalo para pruebas de agentes sin afectar el tráfico de producción.
MCP
El servidor MCP expone la herramienta contact_comunidadapp y una UI MCP App del formulario. La autenticación es opcional; si envías un Bearer token, usa el scope mcp:invoke.
Rate limits
Los POST públicos están limitados por IP. Un 429 incluye Retry-After y cabeceras RateLimit-*. Esto no sustituye la protección perimetral (firewall / Cloudflare) frente a un DDoS volumétrico.
| Endpoint | Limit |
|---|---|
POST /oauth/register | 10 / hour / IP |
POST /oauth/token | 30 / minute / IP |
GET|POST /oauth/authorize | 30 / minute / IP |
POST /api/contact | 8 / hour / IP |
POST /mcp | 60 / minute / IP |
Endpoints
- OpenAPI JSON —
/openapi.json - OpenAPI YAML —
/api/openapi.yaml - RFC 8414 authorization server —
/.well-known/oauth-authorization-server - RFC 9728 protected resource —
/.well-known/oauth-protected-resource - MCP endpoint —
/mcp - MCP server card —
/.well-known/mcp/server-card.json - Sandbox —
https://new.comunidadapp.es