Formularios · API Reference · Developers
Crea, configura y archiva formularios por API; gestiona preguntas con lógica condicional; envía respuestas y transita estados en la máquina de flujo.
En esta página
Listar formularios
Devuelve todos los formularios de la organización del llamante (archivados excluidos por defecto). Soporta filtrado por alcance, propietario, búsqueda por nombre, ordenamiento por nombre/fecha/total de respuestas, rangos de fecha e inclusión opcional de preguntas. Las capacidades — edición, visibilidad de respuestas, cambios de estado — están gobernadas por los permisos del formulario; el propietario y los administradores siempre tienen acceso completo.
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| search | string | Opcional | Búsqueda sin distinción de mayúsculas en nombre del formulario. Coincide con formularios del sistema y creados por el usuario. Máx. 200 caracteres. |
| filter | string | Opcional | Filtro de alcance. Uno de: all, public, approval, workflow, archived. Por defecto: todos los formularios de la organización. Valor obsoleto: me — usa owner_user_ids con tu propio UUID. |
| owner_user_ids | string (CSV) | Opcional | Filtra por UUIDs de propietarios de formularios. Separados por comas (máx. 50), semántica OR. AND con todos los demás parámetros (search, filter, paginación, ordenamiento). UUIDs de otras organizaciones nunca coinciden. Reemplaza el obsoleto filter=me. |
| order | string | Opcional | Campo de ordenamiento. Uno de: alphabetical, recent, total. Por defecto: recent. |
| is_ascend | boolean | Opcional | Dirección de ordenamiento. true para ascendente, false para descendente. Por defecto: false. |
| include | string | Opcional | Lista separada por comas de campos adicionales a incluir. Actualmente soporta: questions (devuelve las preguntas de cada formulario con UUID, label, type, options). |
| include_archived | boolean | Opcional | Si es true, incluye formularios archivados en los resultados. No es necesario con filter=archived. Por defecto: false. |
| start_date | string (YYYY-MM-DD) | Opcional | Filtra formularios creados en o después de esta fecha. Inclusivo, zona horaria del llamante. |
| end_date | string (YYYY-MM-DD) | Opcional | Filtra formularios creados en o antes de esta fecha. Inclusivo, zona horaria del llamante. |
| offset | integer | Opcional | Offset de paginación. Por defecto: 0. |
| limit | integer | Opcional | Tamaño de página. Por defecto: 25, máximo: 50. |
Respuesta
{
"count": "integer",
"next": "string | null",
"previous": "string | null",
"results": "array<{ uuid, name, is_active, collect_responses_anonymously, privacy, shortcut, start_on, end_on, is_archived, workflow_enabled, approval_flow_enabled, created_at, questions? }>"
}Errores
| Estado | Cuándo |
|---|---|
| 400 | Error de validación (invalid_filter, invalid_order, search_query_too_long, invalid_date_range, invalid_owner_user_id, too_many_owner_user_ids) |
| 401 | Credencial ausente, inválida o expirada |
| 403 | Autenticado pero sin permiso |
| 429 | Limitado — encabezado Retry-After presente |
curl -sS 'https://api.dailybot.com/v1/forms/?filter=workflow&order=alphabetical&is_ascend=true' \
-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.
- Cuando include=questions está configurado, cada objeto de formulario incluye un array questions con UUID, label, type, flag required y options de cada pregunta.
- Obsoleto: filter=me — usa owner_user_ids con tu propio UUID de usuario. Los clientes legacy siguen funcionando: me aún resuelve al alcance del propietario del llamante y se intersecta con cualquier owner_user_ids explícito. El alcance me en endpoints de respuestas de formulario no está relacionado y NO está obsoleto. Tanto filter=me como available_on_list_view se aceptan indefinidamente; la remoción se anunciará como una entrada de changelog separada con su propia ventana de migración.
- Obsoleto: available_on_list_view — todavía aceptado en POST /v1/forms/create/ y PATCH /v1/forms/{uuid}/config/ pero ignorado del lado del servidor. La visibilidad en la lista ahora es organizacional. Para ocultar un formulario, archívelo.
Crear un formulario con preguntas inline
Crea un formulario nuevo con al menos una pregunta y configuración opcional. Requiere rol admin o manager.
Cuerpo de la solicitud
{
"name": "string (required, min 3)",
"questions": "array (required, min 1)",
"report_channels": "string[] (max 3)",
"generate_short_question": "boolean (optional, top-level)"
}Respuesta
{
"uuid": "string (uuid)",
"name": "string",
"questions": "array",
"report_channels": "array",
"public_url": "string|null"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | questions_required, unknown_field, etc. |
curl -sS -X POST 'https://api.dailybot.com/v1/forms/create/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json' -d '{"name":"Incident Report","questions":[{"type":"text","label":"What happened?","short_question":"Description"}]}'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.
- Alias: question_type por type, question por label. short_question obligatorio salvo generate_short_question: true.
Listar propietarios de formularios
Selector paginado y buscable de miembros de la organización que poseen al menos un formulario no archivado. Solo aparecen miembros activos y aprobados. Ordenado por full_name ascendente. Diseñado para selectores de UI: una organización de 1000 miembros devuelve solo sus (típicamente pocos) propietarios de formularios, no todo el directorio.
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| search | string | Opcional | Búsqueda sin distinción de mayúsculas en nombre y email del miembro. El email se compara del lado del servidor para todos los llamantes pero el valor solo se devuelve a llamantes con visibilidad de email (admins, managers, team admins). |
| offset | integer | Opcional | Offset de paginación. Por defecto: 0. |
| limit | integer | Opcional | Tamaño de página. Por defecto: 20, máximo: 50. |
Respuesta
{
"count": "integer",
"next": "string | null",
"previous": "string | null",
"results": "array<{ uuid, full_name, image, role, email (conditional — present only for admin/manager/team-admin-scoped callers) }>"
}Errores
| Estado | Cuándo |
|---|---|
| 400 | Error de validación (search_query_too_long) |
| 401 | Credencial ausente, inválida o expirada |
| 403 | Autenticado pero sin permiso |
| 429 | Limitado — encabezado Retry-After presente |
curl -sS 'https://api.dailybot.com/v1/forms/form-owners/?search=serg&limit=20' \
-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.
- Los emails de miembros están ocultos en los payloads del selector. El campo email aparece SOLO cuando el llamante tiene visibilidad de email — admins de organización, managers y admins de equipo. Los llamantes con alcance de miembro reciben filas sin la clave email (omitida, nunca null). Las API keys heredan el rol del propietario de la clave. search aún coincide con el email del lado del servidor para todos, pero el valor nunca se devuelve a llamantes sin visibilidad.
- El campo role contiene el slug del rol organizacional: ADMIN_ORG, MANAGER, ADMIN, MEMBER o GUEST.
Obtener un formulario
Obtiene un formulario por UUID. La puerta de lectura es membresía organizacional — cualquier miembro autenticado de la organización puede leer cualquier formulario. Los campos privacy y available_on_list_view no afectan quién puede leer el formulario; las capacidades como editar, ver respuestas y cambiar estados de workflow están gobernadas por los permisos por alcance del formulario (el propietario y los admins siempre tienen acceso completo).
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Respuesta
{
"uuid": "string (uuid)",
"name": "string",
"is_active": "boolean",
"collect_responses_anonymously": "boolean",
"privacy": "string",
"questions": "array",
"workflow": "object",
"created_at": "string (ISO 8601)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial ausente, inválida o expirada |
| 403 | Autenticado pero sin permiso |
| 429 | Limitado — encabezado Retry-After presente |
| 404 | Formulario no encontrado o el llamante no es miembro de la organización |
curl -sS -X GET 'https://api.dailybot.com/v1/forms/{uuid}/' -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.
- La puerta de lectura del detalle es la membresía organizacional. El campo privacy refleja el alcance de envío del formulario (OWNER, TEAM, EVERYONE), no quién puede leer la definición del formulario. El campo available_on_list_view está obsoleto y no tiene efecto — todos los formularios de la organización ahora aparecen en el endpoint de lista.
Actualizar configuración del formulario
Actualización parcial. Campos desconocidos devuelven 400 unknown_field.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"name": "string?",
"workflow": "object?",
"who_can_edit": "object?",
"report_channels": "string[]?"
}Respuesta
{
"id": "uuid",
"name": "string",
"questions": "array",
"workflow": "object"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | unknown_field, etc. |
| 404 | form_not_found |
curl -sS -X PATCH 'https://api.dailybot.com/v1/forms/{uuid}/config/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json' -d '{"allow_public_responses":true}'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.
- report_channels reemplaza el conjunto completo (máx. 3).
Archivar (desactivar) un formulario
Marca el formulario como inactivo y archivado. Idempotente.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 404 | form_not_found |
curl -sS -X DELETE 'https://api.dailybot.com/v1/forms/{uuid}/archive/' -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.
Add a question to a form
Add a question to a form
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"type": "string",
"label": "string",
"short_question": "string (required unless generate_short_question)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | Errores de validación |
curl -sS -X POST 'https://api.dailybot.com/v1/forms/{uuid}/questions/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'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.
Update a form question
Update a form question
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| q_uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"type": "string",
"label": "string",
"short_question": "string (required unless generate_short_question)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | Errores de validación |
curl -sS -X PATCH 'https://api.dailybot.com/v1/forms/{uuid}/questions/{q_uuid}/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'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.
Delete a form question
Delete a form question
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| q_uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"type": "string",
"label": "string",
"short_question": "string (required unless generate_short_question)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | Errores de validación |
curl -sS -X DELETE 'https://api.dailybot.com/v1/forms/{uuid}/questions/{q_uuid}/delete/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'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.
Reorder all form questions
Reorder all form questions
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"question_uuids": "uuid[] (required, complete set)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Credencial faltante o inválida |
| 403 | Permisos insuficientes (se requiere admin/manager para escritura) |
| 429 | Límite de tasa — encabezado Retry-After presente |
| 400 | Errores de validación |
curl -sS -X PUT 'https://api.dailybot.com/v1/forms/{uuid}/questions/reorder/' -H 'X-API-KEY: $DAILYBOT_API_KEY' -H 'Content-Type: application/json'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.
- question_uuids debe incluir todos los UUIDs.
Listar respuestas de un formulario
Lista paginada de respuestas del formulario. Por defecto devuelve solo las respuestas del llamante. Con all=true o cualquier filtro avanzado (submission_sources, submitter_user_ids, flow_status), devuelve todas las respuestas y requiere permiso VIEW_REPORTS. Soporta búsqueda de texto completo, filtrado por origen de envío, estado de workflow, estado de aprobación, rangos de fecha y ordenamiento.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Parámetros de consulta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| all | boolean | Opcional | Devuelve todas las respuestas. Requiere permiso VIEW_REPORTS en el formulario. Por defecto: false (solo respuestas propias). |
| user | string (uuid) | Opcional | Filtra por UUID de autor específico. Requiere permiso VIEW_REPORTS. UUIDs inválidos devuelven 400 invalid_user_identifier. |
| search | string | Opcional | Búsqueda de texto completo en contenido de respuesta, nombre del autor y email del autor. Las identidades anónimas no son buscables (privacidad). Máx. 256 caracteres. |
| submission_sources | string (CSV) | Opcional | Filtra por origen de envío. Separados por comas, semántica OR. Valores: member, anonymous, automation, public. Requiere permiso VIEW_REPORTS. |
| submitter_user_ids | string (CSV) | Opcional | Filtra por UUIDs de autores. Separados por comas (máx. 50), semántica OR. Requiere permiso VIEW_REPORTS. |
| flow_status | string | Opcional | Estado de flujo de aprobación. Uno de: pending, approved, denied. Ignorado silenciosamente si el formulario no tiene flujo de aprobación. Requiere permiso VIEW_REPORTS. |
| state | string | Opcional | Clave de estado de workflow (ej. draft, in_review, done). Devuelve 400 invalid_workflow_state si el formulario no tiene workflow. |
| order | string | Opcional | Dirección de ordenamiento. Uno de: recent (más reciente primero), oldest. Por defecto: recent. |
| is_ascend | boolean | Opcional | Cuando es true, equivalente a order=oldest. Por defecto: false. |
| start_date | string (YYYY-MM-DD) | Opcional | Filtra por inicio de rango de fecha de creación. Inclusivo, zona horaria del llamante. |
| end_date | string (YYYY-MM-DD) | Opcional | Filtra por fin de rango de fecha de creación. Inclusivo, zona horaria del llamante. |
| offset | integer | Opcional | Offset de paginación. Por defecto: 0. |
| limit | integer | Opcional | Tamaño de página. Por defecto: 25, máximo: 50. |
Respuesta
{
"count": "integer",
"next": "string | null",
"previous": "string | null",
"results": "array<{ uuid, user, is_dailybot_bot, is_guest_user, is_anonymous, guest_user, submission_source, flow_status, current_state, content, response_completed, has_issue, created_at, updated_at }>"
}Errores
| Estado | Cuándo |
|---|---|
| 400 | Error de validación (invalid_submission_sources, invalid_submitter_user_id, too_many_submitter_user_ids, invalid_flow_status, invalid_workflow_state, invalid_user_identifier, search_query_too_long, invalid_date_range) |
| 401 | Credencial ausente, inválida o expirada |
| 403 | El llamante carece de permiso VIEW_REPORTS para filtros avanzados (form_response_view_all_forbidden) |
| 429 | Limitado — encabezado Retry-After presente |
curl -sS 'https://api.dailybot.com/v1/forms/{uuid}/responses/?all=true&submission_sources=automation,public&order=recent' \
-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.
- Todos los filtros se componen con AND entre grupos y OR dentro de cada grupo. Ejemplo: submission_sources=member,automation AND flow_status=pending devuelve respuestas de miembros O automación que están pendientes de aprobación.
- Usar cualquier filtro avanzado (submission_sources, submitter_user_ids, flow_status) implica automáticamente all=true y requiere permiso VIEW_REPORTS.
Crear una respuesta de formulario
Envía una nueva respuesta a un formulario. El campo content mapea cada UUID de pregunta a su valor de respuesta. Opcionalmente usa modo automación (sin atribución de autor), modo anónimo (nombre aleatorio), identidad de invitado (metadatos de persona externa) o una etiqueta de origen de envío para trazabilidad.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"content": "object (required) — answers keyed by question UUID. Values can be strings, booleans, numbers, or arrays of scalars for multiple-choice.",
"automation": "boolean (optional, default: false) — submit as automation; channel notifications show no submitter. Response marked with is_dailybot_bot=true.",
"anonymous": "boolean (optional, default: false) — submit anonymously; channel notifications show a random generated name.",
"guest_user": "object (optional) — guest identity for the submission: { full_name: string (max 255), email: string (max 254) }. Only accepted when automation=true; silently ignored otherwise. Required when form has email_and_name_mandatory enabled.",
"submission_source": "string (optional, max 512) — free-text provenance label stored in response metadata (e.g. \"github-actions:deploy-pipeline\", \"zapier:feedback-sync\")"
}Respuesta
{
"uuid": "string (uuid)",
"form": "string (uuid)",
"content": "object — question UUID → answer value",
"response_completed": "boolean",
"has_issue": "boolean",
"blockers_status": "string | null",
"is_anonymous": "boolean",
"is_dailybot_bot": "boolean — true when submitted as automation",
"is_guest_user": "boolean — true when guest identity was recorded",
"guest_user": "object | null — { full_name, email } when guest identity exists",
"submission_source": "string | null — provenance label from metadata",
"created_at": "string (ISO 8601)"
}Errores
| Estado | Cuándo |
|---|---|
| 400 | Error de validación (content ausente, UUIDs de pregunta inválidos, preguntas requeridas sin responder, guest_user_required cuando el form exige nombre+email, formato de email inválido, submission_source excede 512 caracteres) |
| 401 | Credencial ausente, inválida o expirada |
| 403 | Autenticado pero sin permiso |
| 404 | Formulario no encontrado o no visible |
| 413 | El cuerpo de la solicitud excede el límite de 64 KB |
| 429 | Limitado — encabezado Retry-After presente |
curl -s -X POST \
-H 'X-API-KEY: $DAILYBOT_API_KEY' \
-H 'Content-Type: application/json' \
'https://api.dailybot.com/v1/forms/{uuid}/responses/' \
-d '{
"content": {"<question-uuid>": "Approved"},
"automation": true,
"guest_user": {"full_name": "Ops Bot", "email": "[email protected]"},
"submission_source": "workflow:on-call-handoff"
}'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.
- Cuando automation es true, la respuesta aparece sin atribución de usuario en las notificaciones de canal — ideal para pipelines CI/CD, puentes de formularios web o reenvío de webhooks. El campo is_dailybot_bot en la respuesta confirma el modo automación.
- Cuando anonymous es true, un nombre generado aleatoriamente (ej., "Purple Elephant") reemplaza al autor real en las notificaciones de canal. Si tanto automation como anonymous son true, automation tiene precedencia.
- Usa guest_user para adjuntar identidad externa (nombre + email) a envíos de automación. Requerido cuando el form tiene email_and_name_mandatory habilitado. Usa submission_source para etiquetar qué integración o workflow produjo la respuesta.
Obtener una respuesta de formulario
Obtiene una respuesta de formulario identificada por uuid. Devuelve current_state, allowed_transitions y content.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| response_uuid | string (uuid) | Requerido | — |
Respuesta
{
"uuid": "string (uuid)",
"form": "string (uuid)",
"content": "array",
"current_state": "string",
"allowed_transitions": "array<string>",
"response_completed": "boolean",
"has_issue": "boolean",
"blockers_status": "string | null",
"is_anonymous": "boolean",
"is_dailybot_bot": "boolean",
"is_guest_user": "boolean",
"guest_user": "object | null — { full_name, email }",
"submission_source": "string | null",
"flow_status": "string | null — approval status: approved, denied, or null (pending/no flow)",
"created_at": "string (ISO 8601)",
"updated_at": "string (ISO 8601)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
| 404 | Not found or not visible |
curl -sS -X GET 'https://api.dailybot.com/v1/forms/{uuid}/responses/{response_uuid}/' -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.
Actualizar una respuesta de formulario
Actualiza una respuesta de formulario identificada por uuid. La respuesta devuelve el recurso actualizado, incluidos current_state y allowed_transitions.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| response_uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"content": "array (optional)",
"response_completed": "boolean (optional)"
}Respuesta
{
"uuid": "string (uuid)",
"form": "string (uuid)",
"content": "array",
"current_state": "string",
"allowed_transitions": "array<string>",
"response_completed": "boolean",
"updated_at": "string (ISO 8601)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
| 400 | Validation error |
| 404 | Not found or not visible |
curl -sS -X PATCH 'https://api.dailybot.com/v1/forms/{uuid}/responses/{response_uuid}/' -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.
Delete a form response
Delete a form response
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| response_uuid | string (uuid) | Requerido | — |
Errores
| Estado | Cuándo |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
| 404 | Not found or not visible |
curl -sS -X DELETE 'https://api.dailybot.com/v1/forms/{uuid}/responses/{response_uuid}/' -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.
Transition a form response state
Runs the state machine transition. Body: to_state, optional note.
Parámetros de ruta
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
| uuid | string (uuid) | Requerido | — |
| response_uuid | string (uuid) | Requerido | — |
Cuerpo de la solicitud
{
"to_state": "string (required)",
"note": "string (optional)"
}Respuesta
{
"uuid": "string (uuid)",
"form": "string (uuid)",
"current_state": "string",
"allowed_transitions": "array<string>",
"content": "array",
"updated_at": "string (ISO 8601)"
}Errores
| Estado | Cuándo |
|---|---|
| 401 | Missing/invalid/expired credential |
| 403 | Authenticated but not permitted |
| 429 | Throttled - Retry-After header set |
| 400 | Validation error |
| 404 | Not found or not visible |
| 409 | State-machine conflict |
curl -sS -X POST 'https://api.dailybot.com/v1/forms/{uuid}/responses/{response_uuid}/transition/' -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.