{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/vultr/main/json-schema/vultr-create-instance-request-schema.json",
  "title": "create_instance_request",
  "x-generated": "2026-10-13",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/vultr-openapi.yml#/components/schemas/create_instance_request",
  "properties": {
    "region": {
      "description": "The [Region id](#operation/list-regions) where the Instance is located.",
      "type": "string"
    },
    "plan": {
      "description": "The [Plan id](#operation/list-plans) to use when deploying this instance.",
      "type": "string"
    },
    "os_id": {
      "description": "The [Operating System id](#operation/list-os) to use when deploying this instance.",
      "type": "integer"
    },
    "ipxe_chain_url": {
      "description": "The URL location of the iPXE chainloader.",
      "type": "string"
    },
    "iso_id": {
      "description": "The [ISO id](#operation/list-isos) to use when deploying this instance.",
      "type": "string"
    },
    "script_id": {
      "description": "The [Startup Script id](#operation/list-startup-scripts) to use when deploying this instance.",
      "type": "string"
    },
    "snapshot_id": {
      "description": "The [Snapshot id](#operation/list-snapshots) to use when deploying the instance.",
      "type": "string"
    },
    "enable_ipv6": {
      "description": "Enable IPv6.\n\n* true",
      "type": "boolean"
    },
    "disable_public_ipv4": {
      "description": "Don't set up a public IPv4 address when IPv6 is enabled. Will not do anything unless `enable_ipv6` is also `true`.\n\n* true",
      "type": "boolean"
    },
    "attach_private_network": {
      "deprecated": true,
      "description": "Use `attach_vpc` instead. An array of [Private Network ids](#operation/list-networks) to attach to this Instance. This parameter takes precedence over `enable_private_network`. Please choose one parameter.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "attach_vpc": {
      "description": "An array of [VPC IDs](#operation/list-vpcs) to attach to this Instance. This parameter takes precedence over `enable_vpc`. Please choose one parameter.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "attach_vpc2": {
      "description": "An array of [VPC IDs](#operation/list-vpc2) to attach to this Instance. This parameter takes precedence over `enable_vpc2`. Please choose one parameter.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "label": {
      "description": "A user-supplied label for this instance.",
      "type": "string"
    },
    "sshkey_id": {
      "description": "The [SSH Key id](#operation/list-ssh-keys) to install on this instance.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "backups": {
      "description": "Enable automatic backups for the instance.\n\n* enabled\n* disabled",
      "type": "string"
    },
    "app_id": {
      "description": "The [Application id](#operation/list-applications) to use when deploying this instance.",
      "type": "integer"
    },
    "image_id": {
      "description": "The [Application image_id](#operation/list-applications) to use when deploying this instance.",
      "type": "string"
    },
    "user_data": {
      "description": "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/) to attach to this instance.",
      "type": "string"
    },
    "ddos_protection": {
      "description": "Enable DDoS protection (there is an additional charge for this).\n\n* true\n* false",
      "type": "boolean"
    },
    "activation_email": {
      "description": "Notify by email after deployment.\n\n* true\n* false (default)",
      "type": "boolean"
    },
    "hostname": {
      "description": "The hostname to use when deploying this instance.",
      "type": "string"
    },
    "tag": {
      "deprecated": true,
      "description": "Use `tags` instead. The user-supplied tag.",
      "type": "string"
    },
    "firewall_group_id": {
      "description": "The [Firewall Group id](#operation/list-firewall-groups) to attach to this Instance.",
      "type": "string"
    },
    "reserved_ipv4": {
      "description": "ID of the floating IP to use as the main IP of this server.",
      "type": "string"
    },
    "enable_private_network": {
      "deprecated": true,
      "description": "Use `enable_vpc` instead.\n\nIf `true`, private networking support will be added to the new server.\n\nThis parameter attaches a single network. When no network exists in the region, it will be automatically created.\n\nIf there are multiple private networks in the instance's region, use `attach_private_network` instead to specify a network.",
      "type": "boolean"
    },
    "enable_vpc": {
      "description": "If `true`, VPC support will be added to the new server.\n\nThis parameter attaches a single VPC. When no VPC exists in the region, it will be automatically created.\n\nIf there are multiple VPCs in the instance's region, use `attach_vpc` instead to specify a network.",
      "type": "boolean"
    },
    "enable_vpc2": {
      "description": "If `true`, VPC 2.0 support will be added to the new server.\n\nThis parameter attaches a single VPC 2.0 network. When no VPC 2.0 network exists in the region, it will be automatically created.\n\nIf there are multiple VPC 2.0 networks in the instance's region, use `attach_vpc2` instead to specify a network.",
      "type": "boolean"
    },
    "tags": {
      "description": "Tags to apply to the instance",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "user_scheme": {
      "description": "Linux-only: The user scheme used for logging into this instance. By default, the \"root\" user is configured. Alternatively, a limited user with sudo permissions can be selected.\n\n* root\n* limited",
      "type": "string"
    }
  },
  "required": [
    "plan",
    "region"
  ],
  "type": "object"
}