Itch.io · Schema

Upload

A downloadable file associated with a game. May be wharf-enabled (versioned channel-based distribution via butler).

GamesIndie GamesGame DistributionGame MarketplaceDevelopers

Properties

Name Type Description
id integer Site-wide unique identifier generated by itch.io
storage string Storage backend: hosted (classic web upload), build (wharf/butler), or external
host string Hostname if storage is external
filename string Original file name (e.g. Overland_x64.zip)
displayName string Human-friendly name set by the developer (e.g. Overland for Windows 64-bit)
size integer Size in bytes; for wharf uploads this is the archive size
channelName string Name of the wharf channel for this upload; only set for wharf-enabled uploads
build object Latest build for this upload; only set for wharf-enabled uploads
buildId integer ID of the latest build; only set for wharf-enabled uploads
type string Upload type describing the content
preorder boolean Whether this upload is a pre-order placeholder
demo boolean Whether this upload is a free demo
platforms object Platforms this upload is compatible with
createdAt string RFC 3339 timestamp when this upload was created
updatedAt string RFC 3339 timestamp when this upload was last updated
View JSON Schema on GitHub

JSON Schema

upload.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.itch.io/schemas/upload.json",
  "title": "Upload",
  "description": "A downloadable file associated with a game. May be wharf-enabled (versioned channel-based distribution via butler).",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Site-wide unique identifier generated by itch.io"
    },
    "storage": {
      "type": "string",
      "enum": ["hosted", "build", "external"],
      "description": "Storage backend: hosted (classic web upload), build (wharf/butler), or external"
    },
    "host": {
      "type": "string",
      "description": "Hostname if storage is external"
    },
    "filename": {
      "type": "string",
      "description": "Original file name (e.g. Overland_x64.zip)"
    },
    "displayName": {
      "type": "string",
      "description": "Human-friendly name set by the developer (e.g. Overland for Windows 64-bit)"
    },
    "size": {
      "type": "integer",
      "description": "Size in bytes; for wharf uploads this is the archive size"
    },
    "channelName": {
      "type": "string",
      "description": "Name of the wharf channel for this upload; only set for wharf-enabled uploads"
    },
    "build": {
      "$ref": "build.json",
      "description": "Latest build for this upload; only set for wharf-enabled uploads"
    },
    "buildId": {
      "type": "integer",
      "description": "ID of the latest build; only set for wharf-enabled uploads"
    },
    "type": {
      "type": "string",
      "enum": [
        "default", "flash", "unity", "java", "html",
        "soundtrack", "book", "video", "documentation",
        "mod", "audio_assets", "graphical_assets", "sourcecode", "other"
      ],
      "description": "Upload type describing the content"
    },
    "preorder": {
      "type": "boolean",
      "description": "Whether this upload is a pre-order placeholder"
    },
    "demo": {
      "type": "boolean",
      "description": "Whether this upload is a free demo"
    },
    "platforms": {
      "type": "object",
      "description": "Platforms this upload is compatible with",
      "properties": {
        "windows": { "type": "string", "enum": ["all", "386", "amd64"] },
        "linux":   { "type": "string", "enum": ["all", "386", "amd64"] },
        "osx":     { "type": "string", "enum": ["all", "386", "amd64"] }
      }
    },
    "createdAt": {
      "type": "string",
      "format": "date-time",
      "description": "RFC 3339 timestamp when this upload was created"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time",
      "description": "RFC 3339 timestamp when this upload was last updated"
    }
  },
  "required": ["id", "filename"]
}

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/upload"
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.