swagger: '2.0' info: description: Steam exporter API title: Steam Exporter version: '1.0' contact: name: Mitchell url: 'https://riedstra.dev' email: mitch@riedstra.dev host: 'localhost:8899' schemes: - http produces: - application/json consumes: - application/json paths: /quit: put: summary: '' operationId: put-quit responses: '200': description: OK description: Quits the application /lib/games: get: summary: Your GET endpoint tags: [] responses: '200': description: OK schema: type: array items: $ref: '#/definitions/Game' operationId: get-library description: Returns the games in the Steam Library parameters: [] /lib: get: summary: Your GET endpoint tags: [] responses: '200': description: OK schema: $ref: '#/definitions/Status' operationId: get-lib description: Returns basic status about the library /lib/refresh: post: summary: '' operationId: post-lib-refresh responses: '200': description: OK description: Calls for a refresh of the library /lib/path: parameters: [] post: summary: '' operationId: post-lib-path-path responses: '200': description: OK '409': description: Conflict. Returns all running jobs. schema: type: array items: $ref: '#/definitions/Job' description: Changes the library to the specified directory if possible. parameters: - type: string in: query name: path description: Path to set the library to /lib/install: post: summary: '' operationId: post-lib-extract responses: '200': description: OK '409': description: Conflict schema: type: object properties: {} description: Extract a game from a specified URL parameters: - type: string in: query name: url description: URL to extract the game from parameters: [] '/lib/game/{game}': parameters: - type: string name: game in: path required: true description: The game to operate on get: summary: Your GET endpoint tags: [] responses: '200': description: OK schema: type: object properties: {} '404': description: Not Found schema: type: object properties: {} operationId: get-lib-game-package description: 'Packages up the game, streaming the tarball to the client.' parameters: - type: integer in: header name: Estimated-size description: Estimated size of the game in bytes delete: summary: '' operationId: delete-lib-game-game responses: '200': description: OK schema: type: object properties: {} '409': description: Conflict description: Deletes the game in question /version: get: responses: '200': description: OK schema: type: object properties: {} summary: Your GET endpoint tags: [] operationId: get-version description: Returns the version information about the application parameters: - in: body name: body schema: type: - string - object /share-link: get: summary: Your GET endpoint tags: [] responses: '200': description: OK schema: type: object properties: {} operationId: get-share-link description: Returns the share link parameters: - in: body name: body schema: type: string definitions: Status: title: Status type: object description: Returned from the Status Endpoint properties: Running: type: array items: $ref: '#/definitions/Job' Previous: type: array items: $ref: '#/definitions/Job' x-examples: example-1: Running: - Action: string Target: Name: string LibraryPath: string Size: 0 Running: true Start: '2019-08-24T14:15:22Z' Errors: - {} Size: 0 Transferred: 0 ETA: 0 Previous: - Action: string Target: Name: string LibraryPath: string Size: 0 Running: true Start: '2019-08-24T14:15:22Z' Errors: - {} Size: 0 Transferred: 0 ETA: 0 Game: title: Game type: object x-examples: example-1: Name: Counter-Strike Source LibraryPath: 'C:\Program Files (x86)\Steam\steamapps\' Size: 123456 properties: Name: type: string LibraryPath: type: string Size: type: integer description: Size in bytes Job: description: Information about a specific job type: object x-examples: example-1: action: extractFile Target: Name: Counter-Strike Source LibraryPath: /home/mitch/Downloads/Counter Strike Source Size: 0 Running: false Start: '2021-08-09T19:35:56.360665389-04:00' Errors: [] Size: 4586057216 Transferred: 4582277120 ETA: 0 properties: Action: type: string minLength: 1 Target: $ref: '#/definitions/Game' Running: type: boolean Start: type: string minLength: 1 format: date-time Errors: type: array uniqueItems: true minItems: 0 items: type: object Size: type: integer x-nullable: true Transferred: type: integer x-nullable: true ETA: type: integer x-nullable: true required: - Action - Target - Running - Start - Errors basePath: /api/v1 securityDefinitions: {}