code:
# Description: This file contains the functions to extract features from the data.

# Required Libraries
import base64
import pandas as pd
import numpy as np

import folium
from folium.plugins import HeatMap
import plotly.graph_objects as go
import plotly.io as pio
import time
import requests

import json
from pathlib import Path

# Function to create a recommendation profile for a player based on their height, weight and age.
# The function returns a dictionary with recommendations for the player´s position, workout and phisical priority.
def playerp(height, weight, age):
    recommendations = {
        'position':None,
        'workout':None,
        'priority':None
    }

    #1th profile: Tall and thin
    if height >= 1.78 and weight <= 78:
        recommendations["position"] = "Zaguero. En el fondo con recorrido hacia media cancha para interceptar pelotas."
        recommendations["workout"] = "Trabajar fuerza en piernas y core + Ejercicios rotadores de hombros y articulaciones para prevenir lesiones."
        if age <= 28:
            recommendations["priority"] = "Enfócate en mejorar la resistencia y el desarrollo muscular."
        elif 28 < age <= 38:
            recommendations["priority"] = "Enfócate en mantener la flexibilidad y mejora los ángulos de golpe."
        else:
            recommendations["priority"] = "Prioriza la recuperación post juego y evita la sobrecarga de articulaciones."

    #2nd profile: Tall and heavy
    if height >=1.78 and weight > 78:
        recommendations["position"] = "Zaguero. Al fondo a posición media para combinar alcance y potencia."
        recommendations["workout"] = "Mejorar agilidad con ejercicios de cambio de dirección. Incluye sentadillas isometricas para fortalecer articulaciones."
        if age <= 28:
            recommendations["priority"] = "Potenciar la explosividad de tus remates y la resistencia."
        elif 28 < age <= 38:
            recommendations["priority"] = "Controla tu peso y trabaja la resistencia y flexibilidad."
        else:
            recommendations["priority"] = "Prioriza reducir el impacto en las rodillas con entrenamiento previo en superficies blandas."

    #3rd profile: short and heavy
    if height < 1.78 and weight > 78:
        recommendations["position"] = "Delantero. Para remates rápidos, fuertes y voleas."
        recommendations["workout"] = "Trabaja agilidad y equilibrio con ejercicios de reacción. Usa voleas agresivas para definir puntos."
        if age <= 28:
            recommendations["priority"] = "Enfócate en desarrollar potencia en piernas y brazos."
        elif 28 < age <= 38:
            recommendations["priority"] = "Combina la fuerza con estrategia de juego corto."
        else:
            recommendations["priority"] = "Enfatizar movilidad articular (tobillos y cadera). Prioriza la estrategia de juego."

    #4th profile: short and thin
    if height < 1.78 and weight <=78:
        recommendations["position"] = "Delantero. Aprovecha tu velocidad."
        recommendations["workout"] = "Mejora tu agilidad con ejercicios de reacción. Usa golpes cortos y cambios de dirección para desequilibrio."
        if age <= 28:
            recommendations["priority"] = "Priorizar la técnica de golpe y desplazamientos (visión de juego)."
        elif 28 < age <= 38:
            recommendations["priority"] = "Enfócate en aumentar masa muscular para mejorar potencia de golpe."
        else:
            recommendations["priority"] = "Prevención de lesiones con entrenamiento de estiramiento y cambio de ritmo."

    return recommendations

# Functions to create a map to know how many players visit the tournament for each city.
#the function returns a map with folium
def players_location(df):
    # Create map
    mapa = folium.Map(
        location=[20.6736, -101.325],
        zoom_start=5,
        tiles="CartoDB dark_matter",
        attr='© CARTO'
    )

    # Prepare data for heatmap
    heat_data = [
        [row["coords"][0], row["coords"][1], row["players"]]
        for _, row in df.iterrows()
    ]

    HeatMap(heat_data, radius=25, blur=15).add_to(mapa)
    return mapa._repr_html_()

def decode_bdata(bdata, dtype):
    decoded_bytes = base64.b64decode(bdata)
    return np.frombuffer(decoded_bytes, dtype=dtype)

#Function to extract the necessary data from the plotly json format
def extract_plotly_data(json):
    # Extract the relevant data from the plotly JSON
    data = json["data"][0]
    marker_color = data["marker"]["color"]
    text = [item[1] for item in data["text"]]
    x = data["x"]
    y = text  # Assuming y is the same as text for the bar chart

    # Create a new format for the data
    new_format = {
        "data": [{
            "marker": {"color": marker_color, "cornerradius": 10},
            "text": text,
            "textposition": "auto",
            "x": x,
            "y": y,
            "type": "bar"
        }]
    }
    return new_format

def extract_plotly_data_points(plotly_json):
    extracted_data = []
    for data in plotly_json["data"]:
        trace_name = data.get("name", "")  # Obtener el nombre de la traza si está presente
        marker_color = data["marker"]["color"]
        text = decode_bdata(data["text"]["bdata"], data["text"]["dtype"]).tolist()
        y = decode_bdata(data["y"]["bdata"], data["y"]["dtype"]).tolist()
        x = data["x"]

        extracted_data.append({
            "name": trace_name,
            "marker": {"color": marker_color, "cornerradius": 10},
            "text": text,
            "textposition": "auto",
            "x": x,
            "y": y,
            "type": "bar"
        })
    return {"data": extracted_data}

#function to return the parity plot in json format
def plotly_plot_parity(df):
    # Crear la figura
    fig = go.Figure()

    # Agregar los datos al gráfico de barras
    fig.add_trace(go.Bar(x=df['group'],
                    y=df['parity_index'],
                    marker_color='#E61357',  # Color de las barras
                    text=df.values,  # Texto que se mostrará encima de cada barra
                    textposition='auto',  # Posición del texto
                    ))

    fig.update_layout(title='¿Qué tan parejos estuvieron los grupos?',
                xaxis_title='Grupo',
                yaxis_title='Indice de paridad',
                plot_bgcolor='#241111',  # Fondo negro
                paper_bgcolor='#000000',  # Fondo del área del gráfico negro
                font=dict(color='white'),  # Color del texto
                width=1080,
                height=720,
                )
    # Ajustar el espaciado entre las etiquetas de los ticks del eje x
    fig.update_xaxes(dtick=1)  # Establecer dtick en 1 para mostrar todas las etiquetas
    plotly_json = fig.to_json(fig)
    plotly_json = json.loads(plotly_json)
    return extract_plotly_data(plotly_json)

#function to extract the df for analize the vs points of the players
def extract_group(df,letter):
    x_group = df[df['group'] == letter].copy()
    x_group.drop(['group', 'team_id', 'points_diff'], axis=1, inplace=True)
    x_group['team'] = x_group['team'].apply(
    lambda x: '/'.join(
        name.strip().split()[0]
        for name in x.strip('[]').split(', ')
        ))
    x_group.reset_index(drop=True, inplace=True)
    return x_group

#Function to return the points scored vs points received plot by the players in a json format
def plotly_plot_points(df):
    fig = go.Figure()

    # Agregar los datos de los puntos hechos al gráfico de barras
    fig.add_trace(go.Bar(
        x=df['team'],
        y=df['points_scored'],
        name='Puntos hechos',
        marker_color='#3C9145',
        text=df['points_scored'],
        textposition='auto',
    ))

    # Agregar los datos de los puntos recibidos al gráfico de barras
    fig.add_trace(go.Bar(
        x=df['team'],
        y=df['points_received'],
        name='Puntos recibidos',
        marker_color='#E61357',
        text=df['points_received'],
        textposition='auto',
    ))

    fig.update_layout(
        title='Puntos totales por equipo',
        xaxis_title='Equipo',
        yaxis_title='Puntos',
        plot_bgcolor='#000000',
        paper_bgcolor='#000000',
        font=dict(color='white'),
        width=1280,
        height=720,
    )

    # Ajustar el espaciado entre las etiquetas de los ticks del eje x
    fig.update_xaxes(dtick=1)

    plotly_json = fig.to_json()
    plotly_json = json.loads(plotly_json)
    return extract_plotly_data_points(plotly_json)

