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
/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. |
curl -X GET "https://api.dailybot.com/v1/me/" \
-H "X-API-KEY: tu_api_key"Response 200 OK
{
"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
/v1/organization/ Obtiene los metadatos de la organización del usuario autenticado.
curl -X GET "https://api.dailybot.com/v1/organization/" \
-H "X-API-KEY: tu_api_key"Response 200 OK
{
"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
/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). |
curl -X GET "https://api.dailybot.com/v1/users/" \
-H "X-API-KEY: tu_api_key"Response 200 OK
{
"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
/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. |
curl -X GET "https://api.dailybot.com/v1/users/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
-H "X-API-KEY: tu_api_key"Response 200 OK
{
"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
{
"detail": "Not found.",
"code": "not_found"
}Actualizar Usuario
/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. |
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
{
"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
{
"detail": "Birth date has an invalid date format. It must be in MM-DD format.",
"code": "bad_birth_date_format"
}Invitar Usuario
/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. |
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)
{
"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)
{
"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
{
"detail": "users_identifiers is required and cannot be empty",
"code": "params_validation_error"
}Info
403 Forbidden.