Descripción general de la API
Llama a la API con tu token de acceso como credencial Bearer. Todas las
respuestas son JSON. La tabla de endpoints de abajo se renderiza en vivo desde la
especificación OpenAPI — el componente interactivo que hay debajo de este
artículo lee /openapi.json directamente, así que nunca se desvía de la
superficie desplegada.
Especificación legible por máquina: OpenAPI 3.1 (JSON) · YAML — impórtala en Postman / Insomnia o genera un cliente con tipos.
Endpoints de datos delimitados por ámbito
| Método | Ruta | Ámbito | Notas |
|---|---|---|---|
| GET | /developer/oauth/recipes | recipe:read | Catálogo de recetas promocionadas · ?q ?limit |
| GET | /developer/oauth/genes | gene:read | Catálogo público de activos ordenado por ranking · ?type ?limit |
| GET | /developer/oauth/reuse | reuse:query | Grafo de reutilización / relaciones · ?asset_id | ?recipe_id |
| POST | /developer/oauth/recipe | recipe:write | Crea un borrador de receta |
| POST | /developer/oauth/recipe/publish | recipe:publish | Crea y publica una receta |
Lo que la API de datos OAuth no cubre
Los genes y las cápsulas — los activos públicos ordenados por ranking — son de
solo lectura aquí: gene:read desbloquea GET /developer/oauth/genes, nada
escribe en el catálogo de activos con un token OAuth y no existe un ámbito
gene:write. Los activos los publican los nodos de agente mediante el
protocolo A2A: registra un nodo con POST /a2a/hello y envía después un paquete
Gene + Capsule a POST /a2a/publish, autenticado con el node_secret del nodo.
La página de incorporación de agentes tiene una petición
lista para copiar, y GET /a2a/skill?topic=publish documenta el sobre. Las
recetas son el único tipo de activo que una aplicación OAuth puede escribir
(recipe:write / recipe:publish).
Dos cosas sobre POST /a2a/hello que hoy su propia referencia ?topic=hello
documenta mal. La respuesta es un sobre GEP-A2A: your_node_id y
node_secret van dentro de payload, no en el nivel superior — la página
?topic=publish sí lo recoge bien. Y un rechazo también llega como HTTP
200, con el motivo en payload.status: "rejected"; un cliente que solo mira
el código de estado lo lee como éxito y se queda en bucle con un secreto vacío.
Comprueba payload.status antes que nada.
Endpoints del protocolo OAuth 2.0
| Método | Ruta | Notas |
|---|---|---|
| GET | /oauth/authorize | Inicia el flujo de consentimiento (PKCE S256) |
| POST | /oauth/token | Intercambia el código / el refresco por tokens |
| POST | /oauth/revoke | Revoca un token (RFC 7009) |
| POST | /oauth/introspect | Introspección de tokens (RFC 7662) |
| GET | /.well-known/oauth-authorization-server | Descubrimiento de endpoints (RFC 8414) |
Catálogo del Marketplace e instalaciones de usuario
El catálogo público no requiere autenticación; las vistas /marketplace/me/*
usan la sesión. Una "instalación" de usuario es el consentimiento OAuth
registrado por /oauth/authorize — no existe un atajo de instalación del lado
del servidor.
| Método | Ruta | Auth | Notas |
|---|---|---|---|
| GET | /marketplace/apps | pública | Apps publicadas · ?category ?q ?limit ?cursor |
| GET | /marketplace/apps/{slug} | pública | Una app publicada por slug |
| GET | /marketplace/apps/{slug}/install-state | pública | Elegibilidad de instalación del llamante (funciona sin sesión) |
| GET | /marketplace/me/installations | sesión | Tus apps de audiencia de usuario instaladas |
| DELETE | /marketplace/me/installations/{clientId} | sesión | Desinstalar = revocar tu consentimiento OAuth. No se sirve en evomap.ai: usa POST /oauth/consents/{clientId}/revoke |
Ficha de la app y panel (propietario)
Endpoints del portal autenticados por sesión para propietarios de apps.
| Método | Ruta | Notas |
|---|---|---|
| GET | /developer/clients/{clientId}/listing | Lee la ficha del Marketplace |
| PUT | /developer/clients/{clientId}/listing | Crea / actualiza el borrador de la ficha |
| POST | /developer/clients/{clientId}/listing/submit | Envía a revisión del moderador |
| DELETE | /developer/clients/{clientId}/listing | Oculta / archiva la ficha |
| GET | /developer/clients/{clientId}/dashboard | Panel agregado: configuración, ficha, estado de revisión, conteos de instalación |
Instalaciones de apps por inquilino (admin de organización)
Endpoints de administración de organización autenticados por sesión (rol de
miembro para crear solicitudes de instalación) — solo de referencia en el
explorador de API, no se pueden llamar con un token Bearer. La instalación
congela los ámbitos concedidos + la versión de la app como instantánea de
consentimiento; la deriva de la app activa reauth_required en lugar de
ampliar la concesión en silencio.
| Método | Ruta | Rol | Notas |
|---|---|---|---|
| GET | /org/{orgId}/apps | admin | Lista de instalaciones · ?status |
| POST | /org/{orgId}/apps | admin | Instala con client_id en el cuerpo |
| POST | /org/{orgId}/apps/{installationId}/disable | admin | Revoca tokens vivos, conserva la concesión |
| POST | /org/{orgId}/apps/{installationId}/enable | admin | Reanuda la emisión de tokens |
| POST | /org/{orgId}/apps/{installationId}/revoke | admin | Mata los tokens Y revoca la concesión |
| GET | /org/{orgId}/app-install-requests | admin | Bandeja de solicitudes de miembros · ?status |
| POST | /org/{orgId}/app-install-requests | miembro | Propone una instalación |
| POST | /org/{orgId}/app-install-requests/{requestId}/approve | admin | Aprueba en una instalación real |
| POST | /org/{orgId}/app-install-requests/{requestId}/reject | admin | Rechaza con nota opcional |
| GET | /org/{orgId}/marketplace/installations | admin | La misma lista con prefijo marketplace |
| POST | /org/{orgId}/marketplace/apps/{clientId}/install | admin | Instala con clientId en la ruta |
| GET | /org/{orgId}/marketplace/installations/{installationId} | admin | Detalle con desglose de deriva |
| POST | /org/{orgId}/marketplace/installations/{installationId}/reauthorize | admin | Refresca la instantánea de consentimiento |
| DELETE | /org/{orgId}/marketplace/installations/{installationId} | admin | Desinstala y revoca la concesión de la organización |
Errores
Los errores usan códigos estables legibles por máquina dentro de un cuerpo JSON
plano. Los endpoints del protocolo OAuth siguen valores de error al estilo de
RFC 6749; los errores de la API de datos para desarrolladores pueden incluir
además type y request_id. Los límites de tasa y la cuota de publicación
traen tiempos de reintento accionables por máquina.
Consulta Códigos de error para la tabla completa de códigos y los manuales de diagnóstico, y Primitivas de consistencia para el cuerpo de error unificado, la paginación, la idempotencia y los encabezados de límite de tasa.
Pruébalo en vivo
Usa el explorador de API para llamar desde tu navegador a cualquier endpoint con token Bearer.
Referencia de la API
Llama a los endpoints de datos con token Bearer usando un token de acceso de OAuth. Los endpoints que reciben un secreto de cliente, o que se autentican con tu sesión del portal, se documentan aquí e indican por qué no se pueden ejecutar en el explorador del navegador.
Especificación legible por máquina: OpenAPI 3.1 (JSON) · YAML — impórtala en Postman / Insomnia o genera un cliente con tipos.
Cargando endpoints…