Producto
CLI

Llamar a cualquier endpoint

plazbot api: request autenticado a cualquier endpoint de la API de Plazbot, como stripe get o az rest

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.

bash
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ámetroFlagRequeridoDescripció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>NoBody JSON: en línea ('{...}'), desde un archivo (@archivo.json) o desde stdin (-)
Query-q, --query <key=value>NoParámetro de query. Se puede repetir
Header-H, --header <key:value>NoHeader adicional. Se puede repetir
Sin workspaceId--no-workspace-paramNoNo agrega ?workspaceId=<workspace> a la query
Estado HTTP-i, --includeNoImprime el código HTTP en stderr
Workspace-w, --workspace <id>NoWorkspace del request (por defecto, el activo)
Zona-z, --zone <zone>NoLA o EU (por defecto, la de la sesión)
Confirmar-y, --yesNoOmite la confirmación en métodos que no son GET

Qué agrega el CLI

  • Authorization: Bearer <token> y x-workspace-id con el workspace de la sesión (o el de -w).
  • ?workspaceId=<workspace> en la query, salvo que ya lo pases con -q o uses --no-workspace-param.
  • {ws} en la ruta, en los valores de -q y 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_required hasta que agregues --yes.
  • Algunos endpoints siempre exigen --yes, aunque estés en una terminal, porque borran o envían en masa:
RequestQué hace
POST /api/contact/delete-batch, delete-batch-dates, deleteMassiveBorra contactos en masa
DELETE /api/workspace/{id}Borra un workspace
POST /api/workspace/{id}/integrations/deactivate-allDesactiva todos los canales
POST /api/workspace/{id}/transfer-numberMueve un número a otro workspace
POST /api/conversation/campaignEnvía una campaña de WhatsApp (Meta la cobra)
POST /api/ai-team/sql-queryEjecuta una consulta SQL
DELETE /api/source/{id}/rowsBorra todas las filas de una tabla
DELETE /api/worker/logs/cleanupBorra 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

bash
01# Configuración del workspace (etiquetas, fases, pipelines, canales...)
02plazbot api get /api/workspace/{ws}
03 
04# Miembros del equipo
05plazbot api get /api/workspace/usersByWorkspaceId/{ws}
06 
07# Reporte de mensajes de una semana, en otro workspace de Europa
08plazbot api get /api/report/message -q startDate=2026-10-01 -q endDate=2026-10-07 -w wok_AbcDef123 -z EU
09 
10# Crear una etiqueta (sin preguntar)
11plazbot api post /api/workspace/{ws}/masterOfTags -d '{"name":"VIP","color":"#22c55e"}' --yes
12 
13# Body desde un archivo
14plazbot api put /api/workspace/{ws}/view/viw_AbcDef123 -d @vista.json --yes
15 
16# Body desde stdin
17cat cambios.json | plazbot api put /api/contact -q id=con_AbcDef123 -d - --yes
18 
19# Ver el código HTTP
20plazbot 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.

json
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:

json
01{"error":{"message":"One or more validation errors occurred. currentUser: The currentUser field is required.","code":"request_failed","status":400}}
MensajeCausaSolución
This action needs confirmation and there is no interactive terminal.Método que no es GET sin terminal interactivaAgrega --yes
POST /api/... deletes contacts in bulk.Endpoint peligroso sin --yesRevisa 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álidoRevisa el JSON, o usa -d @archivo.json
This session is read-only: it cannot change data.Sesión creada con plazbot login --read-onlyInicia sesión sin --read-only para hacer cambios
Resource not found.Ruta o ID inexistenteRevisa la ruta y el workspace activo (plazbot whoami)
¿Quieres probar la API en vivo? Abre el Playground.