#function to return the sinergy plot in json format
# Función para extraer los datos necesarios del formato JSON de Plotly
def extract_plotly_sinergy(plotly_json):
    extracted_data = []
    for data in plotly_json["data"]:
        marker_color = data["marker"]["color"]
        trace_name = data.get("name", "")  # Obtener el nombre de la traza si está presente
        text = data["text"]  # El texto ya está en formato de lista
        y = decode_bdata(data["y"]["bdata"], data["y"]["dtype"]).tolist()  # Decodificar y convertir a lista
        x = data["x"]

        extracted_data.append({
            "name": trace_name,
            "marker": {"color": marker_color, "cornerradius": 10},
            "text": text,
            "textposition": "auto",
            "x": x,
            "y": y,
            "type": "bar"
        })
    return {"data": extracted_data}
def plotly_plot_sinergy(df):
    # Crear una figura de Plotly
    fig = go.Figure()

    # Agregar barras para la sinergia positiva
    fig.add_trace(go.Bar(
        x=df['team'],
        y=df['sinergy'].apply(lambda x: max(x, 0)),  # Tomar solo los valores positivos
        name='Positiva',
        marker_color='#AA12E6',  # Color para las barras positivas
        text=df['sinergy'].apply(lambda x: f'{x}%'),  # Texto que se mostrará encima de cada barra
        textposition='auto',  # Posición del texto
        textfont=dict(color='white')
    ))

    # Agregar barras para la sinergia negativa
    fig.add_trace(go.Bar(
        x=df['team'],
        y=df['sinergy'].apply(lambda x: min(x, 0)),  # Tomar solo los valores negativos
        name='Negativa',
        marker_color='#E64912',  # Color para las barras negativas
        text=df['sinergy'].apply(lambda x: f'{x}%'),  # Texto que se mostrará encima de cada barra
        textposition='auto',  # Posición del texto
        textfont=dict(color='white')
    ))

    # Personalizar el diseño del gráfico
    fig.update_layout(
        title='Sinergia de Equipos',
        xaxis=dict(title='Equipo'),
        yaxis=dict(title='Sinergia'),
        xaxis_tickangle=-90,
        plot_bgcolor='#000000',  # Fondo negro
        paper_bgcolor='#000000',  # Fondo del área del gráfico negro
        font=dict(color='white'),  # Color del texto
        width=1280,
        height=720
    )

    fig.update_xaxes(dtick=1)
    plotly_json = fig.to_json()
    plotly_json = json.loads(plotly_json)
    return extract_plotly_sinergy(plotly_json)

#function to compare the sinergy between the two categories
def extract_plotly_compare(plotly_json):
    extracted_data = []
    for data in plotly_json["data"]:
        marker_color = data["marker"]["color"]
        text = data["text"]  # El texto ya está en formato de lista
        y = data["y"]  # Los valores de y ya están en formato de lista
        x = data["x"]

        extracted_data.append({
            "marker": {"color": marker_color, "cornerradius": 10},
            "text": text,
            "textposition": "auto",
            "x": x,
            "y": y,
            "type": "bar"
        })
    return {"data": extracted_data}

def plotly_plot_sinergy_compare(diccionario):
    # Crear la figura
    fig = go.Figure()

    # Agregar los datos al gráfico de barras
    fig.add_trace(go.Bar(
        x=['Libre', '50 y más'],
        y=[diccionario['sinergy_open'], diccionario['sinergy_senior']],
        marker_color='#E61357',  # Color de las barras
        text=[diccionario['sinergy_open'], diccionario['sinergy_senior']],  # Texto que se mostrará encima de cada barra
        textposition='auto',  # Posición del texto
    ))

    # Personalizar el gráfico
    fig.update_layout(
        title='Sinergia en ambas categorías',
        xaxis_title='Categorías',
        yaxis_title='Sinergia',
        bargap=0.4,  # Ajustar el espacio entre las barras
        plot_bgcolor='#241111',  # Fondo negro
        paper_bgcolor='#000000',  # Fondo del área del gráfico negro
        font=dict(color='white'),  # Color del texto
        width=1080,
        height=720,
    )

    # Ajustar el espaciado entre las etiquetas de los ticks del eje x
    fig.update_xaxes(dtick=1)  # Establecer dtick en 1 para mostrar todas las etiquetas

    plotly_json = fig.to_json()
    #print(plotly_json)
    plotly_json = json.loads(plotly_json)
    return extract_plotly_compare(plotly_json)

def plotly_plot_points_compare(diccionario):
    # Crear la figura
    fig = go.Figure()

    # Agregar los datos al gráfico de barras
    fig.add_trace(go.Bar(
        x=['Libre', '50 y más'],
        y=[diccionario['points_open'], diccionario['points_seniors']],
        marker_color='#E61357',  # Color de las barras
        text=[diccionario['points_open'], diccionario['points_seniors']],  # Texto que se mostrará encima de cada barra
        textposition='auto',  # Posición del texto
    ))

    # Personalizar el gráfico
    fig.update_layout(
        title='Puntos en ambas categorías',
        xaxis_title='Categorías',
        yaxis_title='Sinergia',
        bargap=0.4,  # Ajustar el espacio entre las barras
        plot_bgcolor='#241111',  # Fondo negro
        paper_bgcolor='#000000',  # Fondo del área del gráfico negro
        font=dict(color='white'),  # Color del texto
        width=1080,
        height=720,
    )

    # Ajustar el espaciado entre las etiquetas de los ticks del eje x
    fig.update_xaxes(dtick=1)  # Establecer dtick en 1 para mostrar todas las etiquetas

    plotly_json = fig.to_json()
    #print(plotly_json)
    plotly_json = json.loads(plotly_json)
    return extract_plotly_compare(plotly_json)

