Skip to content
ver .md sin procesar

Inicio rápido de la API de Plan

Haz tus primeras llamadas a la API de Dailybot Plan en menos de cinco minutos: obtén un token, lista tus tableros, crea una tarea, muévela y coméntala, con curl y el CLI.

Beta

Plan está en beta. Todo lo que está bajo /plan en la aplicación web, los comandos del CLI y de la agent skill para proyectos, objetivos, tableros y tareas, y la API pública /v1/plan/ puede cambiar antes de la disponibilidad general. ¿Quieres probarlo con tu equipo? Escribe a [email protected].

solicitar acceso a la beta

En unos cinco minutos vas a iniciar sesión, encontrar un tablero, crear una tarea, moverla a “en progreso” y dejarle un comentario. Cada paso muestra la llamada con curl y su equivalente en el CLI de Dailybot.

Necesitas curl y jq (para leer JSON en la terminal), y un correo que pertenezca a una organización de Dailybot con la Beta de Plan habilitada.

1. Obtén un token

La credencial más rápida es un token de usuario del CLI: actúa como tú, con tu rol. Pide un código de un solo uso por correo:

curl -sS -X POST "https://api.dailybot.com/v1/cli/auth/request-code/" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]"}'

Pega el código del correo en lugar de 123456 y guarda el token en DAILYBOT_TOKEN:

export DAILYBOT_TOKEN=$(curl -sS -X POST "https://api.dailybot.com/v1/cli/auth/verify-code/" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "code": "123456"}' | jq -r .access_token)

Si tu correo pertenece a varias organizaciones, la primera llamada responde "status": "select_organization" con una lista: envíala de nuevo con "organization_uuid" apuntando a la que quieras.

Desde el CLI, dailybot login ejecuta el mismo flujo de código por correo y guarda la sesión por ti:

dailybot login

Una API key personal también funciona (X-API-KEY: $DAILYBOT_API_KEY) y actúa como tú, sin scope que pedir. Una key de agente o de la organización actúa como un actor del sistema, necesita tener habilitados los scopes de Plan (durante la Beta, escribe a [email protected]) y se rechaza en los endpoints que requieren una persona. Consulta Autenticación para Plan.

2. Comprueba que Plan esté habilitado

curl -sS "https://api.dailybot.com/v1/plan/entitlements/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN"

Lo que buscas es "enabled": true. Si recibes "enabled": false, o cualquier otra llamada de Plan responde 402 plan_upgrade_required, es lo esperado: tu organización todavía no está en la Beta. Escribe a [email protected] y la habilitamos.

3. Lista tus tableros

curl -sS "https://api.dailybot.com/v1/plan/boards/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" | jq '.results[] | {uuid, key, name}'

Guarda el uuid del primer tablero para los siguientes pasos:

export BOARD=$(curl -sS "https://api.dailybot.com/v1/plan/boards/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" | jq -r '.results[0].uuid')

Desde el CLI:

dailybot plan board list --json

4. Crea una tarea

board y title son obligatorios. El header Idempotency-Key hace que la llamada se pueda reintentar sin riesgo: si la envías de nuevo con la misma clave y el mismo cuerpo, devuelve la primera tarea en lugar de crear una segunda.

export TASK=$(curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: quickstart-$(date +%s)" \
  -d "{\"board\": \"$BOARD\", \"title\": \"My first task from the API\"}" | jq -r .key)
echo "$TASK"

Ahora TASK contiene la clave de la tarea, por ejemplo ENG-143. Puedes usarla en cualquier lugar donde se haga referencia a una tarea.

Desde el CLI:

dailybot plan task create -t "My first task from the API" -b "$BOARD"

5. Muévela a "en progreso"

Las columnas de un tablero son sus estados del flujo de trabajo. Busca el primer estado cuya categoría sea in_progress y mueve la tarea ahí:

export STATE=$(curl -sS "https://api.dailybot.com/v1/plan/boards/$BOARD/states/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" | jq -r '[.[] | select(.category == "in_progress")][0].uuid')

curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/$TASK/move/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"state\": \"$STATE\"}" | jq '{key, state: .state.name, version}'

Sin after ni before, la tarea queda al final de la columna. Mover la tarea es la única forma de cambiar su estado.

Desde el CLI:

dailybot plan task move "$TASK" --state in_progress

6. Coméntala

curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/$TASK/comments/" \
  -H "Authorization: Bearer $DAILYBOT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"body": "Created and moved from the Plan API quickstart."}' | jq '{uuid, body, created_at}'

Desde el CLI:

dailybot plan task comment "$TASK" "Created and moved from the Plan API quickstart."

Ese es el ciclo completo: leíste un tablero, creaste una tarea, cambiaste su estado y la comentaste.

Estos comandos del CLI llegan en la próxima versión del CLI de Dailybot. Agrega --json a cualquiera para obtener una salida legible por máquinas.

Siguientes pasos