Vagrant · Schema

Vagrant Box

A Vagrant box is a package format for Vagrant environments that includes the base image and metadata for one or more virtualization providers. Boxes are the fundamental unit of distribution in the Vagrant ecosystem.

DevOpsVirtualizationDevelopment EnvironmentsBoxesCloudHashiCorpInfrastructure

Properties

Name Type Description
tag string The full tag of the box in username/name format.
username string The username or organization that owns the box.
name string The name of the box, unique within the owner namespace.
private boolean Whether the box is private and requires authentication to access.
downloads integer The total number of downloads for this box across all versions.
short_description string A brief description of the box for display in search results and listings.
description string The full description of the box in Markdown format.
created_at string The timestamp when the box was created.
updated_at string The timestamp when the box was last updated.
versions array List of versions available for this box.
current_version object The current released version of this box.
View JSON Schema on GitHub

JSON Schema

vagrant-box-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api-evangelist.com/schemas/vagrant/box.json",
  "title": "Vagrant Box",
  "description": "A Vagrant box is a package format for Vagrant environments that includes the base image and metadata for one or more virtualization providers. Boxes are the fundamental unit of distribution in the Vagrant ecosystem.",
  "type": "object",
  "required": ["name", "username"],
  "properties": {
    "tag": {
      "type": "string",
      "description": "The full tag of the box in username/name format.",
      "pattern": "^[a-zA-Z0-9_-]+/[a-zA-Z0-9_-]+$"
    },
    "username": {
      "type": "string",
      "description": "The username or organization that owns the box.",
      "minLength": 1
    },
    "name": {
      "type": "string",
      "description": "The name of the box, unique within the owner namespace.",
      "minLength": 1
    },
    "private": {
      "type": "boolean",
      "description": "Whether the box is private and requires authentication to access.",
      "default": false
    },
    "downloads": {
      "type": "integer",
      "description": "The total number of downloads for this box across all versions.",
      "minimum": 0
    },
    "short_description": {
      "type": "string",
      "description": "A brief description of the box for display in search results and listings.",
      "maxLength": 100
    },
    "description": {
      "type": "string",
      "description": "The full description of the box in Markdown format."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the box was created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "The timestamp when the box was last updated."
    },
    "versions": {
      "type": "array",
      "description": "List of versions available for this box.",
      "items": {
        "$ref": "#/$defs/Version"
      }
    },
    "current_version": {
      "description": "The current released version of this box.",
      "$ref": "#/$defs/Version"
    }
  },
  "$defs": {
    "Version": {
      "type": "object",
      "description": "A version of a Vagrant box following semantic versioning. Versions must be released before they are available for download by users.",
      "required": ["version"],
      "properties": {
        "version": {
          "type": "string",
          "description": "The version number following semantic versioning.",
          "pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+.*$"
        },
        "status": {
          "type": "string",
          "description": "The release status of the version.",
          "enum": ["unreleased", "active", "revoked"]
        },
        "description": {
          "type": "string",
          "description": "The description of this version in Markdown format."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the version was created."
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the version was last updated."
        },
        "downloads": {
          "type": "integer",
          "description": "The total number of downloads for this version.",
          "minimum": 0
        },
        "providers": {
          "type": "array",
          "description": "List of providers available for this version.",
          "items": {
            "$ref": "#/$defs/Provider"
          }
        }
      }
    },
    "Provider": {
      "type": "object",
      "description": "A provider represents a specific virtualization platform for which a box file is available, such as VirtualBox, VMware, or Docker.",
      "required": ["name"],
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the provider such as virtualbox, vmware_desktop, docker, or hyperv.",
          "enum": [
            "virtualbox",
            "vmware_desktop",
            "vmware_workstation",
            "vmware_fusion",
            "docker",
            "hyperv",
            "libvirt",
            "parallels"
          ]
        },
        "hosted": {
          "type": "boolean",
          "description": "Whether the box file is hosted on Vagrant Cloud."
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the box file if externally hosted."
        },
        "download_url": {
          "type": "string",
          "format": "uri",
          "description": "The URL to download the box file."
        },
        "checksum_type": {
          "type": "string",
          "description": "The type of checksum used for the box file.",
          "enum": ["md5", "sha1", "sha256", "sha384", "sha512"]
        },
        "checksum": {
          "type": "string",
          "description": "The checksum value for verifying the integrity of the box file."
        },
        "architecture": {
          "type": "string",
          "description": "The CPU architecture the box supports.",
          "enum": ["amd64", "arm64", "i386", "unknown"]
        },
        "default_architecture": {
          "type": "boolean",
          "description": "Whether this is the default architecture for the provider."
        },
        "created_at": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the provider was created."
        },
        "updated_at": {
          "type": "string",
          "format": "date-time",
          "description": "The timestamp when the provider was last updated."
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/vagrant-box"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.