Plan · Comentarios y archivos
Comentarios, reacciones, adjuntos y el feed de actividad y registro de eventos de cada tarea. Parte de la API de Dailybot Plan (Beta).
En esta página
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].
Listar los comentarios de una tarea
Los comentarios de la tarea, del más antiguo al más reciente, en una página. Cada comentario trae sus reacciones y sus attachments listos. Usa updated_since para traer solo lo que cambió desde tu última lectura.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
| updated_since | string | Opcional | Un filtro de marca de tiempo sobre esta lista paginada: devuelve {count, next, previous, results}, nunca un cursor. Para un feed de cambios usa el endpoint delta del tablero. |
Objeto TaskComment
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | uuid | Requerido | Identificador público estable. |
| body | string | Requerido | Markdown tal como se escribió. Menciona a alguien con <@DB@{uuid}>, usando un uuid de la lista de mencionables. Máx. 10000 caracteres. |
| author | ActorRef | null | Requerido | Quién escribió el comentario. Ver ActorRef. |
| executed_by_agent | object | null | Opcional | El agente que ejecutó esto en nombre de la persona, o null si no se nombró a ninguno: un objeto con uuid, name, username y avatar. La persona del campo de autor sigue siendo la autora; el agente se muestra como quien lo ejecutó. |
| mentions | array<ActorRef> | Opcional | Las personas mencionadas. Léelas desde aquí, nunca analizando body. Ver ActorRef. |
| body_html | string | Opcional | body renderizado y sanitizado por el servidor. Nunca se acepta HTML del cliente. |
| reactions | array | Opcional | Reacciones con emoji, indicando si reaccionaste. Todos los campos están siempre presentes. Elementos: {emoji: string, count: integer, reacted: boolean}. |
| provenance | enum | Requerido | typed por una persona, agent_authored, o retrieved desde otro sistema. Uno de typed, agent_authored, retrieved. |
| parent_comment | uuid | null | Opcional | El comentario al que responde este. Solo un nivel de hilo. |
| edited_at | date-time | null | Opcional | Cuándo se editó el comentario por última vez. |
| is_deleted | boolean | Opcional | Los comentarios eliminados conservan su fila con el cuerpo vacío. |
| created_at | date-time | Requerido | Cuándo se creó la fila. |
| attachments | array<TaskAttachment> | Opcional | Los adjuntos listos del comentario, ordenados por posición. Ver TaskAttachment. |
Objeto ActorRef
Objeto TaskAttachment
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | uuid | Requerido | Identificador público estable. |
| filename | string | Requerido | Nombre del archivo. |
| content_type | string | Requerido | Tipo MIME. |
| size | integer | Requerido | Tamaño en bytes. |
| url | string | Requerido | Dónde descargar el archivo. |
| thumbnail_url | uri | null | Opcional | Miniatura para imágenes. |
| width | integer | null | Opcional | — |
| height | integer | null | Opcional | — |
| status | enum | Requerido | Estado actual. Uno de pending, ready, scanning, rejected. |
| uploaded_by | ActorRef | null | Opcional | Quién subió el archivo. Ver ActorRef. |
| executed_by_agent | object | null | Opcional | El agente que ejecutó esto en nombre de la persona, o null si no se nombró a ninguno: un objeto con uuid, name, username y avatar. La persona del campo de autor sigue siendo la autora; el agente se muestra como quien lo ejecutó. |
| created_at | date-time | Requerido | Cuándo se creó la fila. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<TaskComment> | Requerido | Las filas de esta página. Ver TaskComment. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comments ENG-142 --json{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-000000000008",
"body": "Staging is green; rolling out Friday.",
"author": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"mentions": [],
"body_html": "<p>Staging is green; rolling out Friday.</p>",
"reactions": [],
"provenance": "typed",
"parent_comment": null,
"edited_at": null,
"is_deleted": false,
"created_at": "2026-09-25T10:14:02Z",
"attachments": []
}
]
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Comentar en una tarea
Agrega un comentario a la tarea. Menciona a alguien con <@DB@{uuid}>, usando un uuid de las personas mencionables del tablero. Envía un Idempotency-Key para reintentar sin riesgo.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| Idempotency-Key | string | Opcional | Una clave que generas para esta intención. Una repetición con la misma clave y el mismo cuerpo devuelve la primera respuesta sin un segundo efecto secundario y lleva Idempotency-Replayed: true. Las claves se conservan durante 24 horas. La misma clave con un cuerpo distinto es 409 idempotency_key_payload_mismatch; una repetición mientras la primera llamada sigue en curso recibe 409 idempotency_in_progress durante hasta 120 segundos. |
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| body | string | Requerido | Markdown. Menciona a alguien con <@DB@{uuid}>, usando un uuid de la lista de mencionables. Máx. 10000 caracteres. |
| parent_comment | uuid | null | Opcional | El comentario al que responde este. Solo un nivel de hilo. |
| agent_name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskComment | Requerido | Un objeto TaskComment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"body": "Looks good. <@DB@00000000-0000-4000-8000-00000000000c> can you review the rollout plan?"
}'dailybot plan task comment ENG-142 "Deployed. <@DB@00000000-0000-4000-8000-00000000000c> can you verify?"Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Editar un comentario
Edita el cuerpo de un comentario. Solo su autor puede editarlo (403 comment_not_author); la respuesta fija edited_at.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| body | string | Requerido | Markdown. Menciona a alguien con <@DB@{uuid}>, usando un uuid de la lista de mencionables. Máx. 10000 caracteres. |
| parent_comment | uuid | null | Opcional | El comentario al que responde este. Solo un nivel de hilo. |
| agent_name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskComment | Requerido | Un objeto TaskComment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | El nombre del agente no es válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | Autenticado pero sin permiso: falta el scope (`insufficient_scope`, que es también lo que recibe una key de agente o de la organización en una operación que requiere una persona, y lo que recibe una key personal cuando sus scopes de Plan explícitos no cubren el endpoint) o es una cuenta de invitado (`guest_not_allowed`). |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"body": "Looks good. Rollout plan attached."
}'dailybot plan task comment-edit ENG-142 00000000-0000-4000-8000-000000000008 "Deployed to production"Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Eliminar un comentario
Una eliminación lógica: la fila se conserva para que sus eventos sigan resolviéndose, y el cuerpo queda vacío.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | El nombre del agente no es válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | Autenticado pero sin permiso: falta el scope (`insufficient_scope`, que es también lo que recibe una key de agente o de la organización en una operación que requiere una persona, y lo que recibe una key personal cuando sus scopes de Plan explícitos no cubren el endpoint) o es una cuenta de invitado (`guest_not_allowed`). |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comment-delete ENG-142 00000000-0000-4000-8000-000000000008 --yesProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Agregar una reacción con emoji a un comentario (idempotente)
Agrega tu reacción emoji al comentario. Es idempotente: agregar la misma reacción otra vez no cambia nada. La respuesta es el comentario con sus reacciones actualizadas.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| emoji | string | Requerido | El emoji. Máx. 32 caracteres. |
| agent_name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskComment | Requerido | Un objeto TaskComment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/reactions/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"emoji": "👍"
}'Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Quitar la reacción con emoji de quien llama en un comentario
Quita tu reacción con este emoji del comentario. Responde 204 aunque la reacción ya no estuviera.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
| emoji | string | Requerido | El emoji a quitar, tal como se envió al agregarlo (máx. 32 caracteres), codificado para URL en la ruta. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/reactions/%F0%9F%91%8D/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
/v1/plan/tasks/{task_id}/comments/{comment_id}/attachments/BetaAPI keyCLI AuthPaginación por número de páginaListar los adjuntos de un comentario
Los adjuntos del comentario, ordenados por posición. El comentario ya trae sus adjuntos listos en attachments. Cada url es un enlace de descarga. No lo guardes: conserva el uuid del adjunto y vuelve a leerlo cuando necesites el archivo.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<TaskAttachment> | Requerido | Las filas de esta página. Ver TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | La tarea, el comentario o el adjunto no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/attachments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comment-attachments ENG-142 00000000-0000-4000-8000-000000000008 --json{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-000000000009",
"filename": "screenshot.png",
"content_type": "image/png",
"size": 1,
"url": "https://your.app/files/screenshot.png",
"thumbnail_url": null,
"width": null,
"height": null,
"status": "ready",
"uploaded_by": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"created_at": "2026-09-25T10:14:02Z"
}
]
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Subir un adjunto a un comentario
Adjunta un archivo a un comentario. Solo el autor del comentario puede adjuntarle archivos. Envía multipart/form-data con el campo file y un caption opcional; aquí no hay flujo de prefirmado. El límite es de 5 MiB en todos los entornos: un archivo más grande es 400 attachment_too_large, con extra.max_size_bytes. El tipo de archivo se verifica por su contenido contra la misma lista que los adjuntos de tareas (attachment_invalid_type). Un comentario admite como máximo 50 adjuntos (attachment_limit_reached).
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| file | binary | Requerido | El archivo a subir (máximo 5 MiB por esta vía). |
| caption | string | Opcional | Pie de texto opcional. Máximo 255 caracteres. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachment | Requerido | Un objeto TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | Falta el archivo, es demasiado grande (`attachment_too_large`, más de 5 MiB), su tipo no se admite (`attachment_invalid_type`) o se alcanzó el límite de 50 (`attachment_limit_reached`). `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | No eres el autor del comentario (`comment_not_author`). |
| 404 | La tarea, el comentario o el adjunto no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/attachments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-F "file=@./screenshot.png" \
-F "caption=Staging dashboard"dailybot plan task comment-attach ENG-142 00000000-0000-4000-8000-000000000008 ./trace.txt --caption "Stack trace"Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
/v1/plan/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}/content/BetaAPI keyCLI AuthDescargar los bytes de un adjunto de un comentario
Transmite el archivo con el tipo de contenido registrado al subirlo, X-Content-Type-Options: nosniff y Cache-Control: no-store. Nunca redirige al almacenamiento. Se autoriza como cualquier otra lectura de la tarea.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | La tarea, el comentario o el adjunto no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/attachments/00000000-0000-4000-8000-000000000009/content/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comment-attachment get ENG-142 00000000-0000-4000-8000-000000000008 00000000-0000-4000-8000-000000000009 -o ./trace.txtProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
/v1/plan/tasks/{task_id}/comments/{comment_id}/attachments/{attachment_id}/BetaAPI keyCLI AuthQuitar un adjunto de un comentario
Quita el adjunto del comentario. Pueden hacerlo quien lo subió, el autor del comentario o un administrador de la organización.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | El nombre del agente no es válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | No eres quien lo subió, el autor del comentario ni un administrador de la organización (`attachment_delete_forbidden`). |
| 404 | La tarea, el comentario o el adjunto no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/attachments/00000000-0000-4000-8000-000000000009/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comment-attachment delete ENG-142 00000000-0000-4000-8000-000000000008 00000000-0000-4000-8000-000000000009 --yesProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Listar los adjuntos de una tarea
Los adjuntos de la tarea, ordenados por posición, en una página. Cada url es un enlace de descarga; no lo guardes. Vuelve a leer el adjunto para obtener el actual o descarga con el endpoint de contenido.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<TaskAttachment> | Requerido | Las filas de esta página. Ver TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task attachments ENG-142 --jsonProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Subir un adjunto en una sola solicitud
Sube un archivo en una sola solicitud, hasta 5 MiB. Para archivos de hasta 25 MiB, usa prefirmar → subir → confirmar.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| file | binary | Requerido | El archivo a subir (máximo 5 MiB por esta vía). |
| caption | string | Opcional | Pie de texto opcional. Máximo 255 caracteres. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachment | Requerido | Un objeto TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-F "file=@./screenshot.png" \
-F "caption=Staging dashboard"dailybot plan task attach ENG-142 ./screenshot.png --caption "Staging dashboard"Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Reservar un adjunto y recibir un destino de carga
Reserva un adjunto y obtén un destino de carga. El size declarado puede ser de hasta 25 MiB cuando el servidor tiene almacenamiento de objetos; de lo contrario, las cargas se limitan a 5 MiB y las declaraciones mayores se rechazan con attachment_too_large.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| filename | string | Requerido | Nombre del archivo. Máx. 255 caracteres. |
| content_type | string | Requerido | Tipo MIME. Máx. 127 caracteres. |
| size | integer | Requerido | Tamaño en bytes. De 1 a 26214400. |
| agent_name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente. |
Objeto TaskAttachmentPresignResponse
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| upload_url | string | Requerido | Dónde subir los bytes. |
| method | string | Requerido | Método HTTP para la carga. |
| headers | object | Requerido | Headers que se envían con la carga. |
| expires_in | integer | Requerido | Segundos hasta que vence el destino de carga. |
| attachment | TaskAttachment | Requerido | El adjunto pendiente. Ver TaskAttachment. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachmentPresignResponse | Requerido | Un objeto TaskAttachmentPresignResponse. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/presign/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "screenshot.png",
"content_type": "image/png",
"size": 482133
}'dailybot plan task attach ENG-142 ./screenshot.png{
"upload_url": "https://your.app/files/screenshot.png",
"method": "PUT",
"headers": {},
"expires_in": 900,
"attachment": {
"uuid": "00000000-0000-4000-8000-000000000009",
"filename": "screenshot.png",
"content_type": "image/png",
"size": 1,
"url": "https://your.app/files/screenshot.png",
"thumbnail_url": null,
"width": null,
"height": null,
"status": "ready",
"uploaded_by": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-00000000000c",
"name": "Ada L."
},
"created_at": "2026-09-25T10:14:02Z"
}
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Descargar los bytes de un adjunto a través de la API
Transmite el archivo, autorizado como cualquier otra lectura de la tarea. En servidores sin almacenamiento de objetos, este es el url del adjunto; de lo contrario, url es un enlace de descarga y este endpoint es la alternativa para clientes que prefieren enviar su credencial. 409 attachment_not_ready si la carga nunca se completó.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
| 409 | La carga nunca se completó ni se confirmó (`attachment_not_ready`). |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/00000000-0000-4000-8000-000000000009/content/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task attachment get ENG-142 00000000-0000-4000-8000-000000000009 -o ./screenshot.pngProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Subir los bytes de un adjunto prefirmado (alternativa local/de desarrollo)
Sube los bytes de un adjunto prefirmado cuando el destino de carga apunta de vuelta a la API (servidores sin almacenamiento de objetos). Limitado a 5 MiB.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachment | Requerido | Un objeto TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló, o no se reconoció un valor de filtro, orden o `include`. El `code` de la respuesta indica cuál. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X PUT "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/00000000-0000-4000-8000-000000000009/content/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: image/png" \
--data-binary @./screenshot.pngProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Marcar un adjunto prefirmado como listo después de subirlo
El último paso de prefirmar → subir → confirmar: marca el adjunto como listo una vez subidos sus bytes. Hasta entonces, descargarlo responde 409 attachment_not_ready.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachment | Requerido | Un objeto TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | El nombre del agente no es válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X POST "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/00000000-0000-4000-8000-000000000009/confirm/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task attach ENG-142 ./screenshot.pngProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Quitar un adjunto
Quita el adjunto de la tarea. El archivo almacenado se elimina cuando nada más lo referencia.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| attachment_id | string | Requerido | El uuid del adjunto. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | El nombre del agente no es válido (`invalid_agent_attribution`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | Autenticado pero sin permiso: falta el scope (`insufficient_scope`, que es también lo que recibe una key de agente o de la organización en una operación que requiere una persona, y lo que recibe una key personal cuando sus scopes de Plan explícitos no cubren el endpoint) o es una cuenta de invitado (`guest_not_allowed`). |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS -X DELETE "https://api.dailybot.com/v1/plan/tasks/ENG-142/attachments/00000000-0000-4000-8000-000000000009/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task attachment delete ENG-142 00000000-0000-4000-8000-000000000009 --yesProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
La actividad de una tarea, generada a partir del registro de eventos
Los eventos contienen ids, miembros de enums, números, booleanos y fechas, nunca texto escrito por usuarios. No hay título, descripción, cuerpo de comentario ni nombre de etiqueta en un payload. Combina lo que tienes derecho a leer: los cuerpos de los comentarios vienen del endpoint de comentarios y los títulos, de la propia tarea.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
| event_type | array | Opcional | Filtra por uno o más tipos de evento. |
Objeto TaskEvent
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string | Requerido | Identificador público estable. |
| event_type | string | Requerido | El tipo de evento. Se agregan tipos nuevos con el tiempo: ignora los que no reconozcas. |
| entity | object | Opcional | — |
| payload | object | Opcional | Solo ids, valores de enum, números, booleanos y fechas; nunca texto escrito por usuarios. |
| actor | object | Opcional | Quién actuó. |
| executed_by_agent | object | null | Opcional | El agente que ejecutó esto en nombre de la persona, o null si no se nombró a ninguno: un objeto con uuid, name, username y avatar. La persona del campo de autor sigue siendo la autora; el agente se muestra como quien lo ejecutó. |
| origin | string | Opcional | — |
| correlation_id | string | null | Opcional | — |
| observed_at | string | Opcional | Cuándo se registró. |
| occurred_at | string | Requerido | Cuándo ocurrió. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<TaskEvent> | Requerido | Las filas de esta página. Ver TaskEvent. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/events/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task events ENG-142 --json{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-00000000000f",
"event_type": "task.moved",
"entity": {},
"payload": {},
"actor": {},
"origin": "web",
"correlation_id": null,
"observed_at": "example",
"occurred_at": "example"
}
]
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
El feed de actividad de una tarea, enriquecido para mostrar
Paginado, con la misma forma de fila que GET /v1/plan/activity/ (tarjeta de tarea más changes[{field, from, to}] resueltos). Es lo que ?include=activity incrusta en el detalle de la tarea. Para el registro de eventos sin procesar usa GET …/tasks/{task_id}/events/.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
Objeto ActivityEvent
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string | Requerido | Identificador público estable. |
| type | string | Requerido | El tipo de evento. Se agregan tipos nuevos con el tiempo: ignora los que no reconozcas. |
| actor | object | Requerido | Quién actuó. |
| executed_by_agent | object | null | Opcional | El agente que ejecutó esto en nombre de la persona, o null si no se nombró a ninguno: un objeto con uuid, name, username y avatar. La persona del campo de autor sigue siendo la autora; el agente se muestra como quien lo ejecutó. |
| created_at | string | Requerido | Cuándo se creó la fila. |
| task | object | Opcional | Forma: {uuid, key, title, board {uuid, key, name} | null} | null. |
| payload | object | Requerido | Solo ids, valores de enum, números, booleanos y fechas; nunca texto escrito por usuarios. |
| changes | array | Requerido | Cambios de campos resueltos, [{field, from, to}]. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<ActivityEvent> | Requerido | Las filas de esta página. Ver ActivityEvent. |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | No existe o no es visible para ti. Ambos casos devuelven el mismo cuerpo. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/activity/" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task activity ENG-142 --updated-since 2026-09-20T00:00:00Z{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "00000000-0000-4000-8000-00000000000f",
"type": "task.moved",
"actor": {},
"created_at": "example",
"task": {},
"payload": {},
"changes": []
}
]
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Resolver referencias de adjuntos
Convierte las referencias de adjuntos que tienes (por ejemplo los marcadores attachment:{uuid} de una descripción, o un content_url guardado) en el url actual de cada adjunto. Pasa de 1 a 50 uuids en ids, separados por comas; cubre adjuntos de tareas, comentarios, proyectos, objetivos, tableros, hitos y actualizaciones de proyecto. Un id que no existe, que no puedes ver o cuyo adjunto no está ready simplemente no aparece en resolved: los tres casos se ven igual y no hay error. No guardes url ni la pegues en lugares públicos: trátala como opaca. url_expires_at es null o una marca de tiempo ISO, así que vuelve a pedirla al renderizar. Para descargar, prefiere GET …/attachments/{attachment_id}/content/ con tu credencial.
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| ids | string | Requerido | Uuids de adjuntos, separados por comas. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| resolved | object | Requerido | Un mapa desde cada uuid de adjunto que puedes ver hacia {url, url_expires_at}. Los ids ausentes no se listan. |
| resolved.{uuid}.url | string | Requerido | El enlace de descarga actual del adjunto. |
| resolved.{uuid}.url_expires_at | string | null | Requerido | Cuándo deja de funcionar el enlace, como fecha ISO, o null cuando no vence. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | `ids` está vacío o tiene un uuid mal formado (`invalid_filter_value`, se rechaza en vez de omitirse), o tiene más de 50 valores (`too_many_filter_values`). |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
curl -sS "https://api.dailybot.com/v1/plan/attachments/resolve/?ids=00000000-0000-4000-8000-000000000009,00000000-0000-4000-8000-000000000010" \
-H "Authorization: Bearer $DAILYBOT_TOKEN"dailybot plan tasks attachments-resolve 00000000-0000-4000-8000-000000000009{
"resolved": {
"00000000-0000-4000-8000-000000000009": {
"url": "/v1/plan/tasks/00000000-0000-4000-8000-000000000003/attachments/00000000-0000-4000-8000-000000000009/content/",
"url_expires_at": null
}
}
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Renombrar un adjunto del comentario
Cambia el nombre visible del archivo; los bytes guardados no cambian. Cualquiera que pueda escribir en el elemento padre puede renombrar sus adjuntos.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
| attachment_id | uuid | Requerido | El uuid del adjunto. |
Encabezados
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| X-Dailybot-Agent-Name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona. Úsalo en escrituras multipart y sin cuerpo (DELETE, archivar, restaurar); en escrituras JSON envía el campo agent_name del cuerpo, que gana si vienen los dos. Codifica el valor con percent-encoding (UTF-8). Los caracteres de control se eliminan; un valor vacío significa sin agente. Más de 128 caracteres, o un valor que no se puede decodificar, es 400 invalid_agent_attribution (nunca se trunca). Una clave de tipo agente, que no está ligada a una persona, recibe 400 invalid_agent_attribution si lo envía. El sello nunca cambia una respuesta de permisos. Ver Atribución de agente. |
Cuerpo de la solicitud
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| filename | string | Requerido | El nuevo nombre del archivo (1–255 caracteres). Los bytes guardados no cambian. |
| agent_name | string | Opcional | El nombre del agente que ejecutó esta escritura en nombre de la persona (máx. 128 caracteres, vacío significa sin agente). Tiene prioridad sobre el header X-Dailybot-Agent-Name. Ver Atribución de agente. |
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| (body) | TaskAttachment | Requerido | Un objeto TaskAttachment. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | La validación falló; el `code` de la respuesta indica qué campo. `invalid_agent_attribution` significa que el nombre del agente no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 403 | No puedes escribir aquí (`insufficient_scope`), o eres invitado (`guest_not_allowed`). |
| 404 | El elemento padre o el adjunto no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS -X PATCH "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/attachments/00000000-0000-4000-8000-000000000009/" \
-H "X-API-KEY: $DAILYBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "spec-v2.pdf"
}'dailybot plan task comment attachments rename ENG-142 00000000-0000-4000-8000-000000000008 00000000-0000-4000-8000-000000000009 spec-v2.pdfProbarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:write`.
- Límite de solicitudes: 60 escrituras por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
/v1/plan/tasks/{task_id}/comments/{comment_id}/reactions/BetaAPI keyCLI AuthPaginación por número de páginaListar quién reaccionó a un comentario
Todos los que reaccionaron, del más antiguo al más reciente, como una página: la lista completa detrás de la vista previa limitada users de cada reacción del comentario. emoji la reduce a un solo emoji.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| task_id | string | Requerido | Un uuid de tarea o su clave, como ENG-142, incluida una clave retirada por el cambio de nombre de un tablero. La resolución se limita primero a tu organización, así que la clave de otra organización es un 404 idéntico al de una inexistente. Los ids numéricos nunca se aceptan. |
| comment_id | string | Requerido | El uuid del comentario. |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| page | integer | Opcional | Número de página, empezando en 1. |
| page_size | integer | Opcional | Filas por página. 50 por defecto, máximo 100. Los valores fuera de rango se ajustan, nunca se rechazan: pedir 500 devuelve 100. |
| emoji | string | Opcional | Un emoji; todos los emojis si se omite. La misma regla que en las escrituras: cualquier otra cosa es 400 reaction_invalid_emoji. |
Objeto Reactor
Objeto ActorRef
Respuesta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| count | integer | Requerido | Número total de filas. |
| next | uri | Requerido | URL de la página siguiente, o null. |
| previous | uri | Requerido | URL de la página anterior, o null. |
| results | array<Reactor> | Requerido | La página de objetos Reactor. |
Errores
| Estado | Cuándo |
|---|---|
| 400 | `emoji` no es un solo emoji (`reaction_invalid_emoji`), o un valor de paginación no es válido. |
| 401 | Credencial ausente, vencida o con formato inválido (`credential_absent`, `credential_expired`, `credential_malformed`). |
| 402 | Plan aún no está habilitado para tu organización (`plan_upgrade_required`). Es lo esperado durante la Beta: escribe a [email protected]. |
| 404 | La tarea o el comentario no existe o no puedes verlo (`not_found`), nunca un 403. |
curl -sS "https://api.dailybot.com/v1/plan/tasks/ENG-142/comments/00000000-0000-4000-8000-000000000008/reactions/?emoji=%F0%9F%91%8D" \
-H "X-API-KEY: $DAILYBOT_API_KEY"dailybot plan task comment-reactions ENG-142 00000000-0000-4000-8000-000000000008{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"emoji": "👍",
"user": {
"kind": "user",
"uuid": "00000000-0000-4000-8000-000000000001",
"name": "Ana"
},
"executed_by_agent": null,
"created_at": "2026-09-30T14:00:00Z"
}
]
}Probarlo
Este es un asistente de solo copia — la solicitud no se envía desde tu navegador. Pega el comando en tu terminal para ejecutarlo.
- Scope: `tasks:read`.
- Límite de solicitudes: 120 lecturas por minuto por actor.
- Funciona con una sesión iniciada, un token de usuario del CLI, una API key personal, o una key de agente o de la organización. Una key personal ve lo que ve su persona; una key de agente o de la organización actúa como actor del sistema y solo ve los tableros visibles para la organización.
Esta página es la referencia de Plan · Comentarios y archivos. Todos los endpoints viven bajo https://api.dailybot.com/v1/plan/ y responden JSON.
Autentícate con una sesión iniciada o un token de usuario del CLI (Authorization: Bearer …), o con una API key (X-API-KEY). Una API key personal actúa como su persona y puede hacer todo lo que esa persona puede hacer en Dailybot; una key de agente o de la organización nunca actúa como una persona y se rechaza en los endpoints que la requieren. En un endpoint, la insignia API key significa que también se acepta una key de agente o de la organización. Consulta Autenticación para Plan, Autenticación y Errores para las reglas comunes a todas las APIs de Dailybot.
Si es tu primera vez con Plan, lee la introducción para entender el modelo: proyectos, tableros, estados, claves, orden, versiones y archivado.