Skip to content

Usuarios y Organización

Gestiona los miembros de la organización, obtén perfiles de usuario, invita nuevos usuarios y accede a los metadatos de la organización. El endpoint /me/ devuelve el contexto del propietario de la API key autenticada.

Método Endpoint Descripción
GET /v1/me/ Obtener el usuario autenticado
GET /v1/organization/ Obtener metadatos de la organización
GET /v1/users/ Listar y buscar todos los usuarios
GET /v1/users/{uuid}/ Obtener un usuario específico
PATCH /v1/users/{uuid}/ Actualizar el perfil de un usuario
POST /v1/invite-user/ Invitar usuarios a la organización

Obtener Información de Contexto

GET /v1/me/

Obtiene información contextual del usuario autenticado y su organización.

Parámetros de Consulta

Name Type Required Description
include_email boolean Optional Incluir el email del usuario en la respuesta. Por defecto: false.
Petición
curl -X GET "https://api.dailybot.com/v1/me/" \
  -H "X-API-KEY: tu_api_key"
Response 200 OK
json
{
  "uuid": "user-uuid",
  "full_name": "María García",
  "image": "https://...",
  "role": "admin",
  "is_active": true,
  "bot_enabled": true,
  "timezone": "America/Bogota",
  "occupation": "Diseñadora",
  "birth_date": "02-08",
  "chat_platform_data": {},
  "work_days": [0, 1, 2, 3, 4],
  "timeoff_start": null,
  "timeoff_end": null,
  "hour_init_work": "09:00",
  "anniversary": null,
  "organization": {
    "uuid": "org-uuid",
    "name": "Acme Corp",
    "plan_name": "Pro"
  },
  "user": "María García",
  "organization_uuid": "org-uuid",
  "organization_name": "Acme Corp"
}

Obtener Organización

GET /v1/organization/

Obtiene los metadatos de la organización del usuario autenticado.

Petición
curl -X GET "https://api.dailybot.com/v1/organization/" \
  -H "X-API-KEY: tu_api_key"
Response 200 OK
json
{
  "uuid": "org-uuid",
  "name": "Acme Corp",
  "timezone": "America/Bogota",
  "image": "https://...",
  "platform": "slack",
  "chat_platform_data": {},
  "supported_domains": [
    "acme.com"
  ],
  "has_email_password_enabled": true
}

Listar Usuarios

GET /v1/users/

Devuelve una lista paginada de miembros de la organización. Admite filtros y búsqueda.

Parámetros de Consulta

Name Type Required Description
search string Optional Filtrar por nombre, email o ID externo (sin distinguir mayúsculas).
only_active boolean Optional Si está definido, devolver solo usuarios activos.
include_email boolean Optional Incluir email en cada objeto de usuario. Por defecto: false.
limit integer Optional Máximo de resultados por página (paginación).
offset integer Optional Número de resultados a omitir (paginación).
Petición
curl -X GET "https://api.dailybot.com/v1/users/" \
  -H "X-API-KEY: tu_api_key"
Response 200 OK
json
{
  "count": 25,
  "next": "https://api.dailybot.com/v1/users/?limit=10&offset=10",
  "previous": null,
  "results": [
    {
      "uuid": "user-uuid",
      "full_name": "María García",
      "image": "https://...",
      "role": "admin",
      "is_active": true,
      "bot_enabled": true,
      "timezone": "America/Bogota",
      "occupation": "Diseñadora",
      "birth_date": "02-08",
      "chat_platform_data": {},
      "work_days": [0, 1, 2, 3, 4],
      "timeoff_start": null,
      "timeoff_end": null,
      "hour_init_work": "09:00",
      "anniversary": null,
      "organization": {
        "uuid": "...",
        "name": "Acme Corp"
      }
    }
  ]
}

Obtener Usuario

GET /v1/users/{user-uuid}/

Devuelve un usuario por UUID.

Parámetros de Consulta

