# Desarrolladores y agentes — Mexifan

> Mexifan no tiene una API pública de juego. Lo que sí es público, sin cuenta ni llave, es el contenido del sitio en Markdown, el índice llms.txt, el sitemap y una especificación OpenAPI que describe exactamente eso.

Mexifan has no public gameplay API: there are no endpoints to create accounts, lineups or leagues, nor to read user data or player statistics. What is public, with no authentication, is the site's content as Markdown (`Accept: text/markdown` or a `.md` suffix on any public page), `llms.txt`, the sitemap and the OpenAPI document that describes those endpoints: [openapi.json](https://mexifan.app/openapi.json).

## Qué hay y qué no

- **No hay** endpoints para crear cuentas, alineaciones o ligas, ni para leer datos de usuarios, puntajes o estadísticas de jugadores. La web y las apps usan una API privada con sesión; no está documentada ni soportada para terceros.
- **Sí hay**, sin autenticación: cada página pública en Markdown, el índice [llms.txt](https://mexifan.app/llms.txt), el texto completo [llms-full.txt](https://mexifan.app/llms-full.txt), el [sitemap](https://mexifan.app/sitemap.xml) y la especificación [openapi.json](https://mexifan.app/openapi.json).

## Autenticación y límites

Ninguna: no hay llaves ni tokens. No publicamos un límite de peticiones; pedimos uso razonable (una petición por segundo basta para leer todo el sitio) y un `User-Agent` que identifique a tu agente o producto. Las respuestas Markdown llevan `Cache-Control: private, no-store`: guárdalas de tu lado si las vas a consultar seguido.

## Endpoints

| Método y ruta        | Qué devuelve                                                   |
| -------------------- | -------------------------------------------------------------- |
| `GET /`              | La portada. Markdown con `Accept: text/markdown`, HTML si no.  |
| `GET /{pagina}`      | Cómo jugar, reglamento, FAQ, blog, nosotros, contacto, legal.  |
| `GET /{pagina}.md`   | La misma página, siempre en Markdown (`/index.md` es la home). |
| `GET /blog/{slug}`   | Un artículo del blog; los slugs están en `llms.txt`.           |
| `GET /llms.txt`      | Índice corto para agentes, formato llmstxt.org.                |
| `GET /llms-full.txt` | Todas las páginas públicas en un solo Markdown.                |
| `GET /sitemap.xml`   | Sitemap XML.                                                   |
| `GET /openapi.json`  | Esta misma superficie, en OpenAPI 3.1.                         |

La negociación sigue [acceptmarkdown.com](https://acceptmarkdown.com): se ordena `Accept` por q-value y especificidad, se respeta `q=0` y, si ninguna representación encaja, la respuesta es `406` con la lista disponible. Una ruta inexistente responde `404` en Markdown cuando el cliente lo pide así.

## Ejemplos

Reglamento en Markdown, negociando con `Accept`:

```bash
curl -sS -H 'Accept: text/markdown' https://mexifan.app/reglamento
```

La misma página por sufijo, sin cabeceras:

```bash
curl -sS https://mexifan.app/reglamento.md
```

Índice y especificación:

```bash
curl -sS https://mexifan.app/llms.txt
curl -sS https://mexifan.app/openapi.json
```

## Integraciones y alianzas

Si necesitas algo que no está aquí (datos del juego, una integración, una alianza), escríbenos a [info@mexifan.mx](mailto:info@mexifan.mx) con "partnership" en el asunto.

---

Página: https://mexifan.app/desarrolladores
