Skip to content
ver .md sin procesar

Kudos

Envía y consulta kudos, incluyendo estadísticas por organización y el ranking del wall-of-fame. El campo `by_dailybot` se elimina para peticiones con token CLI.

GET/v1/kudos/API keyCLI AuthPaginación por número de página

List kudos

Listado paginado de kudos accesibles al llamante. Devuelve el envelope estándar ({count, next, previous, results}). Admite filtros de emisor/receptor, rango de fechas y búsqueda por mensaje.

Parámetros de consulta

NombreTipoRequeridoDescripción
filterstringOpcionalTipo de filtro: kudos_received o kudos_given (sin distinción de mayúsculas). Valores inválidos devuelven 400 invalid_kudos_filter.
sender_uuidstring (uuid)OpcionalFiltra por kudos enviados por un usuario específico.
receiver_uuidstring (uuid)OpcionalFiltra por kudos recibidos por un usuario específico.
start_datestring (YYYY-MM-DD)OpcionalFecha de inicio inclusiva (zona horaria del usuario). También aceptado: date_start, date_from.
end_datestring (YYYY-MM-DD)OpcionalFecha de fin inclusiva, 23:59:59 en la zona horaria del usuario. También aceptado: date_end, date_to.
searchstringOpcionalBúsqueda de subcadena sin distinción de mayúsculas en el mensaje del kudo. Máximo 256 caracteres.
pageintegerOpcionalNúmero de página (índice base 1). Por defecto: 1.
page_sizeintegerOpcionalElementos por página. Por defecto: 50, máximo: 200. Alias: limit.

Respuesta

{
  "count": "integer",
  "next": "string|null",
  "previous": "string|null",
  "results": "array<{ id, sender, receiver, message, created_at, ... }>"
}

Errores

EstadoCuándo
400Error de validación (invalid_kudos_filter, search_query_too_long, invalid_date_range)
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/kudos/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

POST/v1/kudos/API keyCLI Auth

Give kudos

Body: receivers (array), message; optional kudo_type_uuid, is_public, team_uuid, by_dailybot. Note: by_dailybot is stripped when the caller uses a CLI token.

Errores

EstadoCuándo
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
400Validation error
curl -sS -X POST 'https://api.dailybot.com/v1/kudos/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • by_dailybot is stripped for CLI tokens.
GET/v1/kudos/organization/API keyCLI AuthPaginación por número de página

Listar todos los kudos de la organización (solo admin)

Devuelve todos los kudos de nivel superior en toda la organización. Requiere rol de admin de la organización. Acepta API key de organización (X-API-KEY) o token Bearer del CLI (Authorization: Bearer <token>). Admite filtros de emisor/receptor, rangos de fechas legacy y timezone-aware, y filtro por tipo (kudos_received / kudos_given). Solo se devuelven kudos de nivel superior (se excluyen respuestas).

Parámetros de consulta

NombreTipoRequeridoDescripción
filterstringOpcionalTipo de filtro: 'kudos_received' o 'kudos_given' (sin distinción de mayúsculas). Valores inválidos devuelven 400 invalid_kudos_filter.
sender_uuidstring (uuid)OpcionalFiltra por emisor (usuario que envió el kudo). Debe ser un UUID v4 válido; de lo contrario devuelve 400 invalid_sender_uuid.
receiver_uuidstring (uuid)OpcionalFiltra por receptor (usuario que recibió el kudo). Debe ser un UUID v4 válido; de lo contrario devuelve 400 invalid_receiver_uuid.
start_datestring (YYYY-MM-DD)OpcionalFecha de inicio inclusiva con zona horaria (zona horaria del usuario). Preferida sobre el legacy date_start.
end_datestring (YYYY-MM-DD)OpcionalFecha de fin inclusiva con zona horaria, 23:59:59 en la zona horaria del usuario. Preferida sobre el legacy date_end.
date_startstring (YYYY-MM-DD)OpcionalFiltro legacy de inicio ingenuo por día (siempre disponible). Se acumula con start_date si ambos se envían.
date_endstring (YYYY-MM-DD)OpcionalFiltro legacy de fin ingenuo por día (siempre disponible). Se acumula con end_date si ambos se envían.
searchstringOpcionalBúsqueda de subcadena sin distinción de mayúsculas en el contenido del kudo. Máximo 256 caracteres.
pageintegerOpcionalNúmero de página (índice base 1). Por defecto: 1.
page_sizeintegerOpcionalElementos por página. Por defecto: 25, máximo: 100. Alias: limit.
offsetintegerOpcionalPaginación por offset (aceptado por retrocompatibilidad).

