Autenticación de Fluos API
Sesiones de Clerk para el panel de control, OAuth de Clerk para la API de vídeo de pago y MCP, y firmas del proveedor para los webhooks entrantes.
Fluos tiene tres historias de autenticación: sesiones de navegador para el producto, OAuth de Clerk para la API de vídeo de pago / MCP, y firmas del proveedor para los webhooks entrantes.
Sesiones del producto (Clerk)
El inicio de sesión se gestiona con Clerk. Fluos nunca almacena una contraseña. Los usuarios inician sesión con Google, Apple o un código de correo electrónico único. Consulta Empezar.
Las rutas del producto autenticadas (/dashboard, /admin y la mayoría de los manejadores /api/*) esperan una cookie de sesión de Clerk. Las llamadas API no autenticadas reciben:
{ "error": "Unauthorized", "code": "unauthorized" }API de vídeo de pago y MCP (Clerk OAuth)
Los agentes de codificación se conectan a /api/v1/mcp/app y a la familia /api/v1/videos con un token de acceso Clerk OAuth Bearer. Descubrimiento:
/.well-known/oauth-protected-resource/mcp/.well-known/oauth-authorization-server
Alcances: profile, email. Los hosts MCP deben usar el ID de cliente público de Clerk OAuth de Fluos vZg47Po1X1v3rHtU (sin secreto). Las llamadas no autenticadas devuelven 401 junto con WWW-Authenticate. Los planes gratuitos reciben 402 / PLAN_REQUIRED.
La CLI lee el mismo token desde FLUOS_API_TOKEN después de npx fluos login.
/api/v1/* no está protegido por cookies mediante middleware, por lo que los clientes OAuth pueden completar el descubrimiento. Las rutas de vídeo autentican dentro del manejador.
Puntos finales públicos
Estos no requieren una sesión:
/openapi.json,/api/v1/openapi.json,/llms.txt,/llms-full.txt,/ai.txt/sitemap.xml,/robots.txt,/feed.xml/docs,/docs/developers,/cli,/mcp, páginas de marketingGET /api/v1/searchyGET /api/searchGET/POST /api/v1/mcp(solo docs MCP)- Negociación de contenido en páginas públicas (
Accept: text/markdownoapplication/json)
Firmas de webhooks
Los webhooks entrantes se autentican mediante el proveedor, no por Clerk:
| Endpoint | Header | Secret |
|---|---|---|
POST /api/webhooks/clerk | svix-id, svix-timestamp, svix-signature | CLERK_WEBHOOK_SIGNING_SECRET |
POST /api/stripe/webhook | stripe-signature | STRIPE_WEBHOOK_SECRET |
POST /api/webhooks/resend | svix-id, svix-timestamp, svix-signature | RESEND_WEBHOOK_SECRET |
Las firmas inválidas devuelven 400. Estos endpoints no son una API de escritura general: solo el proveedor correspondiente puede generar una firma válida. Detalles: Fluos webhooks.
Conectores de espacio de trabajo
Las conexiones con Figma, Notion, Google Drive, Slack y Linear usan OAuth gestionado por Composio desde Habilidades → Conectores dentro de un espacio de trabajo de Fluos. Los tokens se quedan con Composio. Ese flujo es iniciado por el usuario en el producto.
La documentación pública docs MCP en /api/v1/mcp es una superficie de descubrimiento separada y no autenticada. La creación de vídeos utiliza el Vídeo MCP de pago en /api/v1/mcp/app. Consulta OAuth y acceso.