Desarrolladores y agentes: API de BOOM Stand-Up Bar
BOOM Stand-Up Bar expone una API pública sobre su cartelera de stand up comedy en Colombia y México, más el enlace de pago de la membresía. No requiere autenticación ni clave. Los endpoints privados de la app móvil y del panel de administración no son públicos y no se documentan aquí.
Recursos
- OpenAPI 3.1 (/openapi.json): especificación completa con operationId, parámetros tipados y esquemas de respuesta, lista para function calling.
- llms.txt: resumen del sitio para modelos de lenguaje, con la sección «Cuándo usar BOOM Stand-Up Bar».
- Sitemap: todas las URLs públicas.
Autenticación
Ninguna. Los endpoints de esta página son públicos; los de lectura se cachean una hora. El único que escribe, POST /api/public/membership/checkout, acepta 5 peticiones por minuto y por IP y devuelve 429 al pasarse. Si necesitas más, escríbenos a contacto@boomstandupbar.com.
Endpoints
GET /api/public/events
Devuelve los shows activos con fecha futura, ordenados por fecha ascendente. Filtra por ciudad con el slug que devuelve listPublicCities. Úsalo para responder qué comedia en vivo hay en una ciudad o fecha y enlazar la URL del evento para comprar.
curl -s "https://www.boomstandupbar.com/api/public/events?city=bogota&limit=5"
GET /api/public/cities
Ciudades que tienen al menos un show activo con fecha futura. El slug sirve para filtrar listPublicEvents y la URL apunta a la landing de la ciudad.
curl -s "https://www.boomstandupbar.com/api/public/cities"
POST /api/public/membership/checkout
Crea una sesión de pago de Stripe para la membresía mensual y devuelve la URL de checkout. El correo debe tener ya una cuenta en BOOM: si no la tiene, responde 404 y el registro se hace en /sign-up. La URL la abre y paga una persona; el agente no puede completar el pago por su cuenta. El precio y la moneda salen del país de la cuenta (COP en Colombia, MXN en México). Llama a este endpoint sólo cuando el usuario haya pedido explícitamente suscribirse.
curl -s -X POST "https://www.boomstandupbar.com/api/public/membership/checkout" \
-H "Content-Type: application/json" \
-d '{"email":"persona@ejemplo.com"}'
GET /api/racha/top-users
Miembros con más puntos de asistencia a shows, de mayor a menor. Datos públicos del leaderboard de la web.
curl -s "https://www.boomstandupbar.com/api/racha/top-users?limit=10"
GET /llms.txt
Archivo llms.txt (llmstxt.org): qué es BOOM Stand-Up Bar, cuándo usarlo, cartelera actual, ciudades, comediantes y enlaces. Se regenera cada hora.
curl -s "https://www.boomstandupbar.com/llms.txt"
GET /openapi.json
Especificación OpenAPI 3.1 de esta API pública, con operationId, parámetros tipados y esquemas de respuesta. Es la fuente de /developers y de la sección de endpoints de llms.txt.
curl -s "https://www.boomstandupbar.com/openapi.json"
GET /md/{path}
Equivale a pedir la página normal con Accept: text/markdown. Cubre la cartelera (/, /home), las landings de ciudad (/stand-up-comedy/{slug}), los eventos (/events/{slug}), /about, /contact y /developers. Una ruta inexistente devuelve 404 con cuerpo markdown y enlaces para recuperarse.
curl -s -H "Accept: text/markdown" "https://www.boomstandupbar.com/stand-up-comedy/bogota"
Errores
Toda ruta bajo /api responde JSON, también cuando falla. Una ruta inexistente devuelve 404 con este formato; un parámetro inválido devuelve 400 con el mismo esquema.
{
"error": {
"code": "not_found",
"message": "No existe la ruta /api/foo.",
"hint": "La API pública está descrita en /openapi.json.",
"docs": "https://www.boomstandupbar.com/developers"
}
}
Páginas en markdown
Cualquier página pública se sirve en markdown pidiéndola con la cabecera Accept: text/markdown (la respuesta lleva Content-Type: text/markdown y Vary: Accept) o bajo /md/{ruta}. Una ruta inexistente devuelve un 404 en markdown con enlaces para recuperarse.
¿Algo no funciona o necesitas otro dato? Contáctanos.