Referencia de comandos CLI
Opciones globalesEstas opciones se pueden usar con cualquier comando
tier0 .--jsonGenera JSON sin procesar--debugMuestra detalles de solicitud/respuesta HTTPOperaciones básicas
tier0 doctorDiagnostica la conexión y autenticación local del CLI de Tier0
Uso
tier0 doctorNotas
- Comprueba la configuración local, la conectividad OpenAPI, la presencia de API key y la identidad de la API key.
Ejemplo
tier0 doctortier0 configVer o actualizar configuración
Uso
tier0 configOpciones
--base-url- Configurar la base URL de la plataforma
--api-key- Configurar la API key (alternativa a tier0 login)
--lang- Flag de compatibilidad obsoleto; la salida del CLI solo está en inglés
Ejemplos
tier0 configtier0 config --base-url https://tier0.devtier0 config --api-key sk-per-xxxxxxtier0 loginAutenticarse mediante Device Flow
Uso
tier0 loginOpciones
--no-wait- Imprime la URL de autorización y sale sin sondeo
--setup-code- Sondea un setup code existente en lugar de crear uno nuevo
--base-url- Sobrescribir la base URL de la plataforma
Notas
- Sin
--no-wait, el CLI consulta cada 5 segundos durante un máximo de 10 minutos. - Con
--no-wait--json, el CLI devuelveverification_url,setup_codeyexpires_in.
Ejemplos
tier0 logintier0 login --no-wait --jsontier0 login --setup-code <setup_code>tier0 apiLlamar directamente a un API endpoint
Uso
tier0 api <endpoint>Opciones
--body- Cadena JSON del cuerpo de la solicitud
--body-file- Leer el cuerpo de la solicitud desde un archivo
--method- Método HTTP (GET|POST|PUT|DELETE)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
--bodyy--body-fileson mutuamente excluyentes.
Ejemplos
tier0 api /openapi/v1/uns/browse --body '{"path":"/"}'tier0 api /openapi/v1/uns/read --body '{"topics":["demo"]}'tier0 api /openapi/v1/uns/write --body-file body.jsontier0 upgradeActualizar el CLI a la última versión
Uso
tier0 upgradeOpciones
--dry-run- Comprobar actualizaciones sin instalar
-v, --version- Actualizar a una versión específica (predeterminado: latest)
Ejemplos
tier0 upgradetier0 upgrade --dry-runtier0 uninstallDesinstalar tier0 CLI
Uso
tier0 uninstallOpciones
--purge- Eliminar también el archivo de configuración (credenciales)
--remove-skills- Eliminar también la Tier0 Skill de los AI agents detectados
--keep-skills- Conservar agent skills (obsoleto; ahora es el comportamiento predeterminado)
Notas
- Las Agent Skills y la configuración se conservan de forma predeterminada.
- El directorio local de skills integradas se elimina durante la desinstalación del CLI.
Ejemplos
tier0 uninstalltier0 uninstall --purgetier0 uninstall --remove-skillstier0 uninstall --purge --remove-skillstier0 versionMostrar versión
Uso
tier0 versionEjemplo
tier0 versionSkills
tier0 skills installInstalar o reparar la Skill integrada en este CLI
Uso
tier0 skills installOpciones
--force- Reemplazar la Skill activa con la línea base integrada
--no-sync- Instalar localmente sin sincronizar con los AI agents detectados
Ejemplos
tier0 skills installtier0 skills install --forcetier0 skills listListar skills instaladasalias: ls
Uso
tier0 skills listEjemplo
tier0 skills listtier0 skills updateActualizar skills a la última versiónalias: upgrade
Uso
tier0 skills updateOpciones
--dry-run- Comprobar actualizaciones sin instalar
Ejemplos
tier0 skills updatetier0 skills update --dry-runtier0 skills versionMostrar información de versión de las skillsalias: ver
Uso
tier0 skills versionEjemplo
tier0 skills versiontier0 skills statusMostrar el estado de la Skill activa e integrada
Uso
tier0 skills statusEjemplo
tier0 skills statustier0 skills syncSincronizar la Skill activa con los AI agents detectados
Uso
tier0 skills syncEjemplo
tier0 skills syncAutenticación
tier0 auth whoamiMostrar la identidad de la API key actual
Uso
tier0 auth whoamiNotas
- Muestra usuario, workspace, nombre de key, tipo de key, roles y permisos.
Ejemplos
tier0 auth whoamitier0 auth whoami --jsonUNS
tier0 uns browseExplorar el árbol de namespace de UNS
Uso
tier0 uns browseOpciones
-p, --path- Ruta para explorar en el árbol UNS
-d, --max-depth- Profundidad máxima de recursión (0 = ilimitado)
--include-metadata- Incluir metadatos del nodo
--include-leaf-value- Incluir valores de nodos hoja
Ejemplos
tier0 uns browsetier0 uns browse --path /devicestier0 uns browse --path / --max-depth 2tier0 uns searchBuscar topics de UNS
Uso
tier0 uns searchOpciones
-k, --keyword- Buscar por palabra clave de nombre
--path-prefix- Filtrar por prefijo de ruta
--topic-type- Filtrar por topic type
--page- Número de página
-l, --size- Tamaño de página (resultados máximos)
--include-metadata- Incluir metadatos del nodo
--include-leaf-value- Incluir valores de nodos hoja
Ejemplos
tier0 uns search --keyword temptier0 uns search --path-prefix /devices --size 50tier0 uns search --keyword temp --include-metadatatier0 uns readLeer el valor actual de topics de UNS
Uso
tier0 uns read [topic...]tier0 uns read --topic <topic>Opciones
-t, --topic- Nombre(s) de topic para leer (repetible; también se aceptan argumentos posicionales)
--include-metadata- Incluir metadatos del topic (topicType, fields, description)
--include-leaf-value- Incluir valores de nodos hoja
Notas
- Se requiere al menos un topic mediante argumentos posicionales o
--topic.
Ejemplos
tier0 uns read demotier0 uns read --topic demotier0 uns read temp humiditytier0 uns read --topic sensor1 --include-metadatatier0 uns writeEscribir un valor en un topic de UNS
Uso
tier0 uns writeOpciones
-t, --topic- Nombre del topic en el que escribir (obligatorio)
-v, --value- Cadena de valor JSON (mutuamente excluyente con --file)
-f, --file- Leer valor desde archivo (mutuamente excluyente con --value)
--qos- Nivel MQTT QoS (0/1/2)
--retain- Configurar flag retain de MQTT
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
--valuey--fileson mutuamente excluyentes.- El valor debe ser un JSON object válido que coincida con los topic fields.
Ejemplos
tier0 uns write --topic demo --value '{"temp":25}'tier0 uns write --topic demo --file payload.jsontier0 uns write --topic sensor1 --value '{"on":true}' --qos 1 --retaintier0 uns historyConsultar datos históricos de topics
Uso
tier0 uns historyOpciones
-t, --topic- Nombre(s) de topic (repetible, obligatorio)
--start- Hora de inicio: relativa (-1h/-30m/-7d), ISO 8601 o 'now' (obligatorio)
--end- Hora de fin: relativa, ISO 8601 o 'now' (predeterminado: now)
--page- Número de página
-l, --size- Tamaño de página (máximo de puntos de datos)
--interval- Intervalo de agregación (por ejemplo, 1m, 1h, 1d)
--fn- Función de agregación (avg/max/min/sum/count)
--field- Nombre del campo de agregación
Ejemplos
tier0 uns history -t demo --start -1htier0 uns history -t demo --start -24h --end now --fn avg --interval 1htier0 uns history -t demo --start 2026-01-01T00:00:00Z --end 2026-01-02T00:00:00Ztier0 uns createCrear nodos de namespace de UNS
Uso
tier0 uns createOpciones
-t, --topic- Ruta del topic o nombre de hoja (obligatorio si no se usa --file)
--parent- Prefijo de ruta padre (opcional, se combina con --topic)
--type- Tipo de nodo: 'path' (carpeta) o 'topic' (punto de datos)
-d, --display-name- Nombre visible
--description- Descripción
--alias- Alias
-f, --file- Leer definición de namespace desde archivo JSON ({"namespace":[]} o un array directo)
--topic-type- Obsoleto: el topic type ahora se deriva de la ruta (carpeta Metric/Action/State antes de la hoja)
--fields- Array JSON de schema fields
--fields-file- Leer array JSON de schema fields desde archivo
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Si no se usa
--file,--topicy--typeson obligatorios. --fieldsy--fields-fileson mutuamente excluyentes.- En nodos topic, el segmento inmediatamente anterior a la hoja debe ser Metric, Action o State.
Ejemplos
tier0 uns create --topic Plant/Line1/Metric/Temperature --type topictier0 uns create --parent Factory1/Line1/Station1 --topic Metric/ProductionCount --type topictier0 uns create --topic Plant/Line1 --type path --display-name 'Line 1'tier0 uns create --file namespace.jsontier0 uns updateActualizar metadatos de topic UNS
Uso
tier0 uns updateOpciones
-p, --path- Ruta del topic a actualizar (obligatorio)
-n, --name- Nuevo nombre
--alias- Nuevo alias
--description- Nueva descripción
--clear-description- Borrar la descripción sin depender de un argumento vacío del shell
-d, --display-name- Nuevo nombre visible
--extend-properties- JSON object de propiedades extendidas
--fields- Array JSON de schema fields
--fields-file- Leer array JSON de schema fields desde archivo
--update-mask- Campos a actualizar (repetible, por ejemplo name,description,fields)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
--descriptiony--clear-descriptionson mutuamente excluyentes.--fieldsy--fields-fileson mutuamente excluyentes.- Se requiere al menos un campo para actualizar.
Ejemplos
tier0 uns update --path Plant/Line1/Metric/Temperature --display-name 'Line 1 Temp'tier0 uns update --path Plant/Line1 --description 'Production line 1' --update-mask descriptiontier0 uns update --path Plant/Line1/Metric/Temperature --fields '[{"name":"temp","type":"float","unit":"C"}]' --update-mask fieldstier0 uns deleteEliminar nodo(s) UNS
Uso
tier0 uns deleteOpciones
-p, --path- Ruta(s) de nodo a eliminar (repetible, obligatorio)
--hard- Borrado definitivo (irreversible)
-y, --yes- Confirmar operación de alto riesgo (obligatorio)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- El borrado suave es el predeterminado y se puede restaurar.
--hardes irreversible.- Las operaciones de alto riesgo requieren
--yessalvo que se use--dry-run.
Ejemplos
tier0 uns delete --path factory/line1/sensor/temp --yestier0 uns delete --path factory/line1/sensor/temp --path factory/line1/sensor/humi --yestier0 uns delete --path factory/line1/sensor/temp --hard --yestier0 uns restoreRestaurar topic desde el historial
Uso
tier0 uns restoreOpciones
-p, --path- Ruta del topic a restaurar (obligatorio)
-y, --yes- Confirmar operación de alto riesgo (obligatorio)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Las operaciones de alto riesgo requieren
--yessalvo que se use--dry-run.
Ejemplo
tier0 uns restore --path Plant/Line1/Metric/Temperature --yesFlujo Node-RED
tier0 flow listListar flowsalias: ls
Uso
tier0 flow listOpciones
-k, --keyword- Filtrar por palabra clave de nombre
-t, --type- Filtrar por tipo (SourceFlow/EventFlow)
--source- Mostrar solo SourceFlow
--event- Mostrar solo EventFlow
Notas
--sourcey--eventson mutuamente excluyentes.--typeno puede combinarse con--sourceni--event.
Ejemplos
tier0 flow listtier0 flow list --source --jsontier0 flow getObtener detalles del flow
Uso
tier0 flow get --id <id>tier0 flow get <id>Opciones
--id- Flow ID
Notas
- Se requiere un Flow ID positivo mediante
--ido como argumento posicional.
Ejemplos
tier0 flow get --id 1 --jsontier0 flow get 1 --jsontier0 flow createCrear un nuevo flow
Uso
tier0 flow createOpciones
-n, --name- Nombre del Flow (obligatorio)
-t, --type- Tipo de Flow: SourceFlow | EventFlow (obligatorio)
--source- Definir tipo como SourceFlow
--event- Definir tipo como EventFlow
--desc- Descripción
--template- Cadena JSON de plantilla inicial
--template-file- Leer plantilla inicial desde archivo
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Use exactamente uno de
--type,--sourceo--eventpara seleccionar el tipo de Flow. --templatey--template-fileson mutuamente excluyentes.
Ejemplos
tier0 flow create --name "modbus-collector" --source --desc "Modbus TCP collector"tier0 flow create --name "alert-handler" --event --desc "Temperature alarm processor"tier0 flow updateActualizar metadatos del flow
Uso
tier0 flow update --id <id>tier0 flow update <id>Opciones
--id- Flow ID (obligatorio)
-n, --name- Nuevo nombre
--desc- Nueva descripción
--template- Nueva cadena JSON de plantilla
--template-file- Leer nueva plantilla desde archivo
--favorite- Marcar como favorito
--unfavorite- Quitar de favoritos
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Se requiere un Flow ID positivo mediante
--ido como argumento posicional. --templatey--template-fileson mutuamente excluyentes.--favoritey--unfavoriteson mutuamente excluyentes.- Se requiere al menos un campo para actualizar.
Ejemplos
tier0 flow update --id 1 --name "line1-collector"tier0 flow update --id 1 --favoritetier0 flow dataObtener JSON del canvas de Node-RED
Uso
tier0 flow data --id <id>tier0 flow data <id>Opciones
--id- Flow ID
-o, --out- Guardar salida en archivo
Notas
- Se requiere un Flow ID positivo mediante
--ido como argumento posicional.
Ejemplo
tier0 flow data --id 1 --out flows.jsontier0 flow deployDesplegar JSON del canvas de Node-RED
Uso
tier0 flow deploy --id <id>tier0 flow deploy <id>Opciones
--id- Flow ID (obligatorio)
--flows-json- Cadena JSON del canvas de Node-RED
-f, --flows-file- Leer JSON del canvas de Node-RED desde archivo (recomendado)
-y, --yes- Confirmar operación de alto riesgo (obligatorio)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Se requiere un Flow ID positivo mediante
--ido como argumento posicional. --flows-jsony--flows-fileson mutuamente excluyentes.- El despliegue reemplaza todos los nodos Node-RED existentes en el Flow.
- Las operaciones de alto riesgo requieren
--yessalvo que se use--dry-run.
Ejemplos
tier0 flow deploy --id 1 -f flows.json --dry-run --jsontier0 flow deploy --id 1 -f flows.json --yestier0 flow deleteEliminar flow(s)alias: del, rm
Uso
tier0 flow delete --id <id>tier0 flow delete <id>[,<id>...]Opciones
--id- Flow ID(s) a eliminar (repetible)
-y, --yes- Confirmar operación de alto riesgo (obligatorio)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- Los argumentos posicionales pueden contener Flow IDs separados por comas.
- La eliminación detiene los contenedores Node-RED y no se puede deshacer.
- Las operaciones de alto riesgo requieren
--yessalvo que se use--dry-run.
Ejemplo
tier0 flow delete --id 1 --yestier0 flow nodesListar tipos de nodos Node-RED disponibles
Uso
tier0 flow nodes [source|event]tier0 flow nodes --type <SourceFlow|EventFlow>tier0 flow nodes --sourcetier0 flow nodes --eventOpciones
-t, --type- Tipo de Flow (SourceFlow/EventFlow)
--source- Mostrar nodos SourceFlow
--event- Mostrar nodos EventFlow
Notas
- Acepta como máximo un tipo de Flow posicional.
--sourcey--eventson mutuamente excluyentes.- No combine entrada posicional/de tipo con
--sourceo--event.
Ejemplos
tier0 flow nodes source --jsontier0 flow nodes --source --jsontier0 flow nodes --event --jsonArchivos
tier0 assets uploadSubir un archivo a Tier0 object storage
Uso
tier0 assets upload <local-file>Opciones
--business- Escena de negocio
--use-by- Ámbito de uso: user|workspace|platform
--visibility- Visibilidad: public|private
--app-instance-id- ID de instancia de app AI
--session-id- ID de sesión AI
--multipart-size- Tamaño de parte multipart (por ejemplo 10MB, mínimo 5MB)
--concurrency- Concurrencia de carga multipart (número de partes paralelas)
--resume- Reanudar una carga multipart interrumpida
--abort- Cancelar una carga multipart interrumpida y limpiar su estado
Notas
- Se requiere exactamente un argumento de archivo local.
- Los archivos mayores de 100MB usan automáticamente carga multipart.
- El CLI no impone un tamaño máximo estricto; el servidor aplica límites de plan/cuota.
Ejemplos
tier0 assets upload ./report.csvtier0 assets upload ./report.csv --visibility public --business attachmenttier0 assets upload ./report.csv --use-by workspace --visibility privatetier0 assets upload ./large-backup.tar.gztier0 assets upload ./large-backup.tar.gz --resumetier0 assets upload ./large-backup.tar.gz --aborttier0 assets upload ./large-backup.tar.gz --multipart-size 20MB --concurrency 8tier0 assets downloadDescargar un archivo desde Tier0 object storage
Uso
tier0 assets downloadOpciones
--file-path- Ruta de archivo devuelta por la carga
-o, --output- Ruta del archivo de salida (predeterminado: stdout)
--content-disposition- Content-Disposition personalizado
Ejemplos
tier0 assets download --file-path workspace/.../report.csv -o ./report.csvtier0 assets download --file-path workspace/.../report.csvtier0 assets urlObtener la URL de acceso del archivo en Tier0 object storage
Uso
tier0 assets urlOpciones
--file-path- Ruta de archivo devuelta por la carga
--expired-sec- Segundos de expiración de la URL prefirmada
--content-disposition- Content-Disposition personalizado
Ejemplos
tier0 assets url --file-path workspace/.../report.csvtier0 assets url --file-path workspace/.../report.csv --expired-sec 300tier0 assets deleteEliminar un archivo de Tier0 object storage
Uso
tier0 assets deleteOpciones
--file-path- Ruta de archivo devuelta por la carga
-y, --yes- Confirmar operación de alto riesgo (obligatorio)
--dry-run- Previsualizar la solicitud sin ejecutarla
Notas
- La eliminación no se puede deshacer.
- Las operaciones de alto riesgo requieren
--yessalvo que se use--dry-run.
Ejemplos
tier0 assets delete --file-path workspace/.../report.csv --dry-run --jsontier0 assets delete --file-path workspace/.../report.csv --yesNo hay comandos CLI coincidentes.