Skip to content

CLI

Endpoints públicos de la API para autenticación CLI (OTP por email), estado, cierre de sesión y para enviar actualizaciones de check-in y obtener check-ins pendientes. request-code y verify-code no requieren autenticación; el resto requiere token CLI vía Authorization: Bearer <cli_token>.

Método Endpoint Descripción
POST /v1/cli/auth/request-code/ Enviar código de verificación de 6 dígitos al email (sin auth)
POST /v1/cli/auth/verify-code/ Verificar código y devolver token CLI (sin auth)
GET /v1/cli/auth/status/ Obtener estado de auth CLI actual (requiere token CLI)
POST /v1/cli/auth/logout/ Revocar token CLI (requiere token CLI)
POST /v1/cli/updates/ Enviar actualización a check-ins diarios pendientes (requiere token CLI)
GET /v1/cli/status/ Obtener check-ins diarios pendientes de hoy (requiere token CLI)

POST /v1/cli/auth/request-code/

POST /v1/cli/auth/request-code/

Envía un código de verificación de 6 dígitos al email indicado. No requiere autenticación. Limitado por tasa.

Parámetros del Cuerpo

Name Type Required Description
email string (email) Required Dirección de email para recibir el código.
Petición
curl -X POST "https://api.dailybot.com/v1/cli/auth/request-code/" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'
Response 200 OK
json
{
  "detail": "Verification code sent to your email.",
  "organizations": [
    {
      "id": 1,
      "name": "Acme Corp",
      "uuid": "org-uuid"
    }
  ],
  "is_multi_org": false
}
Response 400 Bad Request
json
{
  "detail": "<error message>"
}

POST /v1/cli/auth/verify-code/

POST /v1/cli/auth/verify-code/

Verifica el código de 6 dígitos y devuelve un token de auth CLI. No requiere autenticación. Limitado por tasa.

Parámetros del Cuerpo

Name Type Required Description
email string (email) Required Mismo email usado en request-code.
code string Required Código de verificación de 6 dígitos.
organization_id integer Optional Requerido cuando el usuario pertenece a varias organizaciones.
Petición
curl -X POST "https://api.dailybot.com/v1/cli/auth/verify-code/" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "code": "123456"}'
Response 200 OK — Una organización o organization_id proporcionado
json
{
  "requires_organization_selection": false,
  "token": "cli-auth-token-string",
  "user": {
    "uuid": "user-uuid",
    "email": "[email protected]",
    "full_name": "Jane Smith"
  },
  "organization": {
    "id": 1,
    "name": "Acme Corp",
    "uuid": "org-uuid"
  }
}
Response 200 OK — Varias organizaciones, sin organization_id
json
{
  "requires_organization_selection": true,
  "organizations": [
    {
      "id": 1,
      "name": "Acme Corp",
      "uuid": "org-uuid"
    },
    {
      "id": 2,
      "name": "Other Org",
      "uuid": "org-uuid-2"
    }
  ]
}
Response 400 Bad Request
json
{
  "detail": "<error message>"
}

GET /v1/cli/auth/status/

GET /v1/cli/auth/status/

Devuelve el estado de autenticación CLI actual. Requiere token CLI.

Petición
curl -X GET "https://api.dailybot.com/v1/cli/auth/status/" \
  -H "Authorization: Bearer <cli_token>"
Response 200 OK
json
{
  "authenticated": true,
  "user": {
    "uuid": "user-uuid",
    "email": "[email protected]",
    "full_name": "Jane Smith"
  },
  "organization": {
    "id": 1,
    "name": "Acme Corp",
    "uuid": "org-uuid"
  }
}
Response 401 Unauthorized
json
{
  "detail": "Authentication credentials were not provided."
}

POST /v1/cli/auth/logout/

POST /v1/cli/auth/logout/

Revoca el token CLI actual. Requiere token CLI.

Petición
curl -X POST "https://api.dailybot.com/v1/cli/auth/logout/" \
  -H "Authorization: Bearer <cli_token>"
Response 200 OK
json
{
  "detail": "Successfully logged out."
}

POST /v1/cli/updates/

POST /v1/cli/updates/

Envía una actualización a los check-ins diarios pendientes del usuario para hoy. Requiere token CLI. Se puede enviar un message en texto libre (procesado y mapeado a preguntas) o done / doing / blocked estructurados.

Parámetros del Cuerpo

Name Type Required Description
message string Optional Actualización en texto libre (mapeada a preguntas del check-in). Usar cuando no se envíe done/doing/blocked.
done string Optional Lo completado.
doing string Optional Lo que está en progreso.
blocked string Optional Bloqueos o problemas.
Petición
curl -X POST "https://api.dailybot.com/v1/cli/updates/" \
  -H "Authorization: Bearer <cli_token>" \
  -H "Content-Type: application/json" \
  -d '{
    "done": "Completé la integración API",
    "doing": "Empezando trabajo frontend",
    "blocked": "Sin bloqueos"
  }'
Response 201 Created
json
{
  "attached_followups": [
    {
      "followup_name": "Daily Standup",
      "followup_uuid": "followup-id",
      "daily_uuid": "daily-uuid",
      "action": "created"
    }
  ],
  "followups_count": 1
}
Response 400 Bad Request
json
{
  "detail": "<error message>"
}

GET /v1/cli/status/

GET /v1/cli/status/

Devuelve los check-ins diarios pendientes del usuario para hoy. Requiere token CLI.

Petición
curl -X GET "https://api.dailybot.com/v1/cli/status/" \
  -H "Authorization: Bearer <cli_token>"
Response 200 OK
json
{
  "pending_checkins": [
    {
      "followup_name": "Daily Standup",
      "followup_uuid": "followup-id",
      "template_questions": [
        {
          "uuid": "question-uuid",
          "question": "What did you do?",
          "question_type": "text_field",
          "is_blocker": false
        }
      ]
    }
  ],
  "count": 1
}