API y widgets para desarrolladores

El contrato legible por máquinas enumera solo rutas admitidas. Phoenix conserva la autoridad sobre identidad, permisos, jugadas, relojes y resultados.

Referencia API

Busca operaciones admitidas de datos públicos, Bot API y Board API. Descarga el mismo contrato OpenAPI 3.1 que alimenta esta página.

Autenticación

Las lecturas públicas no requieren cuenta. Las operaciones protegidas usan Authorization: Bearer nmc_pat_* con bot:play o board:play. Nunca pongas un token en una URL ni lo compartas.

Datos públicos

  • GET /api/bot/online Público
    Bots conectados en NDJSON

    Flujo acotado de cuentas BOT con una conexión API activa; no expone secretos.

  • GET /api/bot/directory Público
    Directorio de bots conectados

    Adaptador JSON acotado sobre la misma instantánea pública de bots conectados.

  • GET /api/profiles/search Público
    Buscar perfiles públicos

    Busca perfiles públicos por nombre de usuario dentro del límite del servicio.

  • GET /api/profiles/country-presence Público
    Presencia por país

    Devuelve conteos públicos acotados por código de país.

  • GET /api/profiles/{username} Público
    Consultar perfil público

    Devuelve la representación pública de una cuenta sin datos privados.

  • GET /api/profiles/{username}/mini Público
    Consultar perfil compacto

    Devuelve la identidad pública mínima para vistas compactas.

  • GET /api/profiles/{username}/rating-history/{time_control} Público
    Historial de rating

    Devuelve una serie acotada para un ritmo de juego válido.

  • GET /api/profiles/{username}/rating-distribution/{time_control} Público
    Distribución de rating

    Devuelve la distribución pública del ritmo solicitado.

  • GET /api/profiles/{username}/perf/{time_control} Público
    Rendimiento por ritmo

    Devuelve estadísticas públicas de rendimiento para un ritmo válido.

  • GET /api/profiles/{username}/activity Público
    Actividad pública

    Devuelve la actividad pública visible de la cuenta.

  • GET /api/profiles/{username}/games Público
    Partidas públicas

    Lista únicamente partidas públicas con paginación y filtros acotados.

  • GET /api/profiles/{username}/games/export.pgn Público
    Exportar partidas públicas

    Descarga un conjunto acotado de partidas públicas en PGN.

  • GET /api/fide/players Público
    Buscar jugadores FIDE

    Lista una instantánea oficial, paginada y trazable del directorio FIDE.

  • GET /api/fide/players/{id} Público
    Consultar jugador FIDE

    Devuelve identidad, ratings, historial mensual y fuente oficial sin datos privados.

  • GET /api/fide/federations Público
    Listar federaciones FIDE

    Lista federaciones con jugadores activos y promedios de sus diez mejores ratings.

  • GET /api/fide/federations/{code} Público
    Consultar federación FIDE

    Devuelve estadísticas de la federación y sus jugadores paginados.

Bot

  • POST /api/bot/account/upgrade bot:play
    Convertir cuenta en BOT

    Conversión irreversible para una cuenta humana activa, sin partidas ni privilegios de plataforma.

  • GET /api/bot/status bot:play
    Comprobar cuenta BOT

    Confirma la identidad, el permiso aceptado y las capacidades disponibles.

  • GET /api/bot/game/{id} bot:play
    Consultar partida propia

    Devuelve el estado autoritativo de una partida jugada por este BOT.

  • GET /api/bot/game/{id}/stream bot:play
    Seguir partida en vivo

    Abre un flujo NDJSON con el estado inicial, jugadas, cambios y keep-alives.

  • POST /api/bot/game/{id}/move/{uci} bot:play
    Jugar una jugada

    Envía una intención UCI; el backend valida turno, legalidad, reloj y estado antes de persistirla.

  • POST /api/bot/game/{id}/abort bot:play
    Abortar partida

    Aborta una partida propia únicamente mientras la regla autoritativa lo permita.

  • POST /api/bot/game/{id}/resign bot:play
    Rendirse

    Registra la rendición del jugador autenticado en una partida activa.

  • POST /api/bot/game/{id}/draw/{accept} bot:play
    Gestionar tablas

    Ofrece, acepta, rechaza o cancela tablas mediante el valor booleano indicado.

  • POST /api/bot/game/{id}/takeback/{accept} bot:play
    Gestionar devolución

    Ofrece, acepta, rechaza o cancela una devolución de jugada cuando la partida lo permite.

  • GET /api/bot/game/{id}/chat bot:play
    Leer chat de partida

    Devuelve únicamente el chat reciente autorizado para el participante.

  • POST /api/bot/game/{id}/chat bot:play
    Enviar chat de partida

    Publica un mensaje moderado, limitado y asociado al participante autenticado.

  • POST /api/bot/game/{id}/claim-draw bot:play
    Reclamar tablas

    Solicita al backend resolver una reclamación válida de tablas.

  • POST /api/bot/game/{id}/claim-victory bot:play
    Reclamar victoria

    Solicita al backend resolver una victoria reclamable por desconexión.

  • GET /api/bot/challenges bot:play
    Listar retos propios

    Lista únicamente retos entrantes y salientes del titular del token.

  • POST /api/bot/challenges bot:play
    Crear reto

    Crea un reto compatible con BOT; el backend decide permisos y modalidad.

  • POST /api/bot/challenges/{id}/accept bot:play
    Aceptar reto

    Acepta un reto entrante compatible y crea la partida autoritativa.

  • POST /api/bot/challenges/{id}/decline bot:play
    Rechazar reto

    Rechaza un reto entrante que pertenece al titular del token.

  • DELETE /api/bot/challenges/{id} bot:play
    Cancelar reto

    Cancela un reto saliente que pertenece al titular del token.