Name Type Required Description
include_email boolean Optional Incluir email en la respuesta. Por defecto: false.
Petición
curl -X GET "https://api.dailybot.com/v1/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  -H "X-API-KEY: tu_api_key"
Response 200 OK
json
{
  "uuid": "user-uuid",
  "full_name": "María García",
  "image": "https://...",
  "role": "admin",
  "is_active": true,
  "bot_enabled": true,
  "timezone": "America/Bogota",
  "occupation": "Diseñadora",
  "birth_date": "02-08",
  "chat_platform_data": {},
  "work_days": [0, 1, 2, 3, 4],
  "timeoff_start": null,
  "timeoff_end": null,
  "hour_init_work": "09:00",
  "anniversary": null,
  "organization": {
    "uuid": "org-uuid",
    "name": "Acme Corp"
  }
}
Response 404 Not Found
json
{
  "detail": "Not found.",
  "code": "not_found"
}

Actualizar Usuario

PATCH /v1/users/{user-uuid}/

Actualiza el perfil de un usuario. Solo se modifican los campos proporcionados.

Parámetros del Cuerpo

Name Type Required Description
full_name string Optional Nombre completo.
occupation string Optional Cargo u ocupación.
birth_date string Optional Fecha de nacimiento en formato MM-DD.
timezone string Optional Zona horaria IANA (ej. America/New_York).
work_days array of integers Optional Días laborales (0=Lunes, 6=Domingo).
timeoff_start string Optional Fecha de inicio de descanso.
timeoff_end string Optional Fecha de fin de descanso.
hour_init_work string Optional Hora de inicio laboral (ej. HH:MM).
active boolean Optional Si el usuario está activo.
bot_enabled boolean Optional Si Dailybot está habilitado para este usuario.
Petición
curl -X PATCH "https://api.dailybot.com/v1/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  -H "X-API-KEY: tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "Jane Smith"
  }'
Response 200 OK
json
{
  "uuid": "user-uuid",
  "full_name": "María García",
  "image": "https://...",
  "role": "admin",
  "is_active": true,
  "bot_enabled": true,
  "timezone": "America/Bogota",
  "occupation": "Diseñadora",
  "birth_date": "02-08",
  "chat_platform_data": {},
  "work_days": [0, 1, 2, 3, 4],
  "timeoff_start": null,
  "timeoff_end": null,
  "hour_init_work": "09:00",
  "anniversary": null,
  "organization": {
    "uuid": "org-uuid",
    "name": "Acme Corp"
  }
}
Response 400 Bad Request
json
{
  "detail": "Birth date has an invalid date format. It must be in MM-DD format.",
  "code": "bad_birth_date_format"
}

Invitar Usuario

POST /v1/invite-user/

Invita usuarios a la organización por email o ID de plataforma externa. Dos flujos: platform (por defecto), que invita usuarios existentes de la plataforma, y guest, que envía invitaciones por email para registro directo.

Parámetros del Cuerpo

Name Type Required Description
users_identifiers array of strings Required Emails o IDs de plataforma externa a invitar (máx 100). Cadenas con @ se tratan como email; el resto como ID externo.
is_guest_account_invite boolean Optional Si es true, flujo invitado (solo invitaciones por email). Por defecto: false.
joinable_team_uuids array of strings (UUID) Optional UUIDs de equipos a los que se unirán los invitados.
joinable_followup_uuids array of strings (UUID) Optional UUIDs de check-ins a los que se unirán los invitados.
Petición
curl -X POST "https://api.dailybot.com/v1/invite-user/" \
  -H "X-API-KEY: tu_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "users_identifiers": ["[email protected]"]
  }'
Response 200 OK — Flujo platform (por defecto)
json
{
  "dailybot_members": {
    "count": 0,
    "members": []
  },
  "users_invited": {
    "count": 1,
    "members": [
      "[email protected]"
    ]
  },
  "pending_invitations": {
    "count": 0,
    "identifiers": []
  },
  "wrong_users": {
    "count": 0,
    "users_identifiers": []
  }
}
Response 200 OK — Flujo guest (is_guest_account_invite: true)
json
{
  "dailybot_members": {
    "count": 0,
    "members": []
  },
  "guests_invited": {
    "count": 1,
    "emails": [
      "[email protected]"
    ]
  },
  "already_invited": {
    "count": 0,
    "emails": []
  },
  "wrong_users": {
    "count": 0,
    "users_identifiers": []
  }
}
Response 400 Bad Request
json
{
  "detail": "users_identifiers is required and cannot be empty",
  "code": "params_validation_error"
}

Info

La API key debe pertenecer a un Administrador de Organización para invitar usuarios. Las claves de no administradores recibirán una respuesta 403 Forbidden.