Respuesta

{
  "count": "integer",
  "next": "string|null",
  "previous": "string|null",
  "results": "array<{ id, user: { uuid, full_name, image }, receivers: array<{ uuid, full_name, image }>, company_value: { id, value, description, emoji, i18n_meta } | null, content, is_anonymous, created_at }>"
}

Errores

EstadoCuándo
400Error de validación (invalid_date_range, invalid_kudos_filter, invalid_sender_uuid, invalid_receiver_uuid, search_query_too_long)
401Missing/invalid/expired credential
403Autenticado pero no es admin de la organización (`org_admin_required`)
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/kudos/organization/?start_date=2026-06-01&end_date=2026-06-30' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

  • Solo se devuelven kudos de nivel superior (respuestas excluidas vía parent__isnull=True).
  • Si la organización tiene los kudos anónimos deshabilitados (allow_anonymous_messages=false), los kudos anónimos se excluyen de los resultados.
  • Ordenado por created_at DESC con id como criterio de desempate para paginación determinista.
GET/v1/kudos/wall-of-fame/API keyCLI AuthPaginación por número de página

Wall of fame leaderboard

Wall of fame leaderboard

Parámetros de consulta

NombreTipoRequeridoDescripción
periodenum (week,month,quarter,year,all_time)OpcionalDefault: month.
team_uuidstring (uuid)Opcional
pageintegerOpcionalNúmero de página (índice base 1). Por defecto: 1.
page_sizeintegerOpcionalElementos por página. Por defecto: 50, máximo: 200. Alias: limit.

Errores

EstadoCuándo
401Missing/invalid/expired credential
403Authenticated but not permitted
429Throttled - Retry-After header set
curl -sS -X GET 'https://api.dailybot.com/v1/kudos/wall-of-fame/' -H 'X-API-KEY: $DAILYBOT_API_KEY'

Probarlo

Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.

Kudos

Lista, envía y gestiona kudos para el reconocimiento del equipo.

Resumen de endpoints

Método Endpoint Descripción
GET /v1/kudos/ Listar kudos del usuario autenticado
GET /v1/kudos/organization/ Listar todos los kudos de la organización (solo admin)
GET /v1/kudos/wall-of-fame/ Principales contribuidores de kudos
POST /v1/kudos/ Enviar kudos
POST /v1/kudos/{id}/boost/ Impulsar un kudo

GET /v1/kudos/organization/

Devuelve todos los kudos de nivel superior de toda la organización. Requiere rol de admin de la organización. Siempre paginado (envelope estándar). Ordenado por created_at DESC con id como criterio de desempate determinista.

Autenticación: Acepta tanto X-API-KEY (API key de organización) como Authorization: Bearer <token> (token Bearer del CLI o de sesión). El requisito de admin aplica a cualquiera de las dos credenciales — los no-admin reciben 403 con code: "org_admin_required".

Parámetros de query

Nombre Tipo Default Descripción
page integer 1 Número de página (base 1).
page_size integer 25 Ítems por página (máx. 100). limit aceptado como alias.
filter string kudos_received o kudos_given (sin distinción de mayúsculas). Valores inválidos devuelven 400 invalid_kudos_filter.
search string Búsqueda de subcadena sin distinción de mayúsculas en el contenido del kudo. Máx. 256 chars. Si excede devuelve 400 search_query_too_long.
start_date string (YYYY-MM-DD) Fecha inicio inclusiva con zona horaria (zona horaria del usuario). Preferida sobre el legacy date_start.
end_date string (YYYY-MM-DD) Fecha fin inclusiva (23:59:59 en la zona horaria del usuario). Preferida sobre el legacy date_end.
date_start string (YYYY-MM-DD) Filtro legacy de inicio ingenuo por día (aún disponible). Se acumula con start_date si ambos se envían.
date_end string (YYYY-MM-DD) Filtro legacy de fin ingenuo por día (aún disponible). Se acumula con end_date si ambos se envían.
sender_uuid string (UUID) Filtra por el usuario que envió el kudo. Debe ser un UUID v4 válido o la API devuelve 400 invalid_sender_uuid.
receiver_uuid string (UUID) Filtra por el usuario que recibió el kudo. Debe ser un UUID v4 válido o la API devuelve 400 invalid_receiver_uuid.

