Skip to content
ver .md original

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.

GET/v1/kudos/Chave de APICLI AuthPaginação por número de 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

NomeTipoObrigatórioDescrição
filterstringOpcionalTipo de filtro: kudos_received ou kudos_given (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter.
sender_uuidstring (uuid)OpcionalFiltra por kudos enviados por um usuário específico.
receiver_uuidstring (uuid)OpcionalFiltra por kudos recebidos por um usuário específico.
start_datestring (YYYY-MM-DD)OpcionalData de início inclusiva (fuso horário do usuário). Também aceito: date_start, date_from.
end_datestring (YYYY-MM-DD)OpcionalData de fim inclusiva, 23:59:59 no fuso horário do usuário. Também aceito: date_end, date_to.
searchstringOpcionalBusca de substring sem distinção de maiúsculas na mensagem do kudo. Máximo 256 caracteres.
pageintegerOpcionalNúmero da página (índice base 1). Padrão: 1.
page_sizeintegerOpcionalItens 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

StatusQuando
400Erro de validação (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'

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.

POST/v1/kudos/Chave de APICLI 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.

Erros

StatusQuando
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'

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.
GET/v1/kudos/organization/Chave de APICLI AuthPaginação por número de página

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

NomeTipoObrigatórioDescrição
filterstringOpcionalTipo de filtro: 'kudos_received' ou 'kudos_given' (sem distinção de maiúsculas). Valores inválidos retornam 400 invalid_kudos_filter.
sender_uuidstring (uuid)OpcionalFiltra por emissor (usuário que enviou o kudo). Deve ser um UUID v4 válido; caso contrário retorna 400 invalid_sender_uuid.
receiver_uuidstring (uuid)OpcionalFiltra por receptor (usuário que recebeu o kudo). Deve ser um UUID v4 válido; caso contrário retorna 400 invalid_receiver_uuid.
start_datestring (YYYY-MM-DD)OpcionalData de início inclusiva com fuso horário (fuso horário do usuário). Preferida sobre o legado date_start.
end_datestring (YYYY-MM-DD)OpcionalData de fim inclusiva com fuso horário, 23:59:59 no fuso horário do usuário. Preferida sobre o legado date_end.
date_startstring (YYYY-MM-DD)OpcionalFiltro legado de início ingênuo por dia (sempre disponível). Combina com start_date se ambos forem enviados.
date_endstring (YYYY-MM-DD)OpcionalFiltro legado de fim ingênuo por dia (sempre disponível). Combina com end_date se ambos forem enviados.
searchstringOpcionalBusca de substring sem distinção de maiúsculas no conteúdo do kudo. Máximo 256 caracteres.
pageintegerOpcionalNúmero da página (índice base 1). Padrão: 1.
page_sizeintegerOpcionalItens por página. Padrão: 25, máximo: 100. Alias: limit.
offsetintegerOpcionalPaginaçã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

StatusQuando
400Erro de validação (invalid_date_range, invalid_kudos_filter, invalid_sender_uuid, invalid_receiver_uuid, search_query_too_long)
401Missing/invalid/expired credential
403Autenticado mas não é admin da organização (`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'

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.
GET/v1/kudos/wall-of-fame/Chave de APICLI AuthPaginação por número de página

Wall of fame leaderboard

Wall of fame leaderboard

Parâmetros de consulta

NomeTipoObrigatórioDescrição
periodenum (week,month,quarter,year,all_time)OpcionalDefault: month.
team_uuidstring (uuid)Opcional
pageintegerOpcionalNúmero da página (índice base 1). Padrão: 1.
page_sizeintegerOpcionalItens por página. Padrão: 50, máximo: 200. Alias: limit.

Erros

StatusQuando
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'

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_date para novas integrações — respeitam o fuso horário do usuário autenticado. date_start / date_end permanecem disponíveis como filtro legado ingênuo por dia e podem ser combinados com o par com fuso horário (os filtros se acumulam). Se start_date for posterior a end_date, a API retorna 400 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_rangestart_date > end_date ou data mal formada.

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

400 invalid_kudos_filterfilter 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_uuidsender_uuid não é um UUID válido.

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

400 invalid_receiver_uuidreceiver_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 / offset são aceitos como aliases retrocompatíveis para page_size e 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 retornam 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"

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"
  }'