Skip to content

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étodoEndpointDescriçã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/

POST/v1/invite-user/API keyCLI Auth

Invita usuários por email o ID externo. Dos flujos: platform (padrão) y guest (apenas convites por email).

Parâmetros do Corpo

NameTypeRequiredDescription
users_identifiersarray de stringsRequiredEmails 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_invitebooleanOptionalSe true, usa fluxo de convidado (apenas convites por email). Padrão: false.
joinable_team_uuidsarray de strings (UUID)OptionalUUIDs de equipes às quais os usuários convidados serão adicionados.
joinable_followup_uuidsarray de strings (UUID)OptionalUUIDs de check-ins aos quais os usuários convidados serão adicionados.
Requisição
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": []}'
Response200 OK — Fluxo platform (padrão)
json
{
  "dailybot_members": {
    "count": 0,
    "members": []
  },
  "users_invited": {
    "count": 1,
    "members": [
      "[email protected]"
    ]
  },
  "pending_invitations": {
    "count": 0,
    "identifiers": []
  },
  "wrong_users": {
    "count": 0,
    "users_identifiers": []
  }
}
Response200 OK — Fluxo 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": []
  }
}
Response400 Bad Request
json
{
  "detail": "users_identifiers is required and cannot be empty",
  "code": "params_validation_error"
}
Response403 Forbidden
json
{
  "detail": "Invalid or missing API key.",
  "code": "authentication_failed"
}

GET /v1/pending-invitations/

GET/v1/pending-invitations/API keyCLI Auth

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

NameTypeRequiredDescription
statusstringOptionalFiltrar por estado: pending, resolved, failed, cancelled.
identifier_typestringOptionalFiltrar por tipo: email, external_id.
identifierstringOptionalBuscar por identificador (parcial, sem distinção de maiúsculas).
pageintegerOptionalNúmero da página. Padrão: 1.
page_sizeintegerOptionalItens por página. Padrão: 20, máx: 100.
Requisição
curl "https://api.dailybot.com/v1/pending-invitations/?status=pending&page=1&page_size=20" \
  -H "X-API-KEY: sua_api_key"
Response200 OK
json
{
  "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}/

GET/v1/pending-invitations/{id}/API keyCLI Auth

Retorna una convite de plataforma pendente por ID.

Response200 OK
json
{
  "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": []
}
Response404 Not Found
json
{
  "detail": "Pending invitation not found."
}

DELETE /v1/pending-invitations/{id}/

DELETE/v1/pending-invitations/{id}/API keyCLI Auth

Cancela una convite de plataforma pendente. Apenas se pueden cancelar convites con estado pending.

Response204 Não Content
json
Response400 Bad Request
json
{
  "detail": "Only pending invitations can be cancelled."
}
Response404 Not Found
json
{
  "detail": "Pending invitation not found."
}

GET /v1/pending-invitations/all/

GET/v1/pending-invitations/all/API keyCLI Auth

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

NameTypeRequiredDescription
typestringOptionalFiltrar por tipo: platform o guest.
identifierstringOptionalBuscar por identificador/email (parcial, sem distinção de maiúsculas).
Response200 OK
json
{
  "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/

GET/v1/pending-invitations/guests/API keyCLI Auth

Retorna una lista paginada de convites de convidados pendentes.

Parâmetros de Consulta

NameTypeRequiredDescription
emailstringOptionalFiltrar por email (parcial, sem distinção de maiúsculas).
pageintegerOptionalNúmero da página. Padrão: 1.
page_sizeintegerOptionalItens por página. Padrão: 20, máx: 100.
Response200 OK
json
{
  "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}/

GET/v1/pending-invitations/guests/{id}/API keyCLI Auth

Retorna una convite de convidado por ID.

Response200 OK
json
{
  "id": 1,
  "type": "guest",
  "email": "[email protected]",
  "emails_sent": 1,
  "created_at": "2026-02-25T12:00:00Z",
  "joinable_teams": [],
  "joinable_followups": []
}
Response404 Not Found
json
{
  "detail": "Guest invitation not found."
}

DELETE /v1/pending-invitations/guests/{id}/

DELETE/v1/pending-invitations/guests/{id}/API keyCLI Auth

Cancela una convite de convidado.

Response204 Não Content
json
Response404 Not Found
json
{
  "detail": "Guest invitation not found."
}

Detecção de identificador

Email: contém @. ID externo: sin @ (ej. Slack U01ABC123DE, Discord 17–19 dígitos, MS Teams GUID).