Tablero externo

  • GET /api/board/status board:play
    Comprobar cuenta tablero externo

    Confirma la identidad, el permiso aceptado y las capacidades disponibles.

  • GET /api/board/game/{id} board:play
    Consultar partida propia

    Devuelve el estado autoritativo de una partida jugada por este tablero externo.

  • GET /api/board/game/{id}/stream board:play
    Seguir partida en vivo

    Abre un flujo NDJSON con el estado inicial, jugadas, cambios y keep-alives.

  • POST /api/board/game/{id}/move/{uci} board:play
    Jugar una jugada

    Envía una intención UCI; el backend valida turno, legalidad, reloj y estado antes de persistirla.

  • POST /api/board/game/{id}/abort board:play
    Abortar partida

    Aborta una partida propia únicamente mientras la regla autoritativa lo permita.

  • POST /api/board/game/{id}/resign board:play
    Rendirse

    Registra la rendición del jugador autenticado en una partida activa.

  • POST /api/board/game/{id}/draw/{accept} board:play
    Gestionar tablas

    Ofrece, acepta, rechaza o cancela tablas mediante el valor booleano indicado.

  • POST /api/board/game/{id}/takeback/{accept} board:play
    Gestionar devolución

    Ofrece, acepta, rechaza o cancela una devolución de jugada cuando la partida lo permite.

  • GET /api/board/game/{id}/chat board:play
    Leer chat de partida

    Devuelve únicamente el chat reciente autorizado para el participante.

  • POST /api/board/game/{id}/chat board:play
    Enviar chat de partida

    Publica un mensaje moderado, limitado y asociado al participante autenticado.

  • POST /api/board/game/{id}/claim-draw board:play
    Reclamar tablas

    Solicita al backend resolver una reclamación válida de tablas.

  • POST /api/board/game/{id}/claim-victory board:play
    Reclamar victoria

    Solicita al backend resolver una victoria reclamable por desconexión.

  • GET /api/board/challenges board:play
    Listar retos propios

    Lista únicamente retos entrantes y salientes del titular del token.

  • POST /api/board/challenges board:play
    Crear reto

    Crea un reto compatible con tablero externo; el backend decide permisos y modalidad.

  • POST /api/board/challenges/{id}/accept board:play
    Aceptar reto

    Acepta un reto entrante compatible y crea la partida autoritativa.

  • POST /api/board/challenges/{id}/decline board:play
    Rechazar reto

    Rechaza un reto entrante que pertenece al titular del token.

  • DELETE /api/board/challenges/{id} board:play
    Cancelar reto

    Cancela un reto saliente que pertenece al titular del token.

Widgets para insertar

TV de ajedrez

Muestra la partida pública seleccionada y la sigue en vivo.

/tv/frame
<iframe src="https://www.nomanchess.com/tv/frame" title="TV de ajedrez" width="100%" height="640" loading="lazy" allowfullscreen></iframe>

Problema del día

Ofrece el mismo problema público del día en un tablero interactivo.

/training/frame
<iframe src="https://www.nomanchess.com/training/frame" title="Problema del día" width="100%" height="560" loading="lazy" allowfullscreen></iframe>

Partida pública

Reproduce una partida pública mediante su código público inmutable.

/embed/game/{codigo}
<iframe src="https://www.nomanchess.com/embed/game/{codigo}" title="Partida pública" width="100%" height="560" loading="lazy" allowfullscreen></iframe>

Repetición de análisis compartido

Reproduce un enlace de análisis compartido vigente sin exponer análisis privados.

/embed/shared-analysis/{id}
<iframe src="https://www.nomanchess.com/embed/shared-analysis/{id}" title="Repetición de análisis compartido" width="100%" height="560" loading="lazy" allowfullscreen></iframe>

Tablero de análisis

Ofrece el tablero libre, explorador de aperturas, tablas de finales y Stockfish en el navegador.

/embed/analysis
<iframe src="https://www.nomanchess.com/embed/analysis" title="Tablero de análisis" width="100%" height="720" loading="lazy" allowfullscreen></iframe>

Opciones

TV acepta best, bullet, blitz, rapid o classical como canal. Las partidas públicas aceptan color=black para girar el tablero. Los análisis embebidos aceptan fen y color=black; codifica los espacios del FEN como guiones bajos o espacios codificados en la URL.

Seguridad y privacidad

Solo estas rutas públicas exactas pueden mostrarse en un iframe. Las partidas privadas, los enlaces vencidos y toda ruta de cuenta o administración siguen bloqueados.

Dominios reales pendientes

Estudios y Retransmisiones siguen pendientes hasta que No ManChess tenga sus dominios de producto autoritativos. No se anuncia ningún widget provisional.

Menú