basePath: /api/v1 definitions: main.respError: properties: error: example: Descriptive Error message type: string type: object main.respStatus: properties: status: example: OK type: string type: object steam.Game: properties: LibraryPath: example: C:\Program Files (x86)\Steam\steamapps type: string Name: example: Doom type: string Size: example: 12345 type: integer type: object host: localhost:8899 info: contact: email: steam-export@riedstra.dev name: Mitchell Riedstra url: https://riedstra.dev/steam-export description: The steam exporter is designed to make it easy to export steam games across the network. license: name: ISC url: https://opensource.org/licenses/ISC title: Steam Exporter API version: "1.0" paths: /lib/game/{game}: delete: consumes: - application/json description: Handle deletion of a game parameters: - description: Name of the videogame in: path name: game required: true type: string produces: - application/json responses: "200": description: Game was deleted schema: $ref: '#/definitions/main.respStatus' "400": description: Bad request, most likely no game supplied schema: $ref: '#/definitions/main.respError' "404": description: Game not found schema: $ref: '#/definitions/main.respError' "409": description: Another operation is currently running schema: $ref: '#/definitions/main.respError' "500": description: Internal Server Error schema: $ref: '#/definitions/main.respError' summary: Delete a videogame tags: - all - game get: consumes: - application/json description: |- Streams a tarball of the game including the ACF file down to the client machine parameters: - description: Name of the videogame in: path name: game required: true type: string produces: - application/tar responses: "200": description: "" summary: Handles downloading of a game tags: - all - game /lib/games: get: consumes: - application/json description: Returns a list of all currently installed and available games produces: - application/json responses: "200": description: OK schema: items: $ref: '#/definitions/steam.Game' type: array summary: Get available games tags: - all - game /lib/install: post: consumes: - application/json description: |- Attemps to install a game from the provided URI It tries to be smart about it, http, https, or a location on disk are supported. parameters: - description: URI to fetch from in: query name: url required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/main.respStatus' "500": description: Internal Server Error schema: $ref: '#/definitions/main.respError' summary: Installs a game tags: - all - game /lib/path: post: consumes: - application/json description: |- If no other operatoins are currently running this will change the path in which the current library is pointed. Implies a refresh. parameters: - description: Path on disk to search for a steam library in: query name: path required: true type: string produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/main.respStatus' "500": description: Internal Server Error schema: $ref: '#/definitions/main.respError' summary: Set library path to new location on disk tags: - all - library /lib/refresh: post: consumes: - application/json description: |- if no other actions are running on the library it will trigger a refre produces: - application/json responses: "200": description: OK schema: $ref: '#/definitions/main.respStatus' "500": description: Internal Server Error schema: $ref: '#/definitions/main.respError' summary: Refresh the current steam library tags: - all - library /share-link: get: consumes: - application/json description: |- The URL returned is a best effort guess at what your internal network IP is, on Windows this involves automatically using the IP from the interface associated with your default route. On other platforms this involves simply returning the first sane looking IP address with no regard for anything else. produces: - application/json responses: "200": description: URL to currently running server schema: type: string summary: Return share link tags: - all - information /version: get: consumes: - application/json description: Returns the version of the server produces: - application/json responses: "200": description: Version string schema: type: string summary: Return the version string tags: - all securityDefinitions: ApiKeyAuth: in: header name: Authorization type: apiKey BasicAuth: type: basic swagger: "2.0"