Saltar al contenido principal
POST
Crear aplicación
La aplicación tiene dos orígenes mutuamente excluyentes: envía exactamente uno de file o snapshot_id. Si no envías ninguno → SOURCE_REQUIRED; si envías los dos → SOURCE_CONFLICT.
file
El archivo ZIP con el código de la aplicación (tamaño máximo: 100 MB). No se envía cuando el origen es snapshot_id.
string
Origen alternativo a file: el ID de un snapshot de aplicación desde el que crear la aplicación. La plataforma descarga el snapshot (que ya incluye el vertracloud.config) y construye la aplicación a partir de él. Se envía como campo de texto del cuerpo multipart; tiene el mismo límite de tamaño que file (100 MB).
string
La cantidad de RAM que se asigna a la aplicación, en MB. Mínimo 100 MB. Es obligatoria con file; con snapshot_id es opcional y, si no se envía, se usa el vertracloud.config del snapshot. Cuando se pide un subdomain, el valor sube automáticamente a al menos 512 MB: las aplicaciones web tienen su propio mínimo de memoria.
string
El comando de inicio de la aplicación.
string
Un comando de build opcional, de hasta 512 caracteres (por ejemplo, npm run build). Se ejecuta después de instalar las dependencias y antes de que la aplicación arranque, en un entorno de build aislado: 2× la RAM de la aplicación (mínimo 1.024 MB, máximo 4.096 MB) con un tiempo límite de 10 minutos. Las devDependencies se instalan cuando hay un comando de build. Disponible en todos los planes. Consulta Actualizar configuración de la aplicación para cambiarlo más adelante.
string
El archivo principal de la aplicación. Es obligatorio con file; con snapshot_id es opcional y, si no se envía, se usa el vertracloud.config del snapshot.
string
Opcional. Fuerza el lenguaje de ejecución en lugar de detectarlo a partir del proyecto: uno de javascript, typescript, bun, python, static, php, go, ruby, java, rust, deno, dotnet, elixir. Precedencia: este campo, después LANGUAGE= en vertracloud.config, y por último la detección. Cualquier otro valor se rechaza con INVALID_LANGUAGE.
string
Obligatoria con file; con snapshot_id se usa la versión del vertracloud.config del snapshot. La versión del runtime de la aplicación: recommended, latest o una versión concreta soportada por el runtime detectado (por ejemplo, 22).
string
requerido
El nombre visible de la aplicación. Máximo 50 caracteres.
string
Una descripción de la aplicación.
string
El ID del workspace que se asocia a la aplicación, si aplica.
string
El subdominio de la aplicación (por ejemplo, miapp). Los espacios se reemplazan por - y el valor se pasa a minúsculas antes de validarlo; el formato aceptado es ^[a-z0-9-]+$. Envía random para que la plataforma elija uno por ti. Omite el campo por completo para crear una aplicación privada, sin publicación web; más adelante puedes activarla con Publicar aplicación en la web.Requiere que el plan admita la publicación web.
string
Una cadena JSON con un array de variables de entorno, cada una con key, value y un note opcional. Longitud máxima de la clave 255, del valor 3072 y de la nota 50.

Respuesta

La creación es asíncrona: la respuesta es 202 Accepted con la aplicación en status: "building". Después, consulta los Detalles de la aplicación o los logs en tiempo real hasta que status sea up o down. Mientras esté en building, iniciar, detener, reiniciar, los despliegues de archivos, el rollback, los snapshots, las restauraciones y los cambios de configuración responden 409 APP_BUILDING; eliminar la aplicación sí está permitido. Si el build se interrumpe, la aplicación queda en down y BUILD_INTERRUPTED aparece en sus logs; si la plataforma cancela la creación (por ejemplo, porque la cola está llena), la aplicación deja de existir y los Detalles de la aplicación responden 404.
object
Los detalles de la aplicación creada.

Respuestas de error

string
El código de error que indica el motivo del fallo. Valores posibles:
  • VALIDATION_ERROR: El cuerpo multipart no superó la validación (400). La respuesta incluye también message y path, que apuntan al campo con el problema.
  • USER_NOT_FOUND: No se pudo resolver el usuario autenticado (401).
  • MAX_APPS_REACHED: Se alcanzó el límite de aplicaciones del plan (403).
  • INVALID_ZIP: El archivo subido no es un ZIP legible (truncado o dañado) (400).
  • MAIN_FILE_NOT_FOUND: El archivo indicado en main no existe dentro del ZIP (400).
  • ZIP_TOO_SMALL: El archivo subido pesa menos de 100 bytes (400).
  • FILE_TOO_LARGE: El archivo subido supera el límite de 100 MB (400).
  • SOURCE_REQUIRED: No se envió ni file ni snapshot_id (400).
  • SOURCE_CONFLICT: Se enviaron file y snapshot_id a la vez (400).
  • SNAPSHOT_NOT_FOUND: El snapshot_id no existe o no pertenece a quien hace la llamada (404).
  • SNAPSHOT_TYPE_MISMATCH: El snapshot es de una base de datos, no de una aplicación (400).
  • SNAPSHOT_TOO_LARGE: El snapshot supera el mismo límite de creación de 100 MB que file (400).
  • MEMORY_REQUIRED: No se envió memory y el vertracloud.config del snapshot no tiene un MEMORY utilizable (400).
  • PLAN_REQUIRED: El propietario no tiene un plan activo, así que no se puede crear una aplicación nueva, o se pidió un subdomain sin plan (403).
  • PLAN_DOES_NOT_SUPPORT_WEB_PUBLISH: Se pidió un subdomain, pero el plan del propietario no incluye la publicación web (403).
  • INVALID_MEMORY_FORMAT: memory no es un número (400).
  • MEMORY_MUST_BE_INTEGER: memory no es un entero (400).
  • MEMORY_BELOW_MINIMUM: memory está por debajo del mínimo para el tipo de aplicación (400).
  • MEMORY_LIMIT_EXCEEDED: La memoria pedida supera la que aún tiene disponible el plan (400).
  • SUBDOMAIN_TAKEN: Otra aplicación ya usa ese subdominio (409).
  • SUBDOMAIN_FORBIDDEN: El subdominio pedido está en la lista de reservados de la plataforma (400).
  • USER_LIMITS_NOT_FOUND: No se pudo cargar el registro de límites del propietario (404).
  • INVALID_LANGUAGE: El lenguaje no es compatible o no se pudo determinar (400).
  • DEPLOY_RATE_LIMITED: Se alcanzó el presupuesto de despliegues por hora del plan de la cuenta (429). Consulta la introducción a la referencia de la API.
  • INTERNAL_SERVER_ERROR: Error inesperado, incluida una aplicación que se creó pero no se pudo leer después (500).
string
Una descripción detallada con información adicional sobre el error. Presente en VALIDATION_ERROR.
Una aplicación creada sin subdomain sigue siendo privada. Puedes activar la publicación web más adelante con Publicar aplicación en la web, y desactivarla con la misma ruta.
Última modificación el 28 de octubre de 2026