Spin · JSON Structure

Spin Manifest Structure

JSON Structure document for the Spin WebAssembly application manifest (spin.toml), describing the data model for configuring Spin applications.

Type: object Properties: 0
Cloud NativeMicroservicesServerlessWebAssembly

Spin Manifest Structure is a JSON Structure definition published by Spin.

Meta-schema:

JSON Structure

spin-manifest-structure.json Raw ↑
{
  "title": "Spin Application Manifest Structure",
  "description": "JSON Structure document for the Spin WebAssembly application manifest (spin.toml), describing the data model for configuring Spin applications.",
  "type": "object",
  "fields": [
    { "name": "spin_manifest_version", "type": "integer", "required": true, "description": "Manifest version (currently 2)" },
    { "name": "application", "type": "object", "required": true, "description": "Application-level configuration" },
    { "name": "variables", "type": "object", "required": false, "description": "Application variables map" }
  ],
  "relatedTypes": [
    {
      "name": "Application",
      "fields": [
        { "name": "name", "type": "string", "required": true, "description": "Application name" },
        { "name": "version", "type": "string", "required": false, "description": "Application version (semver)" },
        { "name": "description", "type": "string", "required": false, "description": "Application description" },
        { "name": "authors", "type": "array[string]", "required": false, "description": "Application authors" }
      ]
    },
    {
      "name": "Component",
      "fields": [
        { "name": "source", "type": "string", "required": false, "description": "Path to Wasm module or OCI reference" },
        { "name": "description", "type": "string", "required": false, "description": "Component description" },
        { "name": "allowed_outbound_hosts", "type": "array[string]", "required": false, "description": "Allowed outbound HTTP hosts" },
        { "name": "key_value_stores", "type": "array[string]", "required": false, "description": "Key-value stores accessible to component" },
        { "name": "sqlite_databases", "type": "array[string]", "required": false, "description": "SQLite databases accessible to component" },
        { "name": "ai_models", "type": "array[string]", "required": false, "description": "AI models accessible to component" },
        { "name": "variables", "type": "object", "required": false, "description": "Variable bindings for this component" }
      ]
    },
    {
      "name": "Variable",
      "fields": [
        { "name": "required", "type": "boolean", "required": false, "description": "Whether the variable is required" },
        { "name": "default", "type": "string", "required": false, "description": "Default value" },
        { "name": "secret", "type": "boolean", "required": false, "description": "Whether the variable is a secret" }
      ]
    }
  ]
}