Convites
Endpoints públicos para invitar usuários a la organização y para listar y gestionar convites pendentes de plataforma e convidados. Todos requerem header X-API-KEY.
Invita por flujo de plataforma (Slack, Teams, Discord, etc.) o flujo convidado (apenas email). Las convites de plataforma se reintentan hasta 7 días.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /v1/invite-user/ | Invitar usuários |
| GET | /v1/pending-invitations/ | Listar convites pendentes |
| GET | /v1/pending-invitations/{id}/ | Obter una convite pendente |
| DELETE | /v1/pending-invitations/{id}/ | Cancelar una convite pendente |
| GET | /v1/pending-invitations/all/ | Listar todas las convites |
| GET | /v1/pending-invitations/guests/ | Listar convites de convidados |
| GET | /v1/pending-invitations/guests/{id}/ | Obter una convite de convidado |
| DELETE | /v1/pending-invitations/guests/{id}/ | Cancelar una convite de convidado |
POST /v1/invite-user/
/v1/invite-user/ Invita usuários por email o ID externo. Dos flujos: platform (padrão) y guest (apenas convites por email).
Parâmetros do Corpo
| Name | Type | Required | Description |
|---|---|---|---|
users_identifiers | array de strings | Required | Emails ou IDs externos de plataforma para convidar (máx 100). Strings com @ são tratadas como email; o restante como ID externo. |
is_guest_account_invite | boolean | Optional | Se true, usa fluxo de convidado (apenas convites por email). Padrão: false. |
joinable_team_uuids | array de strings (UUID) | Optional | UUIDs de equipes às quais os usuários convidados serão adicionados. |
joinable_followup_uuids | array de strings (UUID) | Optional | UUIDs de check-ins aos quais os usuários convidados serão adicionados. |
curl -X POST "https://api.dailybot.com/v1/invite-user/" \
-H "X-API-KEY: sua_api_key" \
-H "Content-Type: application/json" \
-d '{"users_identifiers": ["[email protected]"], "is_guest_account_invite": false, "joinable_team_uuids": [], "joinable_followup_uuids": []}'Response 200 OK — Fluxo platform (padrão)
{
"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 — Fluxo 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"
}Response 403 Forbidden
{
"detail": "Invalid or missing API key.",
"code": "authentication_failed"
}GET /v1/pending-invitations/
/v1/pending-invitations/ Apenas convites de plataforma, paginadas. Filtrar por estado (pending, resolved, failed, cancelled). Para plataforma + guest en una resposta usa GET /v1/pending-invitations/all/.
Parâmetros de Consulta
| Name | Type | Required | Description |
|---|---|---|---|
status | string | Optional | Filtrar por estado: pending, resolved, failed, cancelled. |
identifier_type | string | Optional | Filtrar por tipo: email, external_id. |
identifier | string | Optional | Buscar por identificador (parcial, sem distinção de maiúsculas). |
page | integer | Optional | Número da página. Padrão: 1. |
page_size | integer | Optional | Itens por página. Padrão: 20, máx: 100. |
curl "https://api.dailybot.com/v1/pending-invitations/?status=pending&page=1&page_size=20" \
-H "X-API-KEY: sua_api_key"Response 200 OK
{
"count": 5,
"next": "https://api.dailybot.com/v1/pending-invitations/?page=2&page_size=20",
"previous": null,
"results": [
{
"id": 1,
"identifier": "[email protected]",
"identifier_type": "email",
"identifier_type_display": "Email",
"status": "pending",
"status_display": "Pending",
"retry_count": 0,
"next_retry_at": null,
"created_at": "2026-02-25T12:00:00Z",
"joinable_teams": [],
"joinable_followups": []
}
]
}GET /v1/pending-invitations/{id}/
/v1/pending-invitations/{id}/ Retorna una convite de plataforma pendente por ID.
Response 200 OK
{
"id": 1,
"identifier": "[email protected]",
"identifier_type": "email",
"identifier_type_display": "Email",
"status": "pending",
"status_display": "Pending",
"retry_count": 0,
"next_retry_at": null,
"last_retry_at": null,
"created_at": "2026-02-25T12:00:00Z",
"resolved_at": null,
"failure_reason": null,
"metadata": {},
"joinable_teams": [],
"joinable_followups": []
}Response 404 Not Found
{
"detail": "Pending invitation not found."
}DELETE /v1/pending-invitations/{id}/
/v1/pending-invitations/{id}/ Cancela una convite de plataforma pendente. Apenas se pueden cancelar convites con estado pending.
Response 204 Não Content
Response 400 Bad Request
{
"detail": "Only pending invitations can be cancelled."
}Response 404 Not Found
{
"detail": "Pending invitation not found."
}GET /v1/pending-invitations/all/
/v1/pending-invitations/all/ Plataforma + guest en una resposta, sin paginación. Para apenas plataforma con paginación o filtrar por estado usa GET /v1/pending-invitations/.
Parâmetros de Consulta
| Name | Type | Required | Description |
|---|---|---|---|
type | string | Optional | Filtrar por tipo: platform o guest. |
identifier | string | Optional | Buscar por identificador/email (parcial, sem distinção de maiúsculas). |
Response 200 OK
{
"platform_invitations": {
"count": 2,
"results": [
{
"id": 1,
"identifier": "[email protected]",
"identifier_type": "email",
"identifier_type_display": "Email",
"status": "pending",
"status_display": "Pending",
"retry_count": 0,
"next_retry_at": null,
"created_at": "2026-02-25T12:00:00Z",
"joinable_teams": [],
"joinable_followups": []
}
]
},
"guest_invitations": {
"count": 1,
"results": [
{
"id": 2,
"type": "guest",
"email": "[email protected]",
"emails_sent": 1,
"created_at": "2026-02-25T11:00:00Z",
"joinable_teams": [],
"joinable_followups": []
}
]
}
}GET /v1/pending-invitations/guests/
/v1/pending-invitations/guests/ Retorna una lista paginada de convites de convidados pendentes.
Parâmetros de Consulta
| Name | Type | Required | Description |
|---|---|---|---|
email | string | Optional | Filtrar por email (parcial, sem distinção de maiúsculas). |
page | integer | Optional | Número da página. Padrão: 1. |
page_size | integer | Optional | Itens por página. Padrão: 20, máx: 100. |
Response 200 OK
{
"count": 3,
"next": "https://api.dailybot.com/v1/pending-invitations/guests/?page=2&page_size=20",
"previous": null,
"results": [
{
"id": 1,
"type": "guest",
"email": "[email protected]",
"emails_sent": 1,
"created_at": "2026-02-25T12:00:00Z",
"joinable_teams": [],
"joinable_followups": []
}
]
}GET /v1/pending-invitations/guests/{id}/
/v1/pending-invitations/guests/{id}/ Retorna una convite de convidado por ID.
Response 200 OK
{
"id": 1,
"type": "guest",
"email": "[email protected]",
"emails_sent": 1,
"created_at": "2026-02-25T12:00:00Z",
"joinable_teams": [],
"joinable_followups": []
}Response 404 Not Found
{
"detail": "Guest invitation not found."
}DELETE /v1/pending-invitations/guests/{id}/
/v1/pending-invitations/guests/{id}/ Cancela una convite de convidado.
Response 204 Não Content
Response 404 Not Found
{
"detail": "Guest invitation not found."
}Detecção de identificador
@. ID externo: sin @ (ej. Slack U01ABC123DE, Discord 17–19 dígitos, MS Teams GUID).