#Function to get the analysis
def get_analysys():
    analysis = """
    ## Análisis de sentimientos de la gran final del Torneo de las fresas

    **1. Resultados del Análisis de Sentimientos:**

    *   **Porcentaje de Positivismo:** 20%
    *   **Sentimiento General:** Negativo

    **2. Explicación del Sentimiento General Negativo:**

    El análisis de sentimientos, utilizando dos modelos de lenguaje natural (VADER y nlptown/bert-base-multilingual-uncased-sentiment), arrojó un sentimiento general negativo, a pesar de tener un 20% de positivismo. Esto puede parecer contradictorio, pero se explica por los siguientes factores:

    *   **VADER:** Este modelo, al analizar el texto, detectó una alta cantidad de lenguaje neutral (98.8%) y bajos niveles de sentimiento negativo (0.5%) y positivo (0.7%). Aunque el *compound score* de VADER (0.4871) sugiere un sentimiento ligeramente positivo, este valor es susceptible a ser influenciado por la gran cantidad de texto neutral.
    *   **Énfasis en la Tensión y la Crítica:** El texto, aunque contiene apoyo a ciertos jugadores, también revela momentos de tensión, controversia y críticas hacia decisiones arbitrales ("robo", "mala marcación"). Estas expresiones de frustración y desacuerdo contribuyen a la percepción general de un ambiente tenso y, por lo tanto, un sentimiento general negativo.
    *   **Contexto del Análisis:** Es crucial entender que un análisis de sentimientos no solo detecta emociones puras, sino también la intensidad y el contexto en el que se expresan. En un evento deportivo competitivo, las emociones suelen ser intensas y fluctuantes, con momentos de alegría y decepción que se entrelazan.

    **3. Análisis del Texto y su Relación con el Porcentaje de Positivismo:**

    El texto analizado es una transcripción de comentarios durante el partido, lo que implica:

    *   **Apoyo Local:** Es evidente el apoyo a jugadores como "Macizo" (Gerardo Macizo) por parte de la afición local, generando expresiones de ánimo como "Venga macizo". Este apoyo inyecta positivismo al texto.
    *   **Reacciones a Jugadas Controversiales:** Las jugadas dudosas ("controversia ahí último punto") y las decisiones arbitrales cuestionables ("robo ciertamente robo mala marcación juez") provocan reacciones negativas en el público, disminuyendo el sentimiento positivo general.
    *   **Descripción Detallada del Juego:** Gran parte del texto se dedica a describir el desarrollo del partido, los nombres de los jugadores y los marcadores. Esta información, aunque relevante, es neutral en cuanto a sentimiento, lo que diluye el impacto de las expresiones positivas.
    *   **Menciones a Otros Torneos y Jugadores:** La inclusión de saludos, menciones a otros torneos y jugadores, aunque amigables, no contribuyen directamente al sentimiento positivo del partido en sí.

    El "20%" de positivismo refleja el apoyo a los jugadores, los comentarios sobre buenas jugadas ("Buena bola") y el entusiasmo general por el evento. Sin embargo, este positivismo se ve opacado por la tensión del juego, las controversias y la presencia de lenguaje neutral.

    **4. Conclusión sobre la Reacción del Público:**

    La reacción del público durante la gran final del Torneo de las Fresas fue una mezcla de entusiasmo, apoyo y frustración. Si bien hubo un fuerte respaldo a los jugadores locales, las decisiones arbitrales polémicas y la intensidad del juego generaron momentos de tensión y críticas que influyeron en el sentimiento general. El análisis de sentimientos refleja esta dualidad, mostrando un evento deportivo apasionante donde la emoción y la controversia van de la mano.

    **5. Nota Adicional:** Es importante recordar que un análisis de sentimientos es una herramienta que proporciona una visión general. Para comprender completamente la reacción del público, sería necesario complementar este análisis con otros métodos, como encuestas o entrevistas, que permitan profundizar en las emociones y percepciones de los asistentes."""
    return analysis


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🏷 / 📋 + 🎾 Comparación de puntos</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🏷 / 📋 + 🎾 Comparación de puntos

Obtiene una gráfica comparativa de los puntos realizados en las categorías de inscripción.

[GET] /v1/analysis/comparisons/points

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/analysis/comparisons/points

Respuesta de la petición:

