Volveres

API y documentación para desarrolladores de Silvia

Cómo leer Silvia de forma programática: una API REST pública sin autenticación, la especificación OpenAPI del contrato y la negociación de markdown para agentes.

Recursos legibles por máquina

  • https://getsilvia.com/openapi.json — especificación OpenAPI 3.1 de la API pública.
  • https://getsilvia.com/llms.txt — índice para agentes, con cuándo usar Silvia y cuándo no.
  • https://getsilvia.com/sitemap.xml — páginas indexables.
  • https://getsilvia.com/robots.txt — reglas de rastreo.

API pública

Sólo lectura, sin autenticación y sin claves. Responde JSON, permite CORS desde cualquier origen y acepta hasta 60 solicitudes por minuto por IP.

  • GET /api/v1/status — Estado del servicio y URLs de descubrimiento.
  • GET /api/v1/plans — Planes, precios y qué incluye cada uno.
  • GET /api/v1/features — Funciones del producto.
  • GET /api/v1/faq — Preguntas frecuentes con su respuesta oficial.
curl -s https://getsilvia.com/api/v1/plans

Errores

Todo error de /api/* es JSON con la misma forma: un código estable para ramificar, un mensaje, una pista de qué cambiar y el link a esta página.

{
  "error": {
    "code": "not_found",
    "message": "No existe el endpoint GET /api/nope.",
    "hint": "Consultá la especificación OpenAPI en https://www.getsilvia.com/openapi.json para la lista completa de endpoints.",
    "docs": "https://www.getsilvia.com/docs",
    "status": 404
  }
}

Endpoints con sesión

Los datos de una cuenta no son públicos y no hay forma de consultar la cuenta de un tercero. Estos endpoints aceptan Authorization: Bearer <jwt> —el access token de Supabase— o la cookie de sesión que emite la web.

  • GET /api/me/access — Estado de acceso de la persona autenticada. Requiere sesión.

Markdown por negociación de contenido

Las páginas públicas devuelven markdown cuando se piden con Accept: text/markdown, y HTML cuando no. Las respuestas llevan Vary: Accept para que ningún CDN mezcle las dos representaciones. También sirve agregar .md al final de la URL, que es lo que anuncia el header Link: rel="alternate".

curl -s -H "Accept: text/markdown" https://getsilvia.com/welcome
curl -s https://getsilvia.com/welcome.md

Páginas que negocian markdown: /, /welcome, /funciones, /nosotros, /contacto, /docs, /terminos, /privacidad.

Rutas que no existen

Un path inexistente responde 404 de verdad, no un 200 con la aplicación. Bajo /api/* el 404 viene en JSON; en el resto del sitio, en HTML o en markdown según lo que se haya pedido.

curl -s -o /dev/null -w "%{http_code}\n" https://getsilvia.com/esto-no-existe

Contacto

Dudas sobre la API o un caso de uso que no cubre: soporte@getsilvia.com.

Ver también:

  • Contacto
  • Sobre Silvia