Llamar a cualquier endpoint
Envía un request autenticado a cualquier endpoint de la API de Plazbot, aunque no tenga un comando propio en el CLI. Es el equivalente a stripe get o az rest: el CLI agrega el token, el workspace y la zona por ti, y siempre imprime la respuesta como JSON.
01plazbot api <método> <ruta> [opciones]
El método es get, post, put, patch o delete. La ruta es solo el path (/api/contact); si no empieza con /api/, el CLI lo agrega. No se aceptan URLs completas: para cambiar de región usa -z.
Parámetros
| Parámetro | Flag | Requerido | Descripción |
|---|---|---|---|
| Método | <método> | Sí | get, post, put, patch o delete |
| Ruta | <ruta> | Sí | Path del endpoint, ej. /api/contact. {ws} se reemplaza por el ID del workspace |
| Body | -d, --data <json> | No | Body JSON: en línea ('{...}'), desde un archivo (@archivo.json) o desde stdin (-) |
| Query | -q, --query <key=value> | No | Parámetro de query. Se puede repetir |
| Header | -H, --header <key:value> | No | Header adicional. Se puede repetir |
| Sin workspaceId | --no-workspace-param | No | No agrega ?workspaceId=<workspace> a la query |
| Estado HTTP | -i, --include | No | Imprime el código HTTP en stderr |
| Workspace | -w, --workspace <id> | No | Workspace del request (por defecto, el activo) |
| Zona | -z, --zone <zone> | No | LA o EU (por defecto, la de la sesión) |
| Confirmar | -y, --yes | No | Omite la confirmación en métodos que no son GET |
Qué agrega el CLI
Authorization: Bearer <token>yx-workspace-idcon el workspace de la sesión (o el de-w).?workspaceId=<workspace>en la query, salvo que ya lo pases con-qo uses--no-workspace-param.{ws}en la ruta, en los valores de-qy en el body se reemplaza por el ID del workspace.
Confirmación y endpoints peligrosos
- GET se ejecuta directo.
- POST, PUT, PATCH y DELETE piden confirmación. Sin terminal interactiva (scripts, CI, agentes de IA) fallan con
confirmation_requiredhasta que agregues--yes. - Algunos endpoints siempre exigen
--yes, aunque estés en una terminal, porque borran o envían en masa:
| Request | Qué hace |
|---|---|
POST /api/contact/delete-batch, delete-batch-dates, deleteMassive | Borra contactos en masa |
DELETE /api/workspace/{id} | Borra un workspace |
POST /api/workspace/{id}/integrations/deactivate-all | Desactiva todos los canales |
POST /api/workspace/{id}/transfer-number | Mueve un número a otro workspace |
POST /api/conversation/campaign | Envía una campaña de WhatsApp (Meta la cobra) |
POST /api/ai-team/sql-query | Ejecuta una consulta SQL |
DELETE /api/source/{id}/rows | Borra todas las filas de una tabla |
DELETE /api/worker/logs/cleanup | Borra los logs de los workers |
DELETE /api/user/{id} | Borra un usuario |
DELETE /api/automation/Trash/{id} | Borra una automatización de forma definitiva |
Ejemplos
01# Configuración del workspace (etiquetas, fases, pipelines, canales...)02plazbot api get /api/workspace/{ws}0304# Miembros del equipo05plazbot api get /api/workspace/usersByWorkspaceId/{ws}0607# Reporte de mensajes de una semana, en otro workspace de Europa08plazbot api get /api/report/message -q startDate=2026-10-01 -q endDate=2026-10-07 -w wok_AbcDef123 -z EU0910# Crear una etiqueta (sin preguntar)11plazbot api post /api/workspace/{ws}/masterOfTags -d '{"name":"VIP","color":"#22c55e"}' --yes1213# Body desde un archivo14plazbot api put /api/workspace/{ws}/view/viw_AbcDef123 -d @vista.json --yes1516# Body desde stdin17cat cambios.json | plazbot api put /api/contact -q id=con_AbcDef123 -d - --yes1819# Ver el código HTTP20plazbot api get /api/sequence -i
Endpoints útiles de lectura
| Qué | Ruta (GET) |
|---|---|
| Configuración del workspace: etiquetas, fases, pipelines, variables, reglas, canales | /api/workspace/{ws} |
| Miembros del equipo | /api/workspace/usersByWorkspaceId/{ws} |
| Vistas guardadas | /api/workspace/{ws}/view -q userId=usr_.. |
| Contactos no leídos | /api/contact/unread-count -q currentUser=usr_.. |
| Log de envíos de plantillas | /api/conversation |
| Oportunidades | /api/opportunity (-q pipelineId=.., -q contactId=..) |
| Tareas | /api/task -q pageNumber=1 -q pageSize=50 |
| Secuencias | /api/sequence, /api/sequence/stats |
| Automatizaciones | /api/automation -q actives=true, /api/automation/{id}, /api/automation/logs -q automationId=.., /api/automation/contact/{contactId}/state |
| Triggers de reglas | /api/trigger -q isActive=true |
| Webhooks de Developer | /api/workspace/{ws}/webhooks, /api/workspace/{ws}/webhooks/deliveries |
| Webhooks entrantes | /api/workspace/{ws}/incoming-webhooks |
| Base de conocimiento | /api/knowledgeBase/{ws} |
| Tablas de datos | /api/source, /api/source/{id}/rows |
| Llamadas | /api/call |
| Log de actividad | /api/log -q eventType=.., /api/log/webhooks, /api/log/activities |
| Versiones y logs de un agente IA | /api/agent/versions -q agentId=.., /api/agent/logs -q agentId=.. |
| Workers | /api/worker, /api/worker/metrics, /api/worker/{name}/logs |
| Facturación (solo lectura) | /api/billing, /api/billing/invoices |
Para lo más común hay comandos propios con tabla y paginación: contacts, messages, campaigns, reports y el resto que lista plazbot commands.
Resultado
La respuesta de la API se imprime tal cual en stdout, formateada como JSON. Si no es JSON (por ejemplo, la descarga de un archivo), se imprime como texto.
01{02 "success": true,03 "code": 200,04 "errorCode": null,05 "message": "List obtained successfully.",06 "data": {07 "workspaceId": "wok_AbcDef123",08 "continuationToken": null,09 "data": []10 }11}
Con -i el código HTTP sale en stderr (HTTP 200 OK), así no ensucia el JSON.
Errores comunes
El comando termina con código 1 cuando la API responde HTTP 400 o más, o cuando la respuesta trae "success": false (muchos endpoints de Plazbot responden 200 aunque fallen). El body de la respuesta se imprime igual en stdout y el error va a stderr:
01{"error":{"message":"One or more validation errors occurred. currentUser: The currentUser field is required.","code":"request_failed","status":400}}
| Mensaje | Causa | Solución |
|---|---|---|
This action needs confirmation and there is no interactive terminal. | Método que no es GET sin terminal interactiva | Agrega --yes |
POST /api/... deletes contacts in bulk. | Endpoint peligroso sin --yes | Revisa el request y repítelo con --yes |
Pass only the path, not a full URL. | Pasaste https://... | Pasa solo la ruta y elige la región con -z |
The request body is not valid JSON. | -d con JSON inválido | Revisa el JSON, o usa -d @archivo.json |
This session is read-only: it cannot change data. | Sesión creada con plazbot login --read-only | Inicia sesión sin --read-only para hacer cambios |
Resource not found. | Ruta o ID inexistente | Revisa la ruta y el workspace activo (plazbot whoami) |