{
  "data": {
    "data": [
      {
        "marker": {
          "color": "#E61357",
          "cornerradius": 10
        },
        "text": [
          "77.0",
          "77.25"
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Libre",
          "50 y más"
        ],
        "y": [
          77,
          77.25
        ]
      }
    ],
    "title": "Promedio de puntos hechos por categoria",
    "x-axis": "Categoría",
    "y-axis": "Puntos promedio"
  },
  "status": 200,
  "description": "Information about the points comparison"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0

license: mit


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🏷 / 📋 + 👫 Comparación de sinergias</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🏷 / 📋 + 👫 Comparación de sinergias

Obtiene una gráfica comparativa de las sinergias de las categorías de inscripción.

[GET] /v1/analysis/comparisons/synergies

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/analysis/comparisons/synergies

Respuesta de la petición:

{
  "data": {
    "data": [
      {
        "marker": {
          "color": "#E61357",
          "cornerradius": 10
        },
        "text": [
          "10.0069",
          "9.9994"
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Libre",
          "50 y más"
        ],
        "y": [
          10.0069,
          9.9994
        ]
      }
    ],
    "title": "Comparativa de sinergia entre categorias",
    "x-axis": "Categoría",
    "y-axis": "Sinergia"
  },
  "status": 200,
  "description": "Information about the synergies comparison"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>👥 + 🎾 Puntos de un grupo</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

👥 + 🎾 Puntos de un grupo

Obtiene una gráfica que compara los puntos realizados en un grupo.

[GET] /v1/analysis/groups/@id/points

Parámetros de la ruta:

Parámetros 	Tipo 	Requerido 	Descripción

id 	string 	true 	Identificador del grupo.

Ejemplo:

 curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/groups/@id/points

Respuesta de la petición:

{
  "data": {
    "data": [
      {
        "marker": {
          "color": "#3C9145",
          "cornerradius": 10
        },
        "text": [
          14,
          14,
          23,
          30
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Jorge Rios-JR PAREJA DOS",
          "Ulises Medrano-Paul Solorio",
          "José Manuel Vargas-Ernesto Oñate",
          "Gerardo Martínez-Jesús Arguellas"
        ],
        "y": [
          14,
          14,
          23,
          30
        ]
      },
      {
        "marker": {
          "color": "#E61357",
          "cornerradius": 10
        },
        "text": [
          30,
          27,
          18,
          6
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Jorge Rios-JR PAREJA DOS",
          "Ulises Medrano-Paul Solorio",
          "José Manuel Vargas-Ernesto Oñate",
          "Gerardo Martínez-Jesús Arguellas"
        ],
        "y": [
          30,
          27,
          18,
          6
        ]
      }
    ],
    "title": "Puntos hechos vs puntos recibidos del grupo A",
    "x-axis": "Jugadores",
    "y-axis": "Puntos"
  },
  "status": 200,
  "description": "Information about the group points"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>📊 Análisis de datos</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

📊 Análisis de datos

Análisis de datos obtenidos durante el torneo.

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🏷 / 📋 + ⚖ Paridad de una categoría de inscripción</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción

Obtiene una gráfica comparativa que describe el emparejamiento de los partidos en una categoría de inscripción.

[GET] /v1/analysis/parities/@id

Parámetros de la ruta:

Parámetros 	Tipo 	Requerido 	Descripción

id 	string 	true 	Identificador de la categoría de inscripción.

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/analysis/parities/@id

Respuesta de la petición:

{
  "data": {
    "data": [
      {
        "marker": {
          "color": "#E61357",
          "cornerradius": 10
        },
        "text": [
          7.85,
          8.79,
          8.12,
          1.73,
          8.04,
          11.09,
          2.52,
          11.8
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "A",
          "B",
          "C",
          "D",
          "E",
          "F",
          "G",
          "H"
        ],
        "y": [
          7.85,
          8.79,
          8.12,
          1.73,
          8.04,
          11.09,
          2.52,
          11.8
        ]
      }
    ],
    "title": "¿Qué tan parejos estuvieron los grupos de la categoria Libre?",
    "x-axis": "Grupos",
    "y-axis": "Indice de paridad"
  },
  "status": 200,
  "description": "Information about the registration category parity"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>✨ Perfil de un jugador</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

✨ Perfil de un jugador

Obtiene recomendaciones y tips para un jugador.

[GET] /v1/analysis/profiles/@id

Parámetros de la ruta:

Parámetros 	Tipo 	Requerido 	Descripción

id 	string 	true 	Identificador del jugador.

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/analysis/profiles/@id

Respuesta de la petición:

{
  "data": {
    "position": "Delantero. Aprovecha tu velocidad.",
    "priority": "Priorizar la técnica de golpe y desplazamientos (visión de juego).",
    "workout": "Mejora tu agilidad con ejercicios de reacción. Usa golpes cortos y cambios de dirección para desequilibrio."
  },
  "status": 200,
  "description": "Information about the player profile"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🏷 / 📋 + 🎾 Comparación de puntos/

🏷 / 📋 + 👫 Comparación de sinergias/

😀 Emociones/

👥 + 🎾 Puntos de un grupo/

🔥 Mapa de calor/

🏷 / 📋 + ⚖ Paridad de una categoría de inscripción/

✨ Perfil de un jugador/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🏷 / 📋 + 👫 + 🏃♂ Sinergia de una categoría de inscripción

Obtiene una gráfica comparativa que describe el desempeño de las parejas.

[GET] /v1/analysis/synergies/@id

Parámetros de la ruta:

Parámetros 	Tipo 	Requerido 	Descripción

id 	string 	true 	Identificador de la categoría de inscripción.

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/analysis/synergies/@id

Respuesta de la petición:

{
  "data": {
    "data": [
      {
        "marker": {
          "color": "#AA12E6",
          "cornerradius": 10
        },
        "text": [
          "-43.33%",
          "-33.33%",
          "26.67%",
          "90.0%",
          "-63.33%",
          "3.33%",
          "36.67%",
          "63.33%",
          "-43.33%",
          "13.33%",
          "13.33%",
          "56.67%",
          "23.33%",
          "-13.33%",
          "-3.33%",
          "33.33%",
          "-40.0%",
          "-13.33%",
          "16.67%",
          "76.67%",
          "-80.0%",
          "10.0%",
          "50.0%",
          "60.0%",
          "-13.33%",
          "13.33%",
          "20.0%",
          "20.0%",
          "-56.67%",
          "0.1%",
          "0.1%",
          "96.67%"
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Jorge Rios-JR PAREJA DOS",
          "Ulises Medrano-Paul Solorio",
          "José Manuel Vargas-Ernesto Oñate",
          "Gerardo Martínez-Jesús Arguellas",
          "Juan Pablo Bullet-JP Bullet Dos",
          "Francisco Solis-Diego Solis",
          "Edgar Labra-Rodrigo Sánchez",
          "Alonso Calderon-Lennin Bustos",
          "Yonatan Ángeles-Daniel Sánchez Dos",
          "Adrián Arreola-Marcos Rojo",
          "Fabián Padilla-Victor Ayala",
          "Carlos Castro-Owen Alexander",
          "Fernando Córtez-Avimael Tapia",
          "Daniel Adame-Alonso Zuñiga",
          "Santiago Martinez-Fernando Soto",
          "Julio Méndez-Miguel Baez",
          "Raúl Rodriguez-César Rodríguez",
          "Alejandro Padrón-Victor Cardiel",
          "Ricky Rodriguez-Victor Cordero",
          "Enrique Ybarra Lara-Gerardo Cruz Parente",
          "Antonio Daniel Quintana-Diego Alejandro Quintana",
          "Giovanny Venegas-Miguel Cervantes",
          "Daniel Aguilar-Daniel Sánchez",
          "Marco López-Mikjail Juárez",
          "Gustavo Ventura-Luis Zavala Orozco",
          "Nestor de la Rosa-Sebastián Velázquez",
          "Carlos García-Armando Ordónez",
          "David Martínez-Iván Zavala",
          "Manuel Méndez-Eduardo Gutierrez",
          "Lalo Morales-Juan Mireles",
          "Iván Zuñiga-Alejandro Flores",
          "Edgar García-Hugo Eduardo Arizmendi"
        ],
        "y": [
          0,
          0,
          26.67,
          90,
          0,
          3.33,
          36.67,
          63.33,
          0,
          13.33,
          13.33,
          56.67,
          23.33,
          0,
          0,
          33.33,
          0,
          0,
          16.67,
          76.67,
          0,
          10,
          50,
          60,
          0,
          13.33,
          20,
          20,
          0,
          0.1,
          0.1,
          96.67
        ]
      },
      {
        "marker": {
          "color": "#E64912",
          "cornerradius": 10
        },
        "text": [
          "-43.33%",
          "-33.33%",
          "26.67%",
          "90.0%",
          "-63.33%",
          "3.33%",
          "36.67%",
          "63.33%",
          "-43.33%",
          "13.33%",
          "13.33%",
          "56.67%",
          "23.33%",
          "-13.33%",
          "-3.33%",
          "33.33%",
          "-40.0%",
          "-13.33%",
          "16.67%",
          "76.67%",
          "-80.0%",
          "10.0%",
          "50.0%",
          "60.0%",
          "-13.33%",
          "13.33%",
          "20.0%",
          "20.0%",
          "-56.67%",
          "0.1%",
          "0.1%",
          "96.67%"
        ],
        "textposition": "auto",
        "type": "bar",
        "x": [
          "Jorge Rios-JR PAREJA DOS",
          "Ulises Medrano-Paul Solorio",
          "José Manuel Vargas-Ernesto Oñate",
          "Gerardo Martínez-Jesús Arguellas",
          "Juan Pablo Bullet-JP Bullet Dos",
          "Francisco Solis-Diego Solis",
          "Edgar Labra-Rodrigo Sánchez",
          "Alonso Calderon-Lennin Bustos",
          "Yonatan Ángeles-Daniel Sánchez Dos",
          "Adrián Arreola-Marcos Rojo",
          "Fabián Padilla-Victor Ayala",
          "Carlos Castro-Owen Alexander",
          "Fernando Córtez-Avimael Tapia",
          "Daniel Adame-Alonso Zuñiga",
          "Santiago Martinez-Fernando Soto",
          "Julio Méndez-Miguel Baez",
          "Raúl Rodriguez-César Rodríguez",
          "Alejandro Padrón-Victor Cardiel",
          "Ricky Rodriguez-Victor Cordero",
          "Enrique Ybarra Lara-Gerardo Cruz Parente",
          "Antonio Daniel Quintana-Diego Alejandro Quintana",
          "Giovanny Venegas-Miguel Cervantes",
          "Daniel Aguilar-Daniel Sánchez",
          "Marco López-Mikjail Juárez",
          "Gustavo Ventura-Luis Zavala Orozco",
          "Nestor de la Rosa-Sebastián Velázquez",
          "Carlos García-Armando Ordónez",
          "David Martínez-Iván Zavala",
          "Manuel Méndez-Eduardo Gutierrez",
          "Lalo Morales-Juan Mireles",
          "Iván Zuñiga-Alejandro Flores",
          "Edgar García-Hugo Eduardo Arizmendi"
        ],
        "y": [
          -43.33,
          -33.33,
          0,
          0,
          -63.33,
          0,
          0,
          0,
          -43.33,
          0,
          0,
          0,
          0,
          -13.33,
          -3.33,
          0,
          -40,
          -13.33,
          0,
          0,
          -80,
          0,
          0,
          0,
          -13.33,
          0,
          0,
          0,
          -56.67,
          0,
          0,
          0
        ]
      }
    ],
    "title": "Sinergia de los equipos de la categoria Libre",
    "x-axis": "Parejas",
    "y-axis": "Sinergia"
  },
  "status": 200,
  "description": "Information about the registration category synergy"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🔑 Comprobar API key</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🔑 Comprobar API key

[GET] /v1/auth/check

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/auth/check

Respuesta de la petición:

{
  "data": {
    "id": "d727a742-051c-41c3-95cb-561fb05b41f1",
    "user_id": "70f7531a-21f6-482e-a0ef-875d9d050ed3",
    "is_revoked": 0,
    "expires_at": "2025-02-28 15:55:56",
    "created_at": "2025-02-28 15:47:56",
    "updated_at": "2025-02-28 15:47:56"
  },
  "status": 200,
  "description": "Information about the API key"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🔐 Autenticación</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🔐 Autenticación

Autenticación de los usuarios de acceso.

Los token tienen una duración de 8 minutos, comprueba la información del token y genera uno nuevo antes de su expiración.

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🪪 Inicio de sesión</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🪪 Inicio de sesión

[POST] /v1/auth/login

Cuerpo de la petición:

Campo 	Tipo 	Requerido 	Rango 	Descripción

nickname 	string 	true 	between_len: [1, 128] 	Nombre de usuario o correo eléctrico del usuario de acceso.

password 	string 	true 	between_len: [8, 64] 	Contraseña del usuario de acceso.

Ejemplos:

curl -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  http://localhost:8080/v1/auth/login \
  -d '{
    "nickname": "ricardogj08",
    "password": "12345678"
  }'

curl -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  http://localhost:8080/v1/auth/login \
  -d '{
    "nickname": "ricardogj08@riseup.net",
    "password": "12345678"
  }'

Respuesta de la petición:

{
  "data": {
    "api_key": "516220f0beed3bb91d711932f280123a62246183e67bf2d4f434f7f913770b88"
  },
  "status": 201,
  "description": "The API key was created successfully"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>👋 Cerrar sesión</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

👋 Cerrar sesión

[POST] /v1/auth/logout

Ejemplo:

curl -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/auth/logout

Respuesta de la petición:

{
  "data": null,
  "status": 200,
  "description": "The API key was finalized successfully"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🧑 Usuario autenticado</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🧑 Usuario autenticado

[GET] /v1/auth/me

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/auth/me

Respuesta de la petición:

{
  "data": {
    "id": "860c2dc9-23ff-46c7-96c1-7b9fe437d12b",
    "email": "ricardogj08@riseup.net",
    "username": "ricardogj08",
    "fullname": "Ricardo García Jiménez",
    "is_active": 1,
    "created_at": "2025-03-07 14:38:11",
    "updated_at": "2025-03-07 14:38:11",
    "role": {
      "id": "ff23a6f7-0862-4431-b3b3-015beae0cb9f",
      "name": "admin",
      "description": "Administrador"
    }
  },
  "status": 200,
  "description": "Information about the authenticated user"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>🔄 Renovar API key</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

🔑 Comprobar API key/

🪪 Inicio de sesión/

👋 Cerrar sesión/

🧑 Usuario autenticado/

🔄 Renovar API key/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

🔄 Renovar API key

[POST] /v1/auth/refresh

Ejemplo:

curl -X POST \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/auth/refresh

Respuesta de la petición:

{
  "data": {
    "api_key": "f74857b229d61d810ac5ab3aa4c4d2010f2ea6028a69533f8d76a5e2429d8df1"
  },
  "status": 201,
  "description": "The API key was renewed successfully"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👀 Partidos, parejas y jugadores de un grupo/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores

Partidos, parejas y jugadores asignados a los grupos.

[GET] /v1/groups/matches/pairs/players

Parámetros de consulta:

Parámetro 	Tipo 	Rango 	Por defecto 	Descripción

page 	integer 	min_numeric: 1 	1 	Número de la página de resultados de los grupos con sus partidos, parejas y jugadores.

filterBy 	string 	contains: [name, description] 	name 	Campo de búsqueda de los grupos con sus partidos, parejas y jugadores.

orderBy 	string 	contains: [name, description, created_at, updated_at] 	name 	Campo de ordenamiento de los grupos con sus partidos, parejas y jugadores.

sortBy 	string 	contains: [asc, desc] 	asc 	Modo de ordenamiento de los grupos con sus partidos, parejas y jugadores.

registration_category_id 	string 	exact_len: 36 	null 	Identificador de la categoría de inscripción de los grupos con sus partidos, parejas y jugadores (ver).

is_eliminated 	boolean 	contains: [yes/no, on/off, 1/0, true/false] 	null 	Filtrar los grupos con sus partidos, parejas y jugadores por estatus de eliminación.

is_active 	boolean 	contains: [yes/no, on/off, 1/0, true/false] 	null 	Filtrar los grupos con sus partidos, parejas y jugadores por estatus de actividad.

Ejemplo:

curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/groups/matches/pairs/players?page=2&filterBy=name&orderBy=name&sortBy=asc&registration_category_id=21c13c24-af5d-45bd-9294-2de7e175ceee&is_eliminated=false&is_active=true

Respuesta de la petición:

{
  "data": [
    {
      "group": {
        "id": "010e017e-3bd3-4db0-99e4-ad3618b669a5",
        "name": "A_2025",
        "description": "A",
        "is_eliminated": 0,
        "is_active": 1,
        "created_at": "2025-03-22 03:21:43",
        "updated_at": "2025-03-22 03:21:43",
        "registration_category": {
          "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
          "name": "seniors",
          "description": "50 y más"
        }
      },
      "matches": [
        {
          "match": {
            "id": "01cf60b7-de92-45b5-8051-383416d94238",
            "is_active": 1,
            "created_at": "2025-03-22 03:21:43",
            "updated_at": "2025-03-22 03:21:43",
            "registration_category": {
              "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
              "name": "seniors",
              "description": "50 y más"
            },
            "match_category": {
              "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
              "name": "qualifier",
              "description": "Clasificación"
            },
            "match_status": {
              "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
              "name": "scheduled",
              "description": "Programado"
            },
            "pairs": [
              {
                "pair": {
                  "id": "78e0192e-3ad5-4c8f-9064-783c6090008b",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
                    "name": "seniors",
                    "description": "50 y más"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "5e6c10cf-0b74-465a-9843-3427c7be9fd9",
                        "fullname": "Fernando Gómez",
                        "city": "Apaseo el Grande",
                        "weight": "78.20",
                        "height": "1.71",
                        "age": 53,
                        "experience": 23,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "6a4284e5-aa1f-4784-81e5-71569c854180",
                        "player_id": "5e6c10cf-0b74-465a-9843-3427c7be9fd9",
                        "pair_id": "78e0192e-3ad5-4c8f-9064-783c6090008b",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "693862e4-bd66-46c0-9305-6f96d517725e",
                        "fullname": "Gabriela Jiménez",
                        "city": "Uriangato",
                        "weight": "65.50",
                        "height": "1.62",
                        "age": 61,
                        "experience": 31,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "b644d27b-a73e-42d5-b193-d31fc6712b4a",
                        "player_id": "693862e4-bd66-46c0-9305-6f96d517725e",
                        "pair_id": "78e0192e-3ad5-4c8f-9064-783c6090008b",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "9ec5cb5c-3aab-4ca4-aa33-f896d240e533",
                  "pair_id": "78e0192e-3ad5-4c8f-9064-783c6090008b",
                  "match_id": "01cf60b7-de92-45b5-8051-383416d94238",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:43",
                  "updated_at": "2025-03-22 03:21:43"
                }
              },
              {
                "pair": {
                  "id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
                    "name": "seniors",
                    "description": "50 y más"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "08d34019-e287-4463-9a35-2303f4562b01",
                        "fullname": "Laura Vargas",
                        "city": "Dolores Hidalgo",
                        "weight": "64.50",
                        "height": "1.63",
                        "age": 59,
                        "experience": 29,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "9a751a07-5759-4dd4-87fe-3d1c06f991b4",
                        "player_id": "08d34019-e287-4463-9a35-2303f4562b01",
                        "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "bdcfe411-5f65-4f00-80bf-280c9a0238b7",
                        "fullname": "Carlos Sánchez",
                        "city": "Silao",
                        "weight": "77.50",
                        "height": "1.74",
                        "age": 54,
                        "experience": 24,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "a43769c6-fa7f-4e33-b278-26f03bcd5dcb",
                        "player_id": "bdcfe411-5f65-4f00-80bf-280c9a0238b7",
                        "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "e70bfd47-3d3f-4e91-9e32-6504dbd54b8b",
                  "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                  "match_id": "01cf60b7-de92-45b5-8051-383416d94238",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:43",
                  "updated_at": "2025-03-22 03:21:43"
                }
              }
            ]
          },
          "relationship": {
            "id": "9bfd7fad-f5a8-4a43-8b45-715431b89053",
            "group_id": "010e017e-3bd3-4db0-99e4-ad3618b669a5",
            "match_id": "01cf60b7-de92-45b5-8051-383416d94238",
            "created_at": "2025-03-22 03:21:43",
            "updated_at": "2025-03-22 03:21:43"
          }
        },
        {
          "match": {
            "id": "17d17886-c1a2-42c4-a75c-d9bff8f5169d",
            "is_active": 1,
            "created_at": "2025-03-22 03:21:43",
            "updated_at": "2025-03-22 03:21:43",
            "registration_category": {
              "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
              "name": "seniors",
              "description": "50 y más"
            },
            "match_category": {
              "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
              "name": "qualifier",
              "description": "Clasificación"
            },
            "match_status": {
              "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
              "name": "scheduled",
              "description": "Programado"
            },
            "pairs": [
              {
                "pair": {
                  "id": "6cc0b3a3-e263-4070-9e93-5b02bb443102",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
                    "name": "seniors",
                    "description": "50 y más"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "f12ee012-264a-4fa6-b880-ebc3527a3a9b",
                        "fullname": "Roberto Torres",
                        "city": "Salamanca",
                        "weight": "79.00",
                        "height": "1.73",
                        "age": 65,
                        "experience": 35,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "3521e54d-29d2-41c7-a736-57a3cec7b893",
                        "player_id": "f12ee012-264a-4fa6-b880-ebc3527a3a9b",
                        "pair_id": "6cc0b3a3-e263-4070-9e93-5b02bb443102",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "6414805e-82bb-46a3-8223-f76e7a0b8833",
                        "fullname": "Sofía Mendoza",
                        "city": "San Miguel de Allende",
                        "weight": "66.00",
                        "height": "1.61",
                        "age": 57,
                        "experience": 27,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "9e9ee62b-2dcf-42cd-a66b-8d8332d4a808",
                        "player_id": "6414805e-82bb-46a3-8223-f76e7a0b8833",
                        "pair_id": "6cc0b3a3-e263-4070-9e93-5b02bb443102",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "34d51812-538e-4a91-aa93-6420f221b192",
                  "pair_id": "6cc0b3a3-e263-4070-9e93-5b02bb443102",
                  "match_id": "17d17886-c1a2-42c4-a75c-d9bff8f5169d",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:43",
                  "updated_at": "2025-03-22 03:21:43"
                }
              },
              {
                "pair": {
                  "id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "21c13c24-af5d-45bd-9294-2de7e175ceee",
                    "name": "seniors",
                    "description": "50 y más"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "08d34019-e287-4463-9a35-2303f4562b01",
                        "fullname": "Laura Vargas",
                        "city": "Dolores Hidalgo",
                        "weight": "64.50",
                        "height": "1.63",
                        "age": 59,
                        "experience": 29,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "9a751a07-5759-4dd4-87fe-3d1c06f991b4",
                        "player_id": "08d34019-e287-4463-9a35-2303f4562b01",
                        "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "bdcfe411-5f65-4f00-80bf-280c9a0238b7",
                        "fullname": "Carlos Sánchez",
                        "city": "Silao",
                        "weight": "77.50",
                        "height": "1.74",
                        "age": 54,
                        "experience": 24,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "a43769c6-fa7f-4e33-b278-26f03bcd5dcb",
                        "player_id": "bdcfe411-5f65-4f00-80bf-280c9a0238b7",
                        "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "bbef0bf7-2e46-475f-a0b8-c0ef4c25e667",
                  "pair_id": "d2955c5e-3548-48cc-9f2d-02586d8384d7",
                  "match_id": "17d17886-c1a2-42c4-a75c-d9bff8f5169d",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:43",
                  "updated_at": "2025-03-22 03:21:43"
                }
              }
            ]
          },
          "relationship": {
            "id": "0b385a53-5a09-47df-b436-e239bd1039ac",
            "group_id": "010e017e-3bd3-4db0-99e4-ad3618b669a5",
            "match_id": "17d17886-c1a2-42c4-a75c-d9bff8f5169d",
            "created_at": "2025-03-22 03:21:43",
            "updated_at": "2025-03-22 03:21:43"
          }
        },
        ...
      ]
    },
    {
      "group": {
        "id": "77669f69-4a91-4488-8837-b8a4924ec7a2",
        "name": "A_2025",
        "description": "A",
        "is_eliminated": 0,
        "is_active": 1,
        "created_at": "2025-03-22 03:21:42",
        "updated_at": "2025-03-22 03:21:42",
        "registration_category": {
          "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
          "name": "open",
          "description": "Libre"
        }
      },
      "matches": [
        {
          "match": {
            "id": "3e690b4d-ea5b-439b-bf36-0dc501c36f01",
            "is_active": 1,
            "created_at": "2025-03-22 03:21:42",
            "updated_at": "2025-03-22 03:21:42",
            "registration_category": {
              "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
              "name": "open",
              "description": "Libre"
            },
            "match_category": {
              "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
              "name": "qualifier",
              "description": "Clasificación"
            },
            "match_status": {
              "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
              "name": "scheduled",
              "description": "Programado"
            },
            "pairs": [
              {
                "pair": {
                  "id": "8a9a64b2-6311-400d-961d-1cb2e8c5bad6",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                    "name": "open",
                    "description": "Libre"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "1d8c0b70-bbb7-4299-bb5f-d81df7df3385",
                        "fullname": "Valeria Castro",
                        "city": "Acámbaro",
                        "weight": "61.80",
                        "height": "1.66",
                        "age": 22,
                        "experience": 4,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "3ebec049-639d-41f4-88b6-1cf3e3ab6116",
                        "player_id": "1d8c0b70-bbb7-4299-bb5f-d81df7df3385",
                        "pair_id": "8a9a64b2-6311-400d-961d-1cb2e8c5bad6",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "666d62b2-48f4-44f9-acc8-3d76cac46894",
                        "fullname": "José Ramírez",
                        "city": "Yuriria",
                        "weight": "74.00",
                        "height": "1.79",
                        "age": 31,
                        "experience": 14,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "da155962-bc14-4ab0-99d0-2a5041fb6375",
                        "player_id": "666d62b2-48f4-44f9-acc8-3d76cac46894",
                        "pair_id": "8a9a64b2-6311-400d-961d-1cb2e8c5bad6",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "3588b06f-60d4-477b-b808-3f3e7ce59c66",
                  "pair_id": "8a9a64b2-6311-400d-961d-1cb2e8c5bad6",
                  "match_id": "3e690b4d-ea5b-439b-bf36-0dc501c36f01",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:42",
                  "updated_at": "2025-03-22 03:21:42"
                }
              },
              {
                "pair": {
                  "id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                    "name": "open",
                    "description": "Libre"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "0dd9bfe6-37e8-462b-98e9-00998f179950",
                        "fullname": "Mario Guzmán",
                        "city": "Salvatierra",
                        "weight": "79.20",
                        "height": "1.81",
                        "age": 34,
                        "experience": 15,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "47b77c4c-b7aa-43c9-aa8e-07ec144b0342",
                        "player_id": "0dd9bfe6-37e8-462b-98e9-00998f179950",
                        "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "7aa7a788-2105-49c9-8ec5-39947fd96fa6",
                        "fullname": "Sandra Paredes",
                        "city": "Jaral del Progreso",
                        "weight": "64.80",
                        "height": "1.68",
                        "age": 27,
                        "experience": 9,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "6113b73a-0a60-4fcc-8700-c559e84ad09b",
                        "player_id": "7aa7a788-2105-49c9-8ec5-39947fd96fa6",
                        "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "efc04a38-1645-4a5c-a813-4bd3aadf3efe",
                  "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                  "match_id": "3e690b4d-ea5b-439b-bf36-0dc501c36f01",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:42",
                  "updated_at": "2025-03-22 03:21:42"
                }
              }
            ]
          },
          "relationship": {
            "id": "8111d768-4a63-4b99-aafa-e5b433c920b6",
            "group_id": "77669f69-4a91-4488-8837-b8a4924ec7a2",
            "match_id": "3e690b4d-ea5b-439b-bf36-0dc501c36f01",
            "created_at": "2025-03-22 03:21:42",
            "updated_at": "2025-03-22 03:21:42"
          }
        },
        {
          "match": {
            "id": "4b834126-9be8-46d9-b826-b4b49cc95041",
            "is_active": 1,
            "created_at": "2025-03-22 03:21:42",
            "updated_at": "2025-03-22 03:21:42",
            "registration_category": {
              "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
              "name": "open",
              "description": "Libre"
            },
            "match_category": {
              "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
              "name": "qualifier",
              "description": "Clasificación"
            },
            "match_status": {
              "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
              "name": "scheduled",
              "description": "Programado"
            },
            "pairs": [
              {
                "pair": {
                  "id": "e4c8b51b-a393-413d-913e-59d42748eb94",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                    "name": "open",
                    "description": "Libre"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "7c6982bf-5240-45e4-bded-4179aa189be6",
                        "fullname": "Fernando Guerra",
                        "city": "Villagrán",
                        "weight": "73.00",
                        "height": "1.77",
                        "age": 30,
                        "experience": 9,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "23a8cddb-65bc-4d30-b5b8-325300033bbf",
                        "player_id": "7c6982bf-5240-45e4-bded-4179aa189be6",
                        "pair_id": "e4c8b51b-a393-413d-913e-59d42748eb94",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "f1bf3056-1b0d-4317-b493-d4710ab8f1d9",
                        "fullname": "Isabel Pérez",
                        "city": "Abasolo",
                        "weight": "60.00",
                        "height": "1.65",
                        "age": 26,
                        "experience": 6,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "c127db62-c0fb-47f5-ae5b-708e5d716913",
                        "player_id": "f1bf3056-1b0d-4317-b493-d4710ab8f1d9",
                        "pair_id": "e4c8b51b-a393-413d-913e-59d42748eb94",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "2b396588-6605-4f91-ba6b-23b62d75c103",
                  "pair_id": "e4c8b51b-a393-413d-913e-59d42748eb94",
                  "match_id": "4b834126-9be8-46d9-b826-b4b49cc95041",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:42",
                  "updated_at": "2025-03-22 03:21:42"
                }
              },
              {
                "pair": {
                  "id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                  "is_eliminated": 0,
                  "is_active": 1,
                  "created_at": "2025-03-22 03:13:32",
                  "updated_at": "2025-03-22 03:13:32",
                  "registration_category": {
                    "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                    "name": "open",
                    "description": "Libre"
                  },
                  "players": [
                    {
                      "player": {
                        "id": "0dd9bfe6-37e8-462b-98e9-00998f179950",
                        "fullname": "Mario Guzmán",
                        "city": "Salvatierra",
                        "weight": "79.20",
                        "height": "1.81",
                        "age": 34,
                        "experience": 15,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "47b77c4c-b7aa-43c9-aa8e-07ec144b0342",
                        "player_id": "0dd9bfe6-37e8-462b-98e9-00998f179950",
                        "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    },
                    {
                      "player": {
                        "id": "7aa7a788-2105-49c9-8ec5-39947fd96fa6",
                        "fullname": "Sandra Paredes",
                        "city": "Jaral del Progreso",
                        "weight": "64.80",
                        "height": "1.68",
                        "age": 27,
                        "experience": 9,
                        "is_active": 1,
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      },
                      "relationship": {
                        "id": "6113b73a-0a60-4fcc-8700-c559e84ad09b",
                        "player_id": "7aa7a788-2105-49c9-8ec5-39947fd96fa6",
                        "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                        "created_at": "2025-03-22 03:13:32",
                        "updated_at": "2025-03-22 03:13:32"
                      }
                    }
                  ]
                },
                "relationship": {
                  "id": "3668241f-973b-4c40-a46a-b3bf08d72d51",
                  "pair_id": "57f1a4fc-e84b-44e1-81ea-9a960cb076f2",
                  "match_id": "4b834126-9be8-46d9-b826-b4b49cc95041",
                  "score": 0,
                  "is_winner": 0,
                  "created_at": "2025-03-22 03:21:42",
                  "updated_at": "2025-03-22 03:21:42"
                }
              }
            ]
          },
          "relationship": {
            "id": "fc4f832d-97fb-4f51-b283-6513ae6ad182",
            "group_id": "77669f69-4a91-4488-8837-b8a4924ec7a2",
            "match_id": "4b834126-9be8-46d9-b826-b4b49cc95041",
            "created_at": "2025-03-22 03:21:42",
            "updated_at": "2025-03-22 03:21:42"
          }
        },
        ...
      ]
    },
    ...
  ],
  "status": 200,
  "pagination": {
    "page": 1,
    "limit": 4,
    "total": 3,
    "count": 9,
    "offset": 0
  },
  "description": "Information about all the groups matches and pairs players with pagination"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0


code:
<!DOCTYPE html>

  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="icon" href="data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%2210 0 100 100%22><text y=%22.90em%22 font-size=%2290%22>📘</text></svg>">
  <title>👀 Partidos, parejas y jugadores de un grupo</title>

  Inicio
Repositorio Contacto

📊 Análisis de datos/

🔐 Autenticación/

👥 Grupos/

👥 + 🎾 Grupos y partidos/

👥 + 🎾 + 👫 + 🏃♂ Grupos, partidos, parejas y jugadores/

👀 Partidos, parejas y jugadores de un grupo/

👥 + 👫 Grupos y parejas/

🏷 / 🎾 Categorías de los partidos/

⏳ / 🎾 Estatus de los partidos/

🎾 Partidos/

🎾 + 👫 Partidos y parejas/

🎾 + 👫 + 🏃♂ Partidos, parejas y jugadores/

👫 Parejas/

👫 + 🏃♂ Parejas y jugadores/

🏃♂ Jugadores/

🏷 / 📋  Categorías de inscripción/

🏷 / 🧑 Roles/

🏆 Acciones de las rondas/

🧑 Usuarios/

👀 Partidos, parejas y jugadores de un grupo

[GET] /v1/groups/@id/matches/pairs/players

Parámetros de la ruta:

Parámetros 	Tipo 	Requerido 	Descripción

id 	string 	true 	Identificador del grupo.

Ejemplo:

 curl -X GET \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'X-API-KEY: API_KEY' \
  http://localhost:8080/v1/groups/@id/matches/pairs/players

Respuesta de la petición:

{
  "data": [
    {
      "match": {
        "id": "0f5fed47-79d3-4428-bb3e-a3e69d196bdf",
        "is_active": 1,
        "created_at": "2025-03-20 21:27:39",
        "updated_at": "2025-03-20 21:27:39",
        "registration_category": {
          "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
          "name": "open",
          "description": "Libre"
        },
        "match_category": {
          "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
          "name": "qualifier",
          "description": "Clasificación"
        },
        "match_status": {
          "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
          "name": "scheduled",
          "description": "Programado"
        },
        "pairs": [
          {
            "pair": {
              "id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
              "is_eliminated": 0,
              "is_active": 1,
              "created_at": "2025-03-20 21:23:55",
              "updated_at": "2025-03-20 21:23:55",
              "registration_category": {
                "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                "name": "open",
                "description": "Libre"
              },
              "players": [
                {
                  "player": {
                    "id": "db520e4c-f133-4c2f-8a95-d4ae12115dcf",
                    "fullname": "Enrique Castro",
                    "city": "Juventino Rosas",
                    "weight": "75.00",
                    "height": "1.79",
                    "age": 28,
                    "experience": 12,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "d704a086-5b83-4a5d-af30-c3e078bd9994",
                    "player_id": "db520e4c-f133-4c2f-8a95-d4ae12115dcf",
                    "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                },
                {
                  "player": {
                    "id": "4fafb80d-7603-483d-ae88-adc6a3c22030",
                    "fullname": "Lourdes Herrera",
                    "city": "Apaseo el Alto",
                    "weight": "62.50",
                    "height": "1.67",
                    "age": 25,
                    "experience": 7,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "e39cb145-dc87-43fc-8658-a9897a823c12",
                    "player_id": "4fafb80d-7603-483d-ae88-adc6a3c22030",
                    "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                }
              ]
            },
            "relationship": {
              "id": "8eb56e51-e000-41ec-961e-0311189decc8",
              "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
              "match_id": "0f5fed47-79d3-4428-bb3e-a3e69d196bdf",
              "score": 0,
              "is_winner": 0,
              "created_at": "2025-03-20 21:27:39",
              "updated_at": "2025-03-20 21:27:39"
            }
          },
          {
            "pair": {
              "id": "5de44dbe-9953-448f-a9bb-064f737b4111",
              "is_eliminated": 0,
              "is_active": 1,
              "created_at": "2025-03-20 21:23:55",
              "updated_at": "2025-03-20 21:23:55",
              "registration_category": {
                "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                "name": "open",
                "description": "Libre"
              },
              "players": [
                {
                  "player": {
                    "id": "fb093289-8c9b-4ed2-9e71-ef1b4c0cb67b",
                    "fullname": "Roberto Díaz",
                    "city": "Jerécuaro",
                    "weight": "78.00",
                    "height": "1.83",
                    "age": 34,
                    "experience": 13,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "14b2533e-f5e7-4792-b858-e62a359c8511",
                    "player_id": "fb093289-8c9b-4ed2-9e71-ef1b4c0cb67b",
                    "pair_id": "5de44dbe-9953-448f-a9bb-064f737b4111",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                },
                {
                  "player": {
                    "id": "851b6bed-765c-4675-b77d-513fd64e3fc9",
                    "fullname": "Claudia Mendoza",
                    "city": "Tarimoro",
                    "weight": "64.50",
                    "height": "1.70",
                    "age": 27,
                    "experience": 8,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "8fb7d4f4-74cb-4911-821a-1f6bcd5154d1",
                    "player_id": "851b6bed-765c-4675-b77d-513fd64e3fc9",
                    "pair_id": "5de44dbe-9953-448f-a9bb-064f737b4111",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                }
              ]
            },
            "relationship": {
              "id": "a93ccf7e-dbfd-4541-830b-3e607fd94dd4",
              "pair_id": "5de44dbe-9953-448f-a9bb-064f737b4111",
              "match_id": "0f5fed47-79d3-4428-bb3e-a3e69d196bdf",
              "score": 0,
              "is_winner": 0,
              "created_at": "2025-03-20 21:27:39",
              "updated_at": "2025-03-20 21:27:39"
            }
          }
        ]
      },
      "relationship": {
        "id": "8779d8d2-dcab-42f7-a886-2f855224b72c",
        "group_id": "fb983148-d4f6-41c3-8fb5-bda2146f7fa6",
        "match_id": "0f5fed47-79d3-4428-bb3e-a3e69d196bdf",
        "created_at": "2025-03-20 21:27:39",
        "updated_at": "2025-03-20 21:27:39"
      }
    },
    {
      "match": {
        "id": "5ef5e266-002f-4934-a11a-3fcb18d53394",
        "is_active": 1,
        "created_at": "2025-03-20 21:27:39",
        "updated_at": "2025-03-20 21:27:39",
        "registration_category": {
          "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
          "name": "open",
          "description": "Libre"
        },
        "match_category": {
          "id": "ad14f6d0-5296-4a6e-a986-6a99a20365b7",
          "name": "qualifier",
          "description": "Clasificación"
        },
        "match_status": {
          "id": "b06b08ff-0f65-456c-ae90-3dd740a26c9b",
          "name": "scheduled",
          "description": "Programado"
        },
        "pairs": [
          {
            "pair": {
              "id": "bc436a6a-57b8-43a2-b407-b4110a11dfe9",
              "is_eliminated": 0,
              "is_active": 1,
              "created_at": "2025-03-20 21:23:55",
              "updated_at": "2025-03-20 21:23:55",
              "registration_category": {
                "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                "name": "open",
                "description": "Libre"
              },
              "players": [
                {
                  "player": {
                    "id": "81c3cb2e-8e8b-451f-bea0-6e80ebb8fc71",
                    "fullname": "Karla Rivas",
                    "city": "Victoria",
                    "weight": "63.00",
                    "height": "1.68",
                    "age": 27,
                    "experience": 7,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "6411fcdc-3bda-48b0-a8eb-b8f67bf999ba",
                    "player_id": "81c3cb2e-8e8b-451f-bea0-6e80ebb8fc71",
                    "pair_id": "bc436a6a-57b8-43a2-b407-b4110a11dfe9",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                },
                {
                  "player": {
                    "id": "fcc16996-934e-4e19-a167-af92457859ae",
                    "fullname": "Ricardo Silva",
                    "city": "Doctor Mora",
                    "weight": "74.50",
                    "height": "1.80",
                    "age": 32,
                    "experience": 12,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "e138e8aa-751e-48c2-baa3-04acc2357be3",
                    "player_id": "fcc16996-934e-4e19-a167-af92457859ae",
                    "pair_id": "bc436a6a-57b8-43a2-b407-b4110a11dfe9",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                }
              ]
            },
            "relationship": {
              "id": "92d1b565-7c42-4961-92c0-b116281c4ea4",
              "pair_id": "bc436a6a-57b8-43a2-b407-b4110a11dfe9",
              "match_id": "5ef5e266-002f-4934-a11a-3fcb18d53394",
              "score": 0,
              "is_winner": 0,
              "created_at": "2025-03-20 21:27:39",
              "updated_at": "2025-03-20 21:27:39"
            }
          },
          {
            "pair": {
              "id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
              "is_eliminated": 0,
              "is_active": 1,
              "created_at": "2025-03-20 21:23:55",
              "updated_at": "2025-03-20 21:23:55",
              "registration_category": {
                "id": "5d840f53-ffb0-427c-8554-bfff885d6b6a",
                "name": "open",
                "description": "Libre"
              },
              "players": [
                {
                  "player": {
                    "id": "db520e4c-f133-4c2f-8a95-d4ae12115dcf",
                    "fullname": "Enrique Castro",
                    "city": "Juventino Rosas",
                    "weight": "75.00",
                    "height": "1.79",
                    "age": 28,
                    "experience": 12,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "d704a086-5b83-4a5d-af30-c3e078bd9994",
                    "player_id": "db520e4c-f133-4c2f-8a95-d4ae12115dcf",
                    "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                },
                {
                  "player": {
                    "id": "4fafb80d-7603-483d-ae88-adc6a3c22030",
                    "fullname": "Lourdes Herrera",
                    "city": "Apaseo el Alto",
                    "weight": "62.50",
                    "height": "1.67",
                    "age": 25,
                    "experience": 7,
                    "is_active": 1,
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  },
                  "relationship": {
                    "id": "e39cb145-dc87-43fc-8658-a9897a823c12",
                    "player_id": "4fafb80d-7603-483d-ae88-adc6a3c22030",
                    "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
                    "created_at": "2025-03-20 21:23:55",
                    "updated_at": "2025-03-20 21:23:55"
                  }
                }
              ]
            },
            "relationship": {
              "id": "bc6137bf-8342-40b2-8a95-29b8ae6f89c0",
              "pair_id": "94b132c7-7de0-48c0-8990-67c08fc677b7",
              "match_id": "5ef5e266-002f-4934-a11a-3fcb18d53394",
              "score": 0,
              "is_winner": 0,
              "created_at": "2025-03-20 21:27:39",
              "updated_at": "2025-03-20 21:27:39"
            }
          }
        ]
      },
      "relationship": {
        "id": "4e68dbaa-759e-47f0-a300-6b0630fe4d26",
        "group_id": "fb983148-d4f6-41c3-8fb5-bda2146f7fa6",
        "match_id": "5ef5e266-002f-4934-a11a-3fcb18d53394",
        "created_at": "2025-03-20 21:27:39",
        "updated_at": "2025-03-20 21:27:39"
      }
    },
    ...
  ],
  "status": 200,
  "description": "Information about the group matches with pairs players"
}

Generated with swiki, a simple wiki generator written in POSIX sh.

© CC-BY-4.0