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 |
JSON Schema
{
"$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.
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.