Guía sobre filtros de fecha: Prefiere start_date / end_date para integraciones nuevas — respetan la zona horaria del usuario autenticado. date_start / date_end siguen disponibles como filtros legacy ingenuos por día y pueden combinarse con la pareja timezone-aware (los filtros se acumulan). Si start_date es posterior a end_date, la API devuelve 400 invalid_date_range.

Ejemplos

# Listar todos los kudos de la organización (paginación por defecto)
curl -sS "https://api.dailybot.com/v1/kudos/organization/" \
  -H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"

# Filtrar por rango de fechas (timezone-aware)
curl -sS "https://api.dailybot.com/v1/kudos/organization/?start_date=2026-06-01&end_date=2026-06-30" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

# Filtrar por emisor
curl -sS "https://api.dailybot.com/v1/kudos/organization/?sender_uuid=f47ac10b-58cc-4372-a567-0e02b2c3d479" \
  -H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"

# Filtrar por receptor con paginación
curl -sS "https://api.dailybot.com/v1/kudos/organization/?receiver_uuid=7c9e6679-7425-40de-944b-e07fc1f90ae7&page=2&page_size=10" \
  -H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"

# Filtrar por tipo (solo kudos recibidos en toda la organización)
curl -sS "https://api.dailybot.com/v1/kudos/organization/?filter=kudos_received" \
  -H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"

Respuesta (200 OK)

{
  "count": 156,
  "next": "https://api.dailybot.com/v1/kudos/organization/?page=2",
  "previous": null,
  "results": [
    {
      "id": "a8283c36-8e5f-40cb-92ca-9e483eb6bde2",
      "user": {
        "uuid": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
        "full_name": "Jane Smith",
        "image": "https://avatars.slack-edge.com/..."
      },
      "receivers": [
        {
          "uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
          "full_name": "John Doe",
          "image": "https://avatars.slack-edge.com/..."
        }
      ],
      "company_value": {
        "id": "d4735e3a-265e-16d7-3dca-60b8831c8295",
        "value": "Teamwork",
        "description": "Colaboración y apoyo",
        "emoji": "🤝",
        "i18n_meta": {}
      },
      "content": "¡Gracias por la ayuda increíble en el lanzamiento del producto!",
      "is_anonymous": false,
      "created_at": "2026-07-08T14:30:00.123456Z"
    }
  ]
}

Campos de la respuesta

Campo Tipo Descripción
count integer Total de kudos que coinciden con la query (en todas las páginas).
next string | null URL de la siguiente página, o null en la última.
previous string | null URL de la página anterior, o null en la primera.
results array Objetos kudo para la página actual.

Objeto kudo

Campo Tipo Descripción
id string (UUID) Identificador único del kudo.
user object Emisor: { uuid, full_name, image }. Cuando is_anonymous es true, viene anonimizado (nombre aleatorio, sin identidad real).
receivers array Receptores: [{ uuid, full_name, image }].
company_value object | null Valor de empresa adjunto: { id, value, description, emoji, i18n_meta }. null cuando no hay valor.
content string Mensaje del kudo (HTML sanitizado).
is_anonymous boolean Si el kudo se envió de forma anónima.
created_at string (ISO 8601) Marca de tiempo de creación.

Respuestas de error

400 invalid_date_rangestart_date > end_date o fecha mal formada.

{
  "detail": "Invalid 'start_date' value. Expected YYYY-MM-DD.",
  "code": "invalid_date_range"
}

400 invalid_kudos_filterfilter no es uno de los valores aceptados (sin distinción de mayúsculas).

{
  "detail": "Not valid kudos filter. Accepted values: kudos_received, kudos_given.",
  "code": "invalid_kudos_filter"
}

403 org_admin_required — el llamante no es admin de la organización.

{
  "detail": "This endpoint requires organization admin privileges.",
  "code": "org_admin_required"
}

400 invalid_sender_uuidsender_uuid no es un UUID válido.

{
  "detail": "Invalid UUID format for 'sender_uuid'.",
  "code": "invalid_sender_uuid"
}

400 invalid_receiver_uuidreceiver_uuid no es un UUID válido.

{
  "detail": "Invalid UUID format for 'receiver_uuid'.",
  "code": "invalid_receiver_uuid"
}

401 Unauthorized — Credencial ausente o inválida.

403 Forbidden — Usuario autenticado sin rol de admin de la organización.

Notas

  • Solo se devuelven kudos de nivel superior — las respuestas se excluyen (parent__isnull=True).
  • Si la organización tiene los kudos anónimos deshabilitados (allow_anonymous_messages = false), los kudos anónimos se excluyen de los resultados.
  • limit / offset se aceptan como aliases retrocompatibles para page_size y paginación por offset.

GET /v1/kudos/

Devuelve kudos del usuario autenticado. Paginado (ordenación por defecto: -id).

Parámetros de query

Nombre Tipo Default Descripción
page integer 1 Número de página. offset aceptado como alias.
page_size integer 25 Ítems por página (máx. 100). limit aceptado como alias.
type string kudos_received Alias deprecado — usa filter en su lugar.
filter string kudos_received kudos_received o kudos_given (sin distinción de mayúsculas). Valores inválidos devuelven 400 invalid_kudos_filter.
user_uuid string (UUID) Filtrar por usuario.
start_date string Fecha inicio inclusivo (YYYY-MM-DD, zona horaria del llamante). También: date_start, date_from.
end_date string Fecha fin inclusivo (YYYY-MM-DD, zona horaria del llamante). También: date_end, date_to.
search string Búsqueda de subcadena sin distinción de mayúsculas sobre el campo message del kudo. Máx. 256 chars. Si excede devuelve 400 search_query_too_long.

Errores de validación: Rangos invertidos (start_date > end_date) o fechas mal formadas devuelven 400 invalid_date_range.

curl "https://api.dailybot.com/v1/kudos/?type=kudos_received&start_date=2026-07-01&end_date=2026-07-31&page_size=50" \
  -H "X-API-KEY: $DAILYBOT_API_KEY"

Respuesta (200 OK):

{
  "count": 15,
  "next": null,
  "previous": null,
  "results": [
    {
      "id": "kudos-uuid",
      "from_user": { "uuid": "usr_001", "name": "Alice" },
      "to_user": { "uuid": "usr_002", "name": "Bob" },
      "message": "¡Gran trabajo en el release!",
      "points": 1,
      "created_at": "2026-07-05T14:00:00Z"
    }
  ]
}

POST /v1/kudos/

Envía kudos a un miembro del equipo.

Parámetros del body

Nombre Tipo Requerido Descripción
receivers array de strings Condicional Identificadores de usuario (UUIDs, emails o IDs externos). Requerido si no se usan users_receivers ni teams_receivers.
users_receivers array de UUIDs Condicional UUIDs explícitos de usuarios que reciben el kudo.
teams_receivers array de UUIDs No UUIDs de equipos. Todos los miembros activos reciben el kudo.
content string No Texto del mensaje de kudos (seguro para HTML).
is_anonymous boolean No Si es true, el remitente es anonimizado. Por defecto: false.
company_value string (UUID) No ID del valor de empresa a adjuntar (si la organización usa valores).
curl -X POST "https://api.dailybot.com/v1/kudos/" \
  -H "X-API-KEY: $DAILYBOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "receivers": ["usr_002"],
    "content": "¡Excelente trabajo en el rediseño de la API!",
    "company_value": "value-uuid"
  }'