Kudos
Los Kudos son el sistema de reconocimiento de Dailybot para celebrar los logros del equipo. Usa este endpoint para otorgar kudos a miembros del equipo programáticamente, con soporte para reconocimiento anónimo y valores de empresa.
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /v1/kudos/ | Listar kudos (paginado) |
| POST | /v1/kudos/ | Crear un kudo |
| POST | /v1/kudos/{kudo-id}/boost/ | Dar boost a un kudo |
Listar Kudos
/v1/kudos/API keyCLI AuthDevuelve una lista paginada de kudos (filtrada por el usuario autenticado: recibidos o dados).
Parámetros de Consulta
| Name | Type | Required | Description |
|---|---|---|---|
filter | string | Optional | kudos_received or kudos_given (case-insensitive). Invalid values return 400 invalid_kudos_filter. |
sender_uuid | string (UUID) | Optional | Filtra por kudos enviados por un usuario específico. |
receiver_uuid | string (UUID) | Optional | Filtra por kudos recibidos por un usuario específico. |
start_date | string (YYYY-MM-DD) | Optional | Fecha de inicio inclusiva (zona horaria del usuario). También aceptado: date_start, date_from. Valores inválidos devuelven 400 invalid_date_range. |
end_date | string (YYYY-MM-DD) | Optional | Fecha de fin inclusiva, 23:59:59 en la zona horaria del usuario. También aceptado: date_end, date_to. Valores inválidos devuelven 400 invalid_date_range. |
search | string | Optional | Búsqueda de subcadena sin distinción de mayúsculas en el mensaje del kudo. Máximo 256 caracteres — valores más largos devuelven 400 search_query_too_long. |
page | integer | Optional | Número de página (índice base 1). Por defecto: 1. |
page_size | integer | Optional | Elementos por página. Por defecto: 50, máximo: 200. Alias: limit. |
curl "https://api.dailybot.com/v1/kudos/?filter=kudos_received&limit=10&offset=0" \
-H "X-API-KEY: tu_api_key"Response200 OK
{
"count": 10,
"next": "https://api.dailybot.com/v1/kudos/?limit=10&offset=10",
"previous": null,
"results": [
{
"id": "kudo-uuid",
"parent": null,
"user": {
"uuid": "user-uuid",
"full_name": "María García",
"image": "...",
"role": "member"
},
"receivers": [
{
"uuid": "user-uuid-2",
"full_name": "Carlos López"
}
],
"company_value": {
"id": "value-uuid",
"name": "Trabajo en equipo"
},
"content": "¡Gran trabajo en el release!",
"is_anonymous": false,
"by_dailybot": false,
"metadata": {},
"created_at": "2026-02-25T10:00:00Z"
}
]
}Enviar Kudos
/v1/kudos/API keyCLI AuthCrea un nuevo kudo. Proporciona receivers (lista de identificadores) o users_receivers y/o teams_receivers.
Parámetros del Cuerpo
| Name | Type | Required | Description |
|---|---|---|---|
receivers | array of strings | Optional | Identificadores de usuario (ej. UUIDs) que reciben el kudo. Requerido si no se usan users_receivers y teams_receivers. |
users_receivers | array of strings (UUID) | Optional | UUIDs de usuarios que reciben el kudo. |
teams_receivers | array of strings (UUID) | Optional | UUIDs de equipos; todos los miembros activos reciben el kudo. |
content | string | Optional | Texto del mensaje del kudo (HTML-safe). |
is_anonymous | boolean | Optional | Si es true, el remitente se anonimiza. Por defecto: false. |
company_value | string (UUID) | Optional | ID del valor de empresa a asociar (si la organización usa valores). |
curl -X POST "https://api.dailybot.com/v1/kudos/" \
-H "X-API-KEY: tu_api_key" \
-H "Content-Type: application/json" \
-d '{
"receivers": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
"content": "Excelente trabajo en la integración API!",
"company_value": "value-uuid-aqui",
"is_anonymous": false
}'Response200 OK
{
"id": "kudo-uuid",
"user": {
"uuid": "user-uuid",
"full_name": "María García"
},
"receivers": [
{
"uuid": "user-uuid-2",
"full_name": "Carlos López"
}
],
"company_value": {
"id": "value-uuid",
"name": "Trabajo en equipo"
},
"content": "¡Gran trabajo!",
"is_anonymous": false,
"by_dailybot": false,
"created_at": "2026-02-25T10:00:00Z",
"children_kudos": [],
"boost_count": 0,
"has_boosted": false
}Response400 Bad Request
{
"detail": "The receivers list should not be empty",
"code": "params_validation_error"
}Response400 Bad Request — self-kudo
{
"detail": "You cannot give kudos to yourself",
"code": "cant_give_kudos_to_yourself"
}Response404 Not Found
{
"detail": "One or more receivers were not found in Dailybot, or were duplicated in the input",
"code": "no_users_found"
}Tip
receivers. Cada destinatario recibirá su propia notificación de kudos.Info
Boost a un kudo
/v1/kudos/{kudo-id}/boost/API keyCLI AuthDa boost a un kudo (añade un '+1' del usuario autenticado). Solo se pueden boostear kudos originales (de nivel superior); el usuario no puede boostear su propio kudo ni el mismo kudo dos veces.
curl -X POST "https://api.dailybot.com/v1/kudos/kudo-uuid-aqui/boost/" \
-H "X-API-KEY: tu_api_key" \
-H "Content-Type: application/json"Response201 Created
{
"id": "boost-kudo-uuid",
"parent": "kudo-uuid",
"user": {
"uuid": "user-uuid",
"full_name": "María García"
},
"created_at": "2026-02-25T10:05:00Z",
"boost_count": 1
}Response400 Bad Request
{
"detail": "You cannot boost your own kudo.",
"code": "cannot_boost_own_kudo"
}Response400 Bad Request — boostear un boost
{
"detail": "You can only boost original kudos.",
"code": "cannot_boost_child_kudo"
}Response404 Not Found
{
"detail": "Not found.",
"code": "not_found"
}Response409 Conflict
{
"detail": "You have already boosted this kudo.",
"code": "already_boosted"
}Kudos de toda la organización
Devuelve todos los kudos de nivel superior en toda la organización (las respuestas quedan excluidas). Requiere rol de admin de la organización. Siempre paginado (envolvente estándar). Ordenado porcreated_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 token de sesión). El requisito de rol admin aplica sea cual sea la credencial.
/v1/kudos/organization/API keyCLI AuthDevuelve todos los kudos de nivel superior de la organización. Solo admin. Admite filter, emisor/receptor y rangos de fechas legacy y con zona horaria.
Response200 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": "María García",
"image": "https://avatars.slack-edge.com/..."
},
"receivers": [
{
"uuid": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
"full_name": "Carlos López",
"image": "https://avatars.slack-edge.com/..."
}
],
"company_value": {
"id": "d4735e3a-265e-16d7-3dca-60b8831c8295",
"value": "Trabajo en equipo",
"description": "Colaboración y apoyo",
"emoji": "🤝",
"i18n_meta": {}
},
"content": "¡Gracias por la increíble ayuda con el lanzamiento!",
"is_anonymous": false,
"created_at": "2026-07-08T14:30:00.123456Z"
}
]
}Response400 — invalid_date_range
{
"detail": "Invalid 'start_date' value. Expected YYYY-MM-DD.",
"code": "invalid_date_range"
}Response400 — invalid_kudos_filter
{
"detail": "Not valid kudos filter. Accepted values: kudos_received, kudos_given.",
"code": "invalid_kudos_filter"
}Response400 — invalid_sender_uuid
{
"detail": "Invalid UUID format for 'sender_uuid'.",
"code": "invalid_sender_uuid"
}Response403 — org_admin_required
{
"detail": "This endpoint requires organization admin privileges.",
"code": "org_admin_required"
}Info
parent__isnull=True). Si la organización tiene deshabilitados los kudos anónimos (allow_anonymous_messages = false), los kudos anónimos se excluyen. limit/offsetse aceptan como alias retrocompatibles para page_size y paginación por offset.Muro de la fama
Devuelve un ranking de los mejores receptores de kudos en la organización para un período determinado.
/v1/kudos/wall-of-fame/API keyCLI AuthDevuelve un ranking paginado de los mejores receptores de kudos.
Límites de Tasa