Kudos
Envie e consulte kudos, incluindo estatísticas por organização e o ranking do wall-of-fame. O campo `by_dailybot` é removido para chamadas com token CLI.
Nesta página
List kudos
Lista paginada de kudos acessíveis ao chamador. Retorna o envelope padrão ({count, next, previous, results}). Suporta filtros de emissor/receptor, intervalo de datas e busca por mensagem.
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| filter | string | Opcional | Tipo de filtro: kudos_received ou kudos_given (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter. |
| sender_uuid | string (uuid) | Opcional | Filtra por kudos enviados por um usuário específico. |
| receiver_uuid | string (uuid) | Opcional | Filtra por kudos recebidos por um usuário específico. |
| start_date | string (YYYY-MM-DD) | Opcional | Data de início inclusiva (fuso horário do usuário). Também aceito: date_start, date_from. |
| end_date | string (YYYY-MM-DD) | Opcional | Data de fim inclusiva, 23:59:59 no fuso horário do usuário. Também aceito: date_end, date_to. |
| search | string | Opcional | Busca de substring sem distinção de maiúsculas na mensagem do kudo. Máximo 256 caracteres. |
| page | integer | Opcional | Número da página (índice base 1). Padrão: 1. |
| page_size | integer | Opcional | Itens por página. Padrão: 50, máximo: 200. Alias: limit. |
Resposta
{
"count": "integer",
"next": "string|null",
"previous": "string|null",
"results": "array<{ id, sender, receiver, message, created_at, ... }>"
}Erros
| Status | Quando |
|---|---|
| 400 | Erro de validação (invalid_kudos_filter, search_query_too_long, invalid_date_range) |
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
curl -sS -X GET 'https://api.dailybot.com/v1/kudos/' -H 'X-API-KEY: $DAILYBOT_API_KEY'Testar
Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.
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.
Erros
| Status | Quando |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
| 400 | Validation error |
curl -sS -X POST 'https://api.dailybot.com/v1/kudos/' -H 'X-API-KEY: $DAILYBOT_API_KEY'Testar
Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.
- by_dailybot is stripped for CLI tokens.
Listar todos os kudos da organização (apenas admin)
Retorna todos os kudos de nível superior em toda a organização. Requer papel de admin da organização. Aceita chave de API da organização (X-API-KEY) ou token Bearer do CLI (Authorization: Bearer <token>). Suporta filtros de emissor/receptor, intervalos de datas legado e com fuso horário, e filtro por tipo (kudos_received / kudos_given). Apenas kudos de nível superior são retornados (respostas excluídas).
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| filter | string | Opcional | Tipo de filtro: 'kudos_received' ou 'kudos_given' (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter. |
| sender_uuid | string (uuid) | Opcional | Filtra por emissor (usuário que enviou o kudo). Deve ser um UUID v4 válido; caso contrário retorna 400 invalid_sender_uuid. |
| receiver_uuid | string (uuid) | Opcional | Filtra por receptor (usuário que recebeu o kudo). Deve ser um UUID v4 válido; caso contrário retorna 400 invalid_receiver_uuid. |
| start_date | string (YYYY-MM-DD) | Opcional | Data de início inclusiva com fuso horário (fuso horário do usuário). Preferida sobre o legado date_start. |
| end_date | string (YYYY-MM-DD) | Opcional | Data de fim inclusiva com fuso horário, 23:59:59 no fuso horário do usuário. Preferida sobre o legado date_end. |
| date_start | string (YYYY-MM-DD) | Opcional | Filtro legado de início ingênuo por dia (sempre disponível). Combina com start_date se ambos forem enviados. |
| date_end | string (YYYY-MM-DD) | Opcional | Filtro legado de fim ingênuo por dia (sempre disponível). Combina com end_date se ambos forem enviados. |
| search | string | Opcional | Busca de substring sem distinção de maiúsculas no conteúdo do kudo. Máximo 256 caracteres. |
| page | integer | Opcional | Número da página (índice base 1). Padrão: 1. |
| page_size | integer | Opcional | Itens por página. Padrão: 25, máximo: 100. Alias: limit. |
| offset | integer | Opcional | Paginação por offset (aceito por retrocompatibilidade). |
Resposta
{
"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 }>"
}Erros
| Status | Quando |
|---|---|
| 400 | Erro de validação (invalid_date_range, invalid_kudos_filter, invalid_sender_uuid, invalid_receiver_uuid, search_query_too_long) |
| 401 | Missing/invalid/expired credential |
| 403 | Autenticado mas não é admin da organização (`org_admin_required`) |
| 429 | Throttled - 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'Testar
Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.
- Apenas kudos de nível superior são retornados (respostas excluídas via parent__isnull=True).
- Se a organização tem kudos anônimos desabilitados (allow_anonymous_messages=false), kudos anônimos são excluídos dos resultados.
- Ordenado por created_at DESC com id como critério de desempate para paginação determinística.
Wall of fame leaderboard
Wall of fame leaderboard
Parâmetros de consulta
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| period | enum (week,month,quarter,year,all_time) | Opcional | Default: month. |
| team_uuid | string (uuid) | Opcional | — |
| page | integer | Opcional | Número da página (índice base 1). Padrão: 1. |
| page_size | integer | Opcional | Itens por página. Padrão: 50, máximo: 200. Alias: limit. |
Erros
| Status | Quando |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
curl -sS -X GET 'https://api.dailybot.com/v1/kudos/wall-of-fame/' -H 'X-API-KEY: $DAILYBOT_API_KEY'Testar
Este é um ajudante apenas de cópia — a requisição não é enviada do seu navegador. Cole o comando no seu terminal para executá-lo.
Kudos
Liste, envie e gerencie kudos para o reconhecimento da equipe.
Resumo de endpoints
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /v1/kudos/ |
Listar kudos do usuário autenticado |
| GET | /v1/kudos/organization/ |
Listar todos os kudos da organização (apenas admin) |
| GET | /v1/kudos/wall-of-fame/ |
Principais contribuidores de kudos |
| POST | /v1/kudos/ |
Enviar kudos |
| POST | /v1/kudos/{id}/boost/ |
Impulsionar um kudo |
GET /v1/kudos/organization/
Retorna todos os kudos de nível superior de toda a organização. Requer papel de admin da organização. Sempre paginado (envelope padrão). Ordenado por created_at DESC com id como critério de desempate determinístico.
Autenticação: Aceita tanto X-API-KEY (chave de API da organização) quanto Authorization: Bearer <token> (token Bearer do CLI ou de sessão). O requisito de admin se aplica a qualquer credencial usada — não-admins recebem 403 com code: "org_admin_required".
Parâmetros de query
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
page |
integer | 1 | Número da página (base 1). |
page_size |
integer | 25 | Itens por página (máx. 100). limit aceito como alias. |
filter |
string | — | kudos_received ou kudos_given (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter. |
search |
string | — | Busca de substring sem distinção de maiúsculas no conteúdo do kudo. Máx. 256 chars. Se exceder retorna 400 search_query_too_long. |
start_date |
string (YYYY-MM-DD) |
— | Data de início inclusiva com fuso horário (fuso horário do usuário). Preferida sobre o legado date_start. |
end_date |
string (YYYY-MM-DD) |
— | Data de fim inclusiva (23:59:59 no fuso horário do usuário). Preferida sobre o legado date_end. |
date_start |
string (YYYY-MM-DD) |
— | Filtro legado de início ingênuo por dia (ainda disponível). Combina com start_date se ambos forem enviados. |
date_end |
string (YYYY-MM-DD) |
— | Filtro legado de fim ingênuo por dia (ainda disponível). Combina com end_date se ambos forem enviados. |
sender_uuid |
string (UUID) | — | Filtra pelo usuário que enviou o kudo. Deve ser um UUID v4 válido ou a API retorna 400 invalid_sender_uuid. |
receiver_uuid |
string (UUID) | — | Filtra pelo usuário que recebeu o kudo. Deve ser um UUID v4 válido ou a API retorna 400 invalid_receiver_uuid. |
Orientação sobre filtros de data: Prefira
start_date/end_datepara novas integrações — respeitam o fuso horário do usuário autenticado.date_start/date_endpermanecem disponíveis como filtro legado ingênuo por dia e podem ser combinados com o par com fuso horário (os filtros se acumulam). Sestart_datefor posterior aend_date, a API retorna400 invalid_date_range.
Exemplos
# Listar todos os kudos da organização (paginação padrão)
curl -sS "https://api.dailybot.com/v1/kudos/organization/" \
-H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"
# Filtrar por intervalo de datas (com fuso horário)
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 emissor
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 com paginação
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 (apenas kudos recebidos em toda a organização)
curl -sS "https://api.dailybot.com/v1/kudos/organization/?filter=kudos_received" \
-H "Authorization: Bearer $DAILYBOT_CLI_TOKEN"
Resposta (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": "Colaboração e apoio",
"emoji": "🤝",
"i18n_meta": {}
},
"content": "Obrigado pela ajuda incrível no lançamento do produto!",
"is_anonymous": false,
"created_at": "2026-07-08T14:30:00.123456Z"
}
]
}
Campos da resposta
| Campo | Tipo | Descrição |
|---|---|---|
count |
integer | Total de kudos que atendem à query (em todas as páginas). |
next |
string | null | URL da próxima página, ou null na última. |
previous |
string | null | URL da página anterior, ou null na primeira. |
results |
array | Objetos kudo para a página atual. |
Objeto kudo
| Campo | Tipo | Descrição |
|---|---|---|
id |
string (UUID) | Identificador único do kudo. |
user |
object | Emissor: { uuid, full_name, image }. Quando is_anonymous é true, vem anonimizado (nome aleatório, sem identidade real). |
receivers |
array | Receptores: [{ uuid, full_name, image }]. |
company_value |
object | null | Valor da empresa anexado: { id, value, description, emoji, i18n_meta }. null quando não há valor. |
content |
string | Mensagem do kudo (HTML sanitizado). |
is_anonymous |
boolean | Se o kudo foi enviado anonimamente. |
created_at |
string (ISO 8601) | Timestamp de criação. |
Respostas de erro
400 invalid_date_range — start_date > end_date ou data mal formada.
{
"detail": "Invalid 'start_date' value. Expected YYYY-MM-DD.",
"code": "invalid_date_range"
}
400 invalid_kudos_filter — filter não é um dos valores aceitos (sem distinção de maiúsculas).
{
"detail": "Not valid kudos filter. Accepted values: kudos_received, kudos_given.",
"code": "invalid_kudos_filter"
}
403 org_admin_required — o chamador não é admin da organização.
{
"detail": "This endpoint requires organization admin privileges.",
"code": "org_admin_required"
}
400 invalid_sender_uuid — sender_uuid não é um UUID válido.
{
"detail": "Invalid UUID format for 'sender_uuid'.",
"code": "invalid_sender_uuid"
}
400 invalid_receiver_uuid — receiver_uuid não é um UUID válido.
{
"detail": "Invalid UUID format for 'receiver_uuid'.",
"code": "invalid_receiver_uuid"
}
401 Unauthorized — Credencial ausente ou inválida.
403 Forbidden — Usuário autenticado sem papel de admin da organização.
Notas
- Apenas kudos de nível superior são retornados — as respostas são excluídas (
parent__isnull=True). - Se a organização tem kudos anônimos desabilitados (
allow_anonymous_messages = false), kudos anônimos são excluídos dos resultados. limit/offsetsão aceitos como aliases retrocompatíveis parapage_sizee paginação por offset.
GET /v1/kudos/
Retorna kudos do usuário autenticado. Paginado (ordenação padrão: -id).
Parâmetros de query
| Nome | Tipo | Padrão | Descrição |
|---|---|---|---|
page |
integer | 1 | Número de página. offset aceito como alias. |
page_size |
integer | 25 | Itens por página (máx. 100). limit aceito como alias. |
type |
string | kudos_received |
Alias depreciado — use filter em vez disso. |
filter |
string | kudos_received |
kudos_received ou kudos_given (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter. |
user_uuid |
string (UUID) | — | Filtrar por usuário. |
start_date |
string | — | Data início inclusivo (YYYY-MM-DD, fuso horário do chamador). Também: date_start, date_from. |
end_date |
string | — | Data fim inclusivo (YYYY-MM-DD, fuso horário do chamador). Também: date_end, date_to. |
search |
string | — | Busca de substring sem distinção de maiúsculas no campo message do kudo. Máx. 256 chars. Se exceder retorna 400 search_query_too_long. |
Erros de validação: Intervalos invertidos (
start_date > end_date) ou datas mal formadas retornam400 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"
Resposta (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": "Ótimo trabalho no release!",
"points": 1,
"created_at": "2026-07-05T14:00:00Z"
}
]
}
POST /v1/kudos/
Envia kudos a um membro da equipe.
Parâmetros do body
| Nome | Tipo | Obrigatório | Descrição |
|---|---|---|---|
receivers |
array de strings | Condicional | Identificadores de usuário (UUIDs, emails ou IDs externos). Obrigatório se users_receivers e teams_receivers não forem fornecidos. |
users_receivers |
array de UUIDs | Condicional | UUIDs explícitos de usuários que receberão o kudo. |
teams_receivers |
array de UUIDs | Não | UUIDs de equipes. Todos os membros ativos recebem o kudo. |
content |
string | Não | Texto da mensagem de kudos (seguro para HTML). |
is_anonymous |
boolean | Não | Se true, o remetente é anonimizado. Padrão: false. |
company_value |
string (UUID) | Não | ID do valor da empresa a anexar (se a organização 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 trabalho no redesign da API!",
"company_value": "value-uuid"
}'