openapi: 3.1.0 info: title: Itch.io Auth Downloads API description: The itch.io server-side API provides authenticated access to user profiles, uploaded games, download key validation, purchase lookup, and build version retrieval. Authentication is via API key or short-lived JWT tokens using the Authorization Bearer header. Responses are JSON with snake_case naming and RFC 3339 dates. version: 1.0.0 contact: name: Itch.io Support url: https://itch.io/support license: name: Proprietary url: https://itch.io/docs/legal/terms servers: - url: https://api.itch.io description: Itch.io API Server security: - bearerAuth: [] tags: - name: Downloads paths: /games/{gameId}/download-sessions: post: operationId: newDownloadSession summary: Create download session description: Creates a new download session for more accurate download analytics. Multiple file downloads (patch, signature, etc.) for a single game upgrade should share one session. tags: - Downloads parameters: - name: gameId in: path required: true schema: type: integer format: int64 - $ref: '#/components/parameters/downloadKeyId' - $ref: '#/components/parameters/password' - $ref: '#/components/parameters/secret' responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/NewDownloadSessionResponse' '401': $ref: '#/components/responses/Unauthorized' components: responses: Unauthorized: description: Authentication is required or credentials are invalid content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: NewDownloadSessionResponse: type: object properties: uuid: type: string description: UUID for the new download session ErrorResponse: type: object properties: errors: type: array items: type: string parameters: secret: name: secret in: query description: Secret for private pages schema: type: string password: name: password in: query description: Password for restricted pages schema: type: string downloadKeyId: name: download_key_id in: query description: Download key ID for accessing paid content schema: type: integer format: int64 securitySchemes: bearerAuth: type: http scheme: bearer description: API key or JWT token issued by itch.io