openapi: 3.0.3 info: title: Modgatron description: |- API to control the modded animatronic Megatron helmet from Killerbody over the LAN externalDocs: description: TODO url: https://nplusc.de servers: - url: https://petstore3.swagger.io/api/v3 paths: /raw: post: summary: raw command posting description: Debug command, don't bother to poke at it operationId: flyswatter requestBody: description: raw cmd content: application/json: schema: $ref: '#/components/schemas/RawCmd' application/xml: schema: $ref: '#/components/schemas/RawCmd' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/RawCmd' required: true responses: '200': description: Successful operation '400': description: from \_\_future\_\_ import braces /movement: post: summary: Trigger the animatronic parts description: Triggers the animatronics operationId: wiggle requestBody: description: raw cmd content: application/json: schema: $ref: '#/components/schemas/Movement' application/xml: schema: $ref: '#/components/schemas/Movement' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/Movement' required: true responses: '200': description: Successful operation '400': description: Bad data, operation not allowed ############ /onboardAudio: post: summary: trigger default audio fragment description: "plays one of the default audio fragments, WARNING: EXTREMELY LOUD" operationId: onboard requestBody: description: raw cmd content: application/json: schema: $ref: '#/components/schemas/onboardAudio' application/xml: schema: $ref: '#/components/schemas/onboardAudio' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/onboardAudio' required: true responses: '200': description: Successful operation '400': description: Bad data, operation not allowed ############ /customAudio: post: summary: Triggers custom preloaded audio fragment description: Plays one of the custom preloaded audio fragments operationId: custom requestBody: description: raw cmd content: application/json: schema: $ref: '#/components/schemas/customAudio' application/xml: schema: $ref: '#/components/schemas/customAudio' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/customAudio' required: true responses: '200': description: Successful operation '400': description: Bad data, operation not allowed ############ /setVolume: post: summary: set volume level description: set volume level from 0 (off) to 8 operationId: volume requestBody: description: raw cmd content: application/json: schema: $ref: '#/components/schemas/VolumeLevel' application/xml: schema: $ref: '#/components/schemas/VolumeLevel' application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/VolumeLevel' required: true responses: '200': description: Successful operation '400': description: Bad data, operation not allowed /dynamicAudio: post: summary: sends a audiofile to be played description: sends a audio file which is converted and streamed over operationId: stream requestBody: description: file to wiggle content: application/octet-stream: schema: type: string format: binary required: true responses: '200': description: Successful operation '400': description: Bad data, operation not allowed ############ /wiggleMouth: post: summary: Toggles the mouth wiggling description: Toggles the mouth wiggling operationId: bite responses: '200': description: Successful operation components: schemas: VolumeLevel: type: integer format: int32 example: 8 RawCmd: type: object properties: sequence: type: string psk: type: string description: authentication for this command, forget it...... customAudio: type: object properties: sample: type: string description: modded audio snippets enum: - rogerroger - r2d2-beepery - jfo-_sfx_machinepowerup - jfo-authenticated - jfo-charged-and-ready - jfo-core-programming-modified - jfo-recalibrating - jfo-scanning - jfo-system_rebooted - jfo-system-malfunction - r2d2-demotivated - gb-startup-sound - worms_bittekommengrosservogel - glados_ohdubistes - glados-nicht-reinfallen - glados-planb - glados-seid-ihr-defekt - hallelujah - p2turret-fail - worms_oede - optimusprime wiggle_mouth: type: boolean xml: name: custom onboardAudio: type: string description: original audio samples, WARNING EXTREMELY LOUD enum: - decepticonsretreat - allhailmegatron - bzzzzzzzrt - decepticonsattack - snd_eyelight_on - snd_eyelight_off - snd_bootup xml: name: onboard Movement: type: string description: trigger moveable part enum: - eyeglow - eyedark - eyeflickering - earwiggle - battlemodeon - battlemodeoff xml: name: movement ApiResponse: type: object properties: code: type: integer format: int32 type: type: string message: type: string xml: name: '##default'