openapi: 3.0.0 info: title: Neko Rooms version: 1.0.0 servers: # Added by API Auto Mocking Plugin - description: SwaggerHub API Auto Mocking url: https://virtserver.swaggerhub.com/m1k1o/neko-rooms/1.0.0 tags: - name: config description: config endpoints - name: rooms description: room endpoints paths: /api/config/rooms: get: tags: - config summary: Get rooms config operationId: roomsConfig responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomsConfig' '500': description: Internal server error /api/rooms: get: tags: - rooms summary: List all rooms operationId: roomsList responses: '200': description: OK content: application/json: schema: type: array items: $ref: '#/components/schemas/RoomEntry' '500': description: Internal server error post: tags: - rooms summary: Create new room operationId: roomCreate requestBody: content: application/json: schema: $ref: '#/components/schemas/RoomSettings' responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomEntry' '400': description: Bad request '500': description: Internal server error /api/rooms/{roomId}: get: tags: - rooms summary: Get room entry operationId: roomGet parameters: - in: path name: roomId required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomEntry' '400': description: Bad request '500': description: Internal server error delete: tags: - rooms summary: Remove room operationId: roomRemove parameters: - in: path name: roomId required: true schema: type: string responses: '204': description: OK '500': description: Internal server error /api/rooms/{roomId}/settings: get: tags: - rooms summary: Get room settings operationId: roomSettings parameters: - in: path name: roomId required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomSettings' '400': description: Bad request '500': description: Internal server error /api/rooms/{roomId}/stats: get: tags: - rooms summary: Get room statistics operationId: roomStats parameters: - in: path name: roomId required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomStats' '500': description: Internal server error /api/rooms/{roomId}/stop: post: tags: - rooms summary: Stop room operationId: roomStop parameters: - in: path name: roomId required: true schema: type: string responses: '204': description: OK '500': description: Internal server error /api/rooms/{roomId}/start: post: tags: - rooms summary: Start room operationId: roomStart parameters: - in: path name: roomId required: true schema: type: string responses: '204': description: OK '500': description: Internal server error /api/rooms/{roomId}/restart: post: tags: - rooms summary: Restart room operationId: roomRestart parameters: - in: path name: roomId required: true schema: type: string responses: '204': description: OK '500': description: Internal server error /api/rooms/{roomId}/recreate: post: tags: - rooms summary: Recreate room operationId: roomRecreate parameters: - in: path name: roomId required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/RoomEntry' '500': description: Internal server error components: schemas: RoomsConfig: type: object properties: connections: type: number example: 100 neko_images: type: array items: type: string example: m1k1o/neko:latest RoomEntry: type: object properties: id: type: string example: bc04dace10 url: type: string example: http://neko-rooms.server.lan/foobar/ name: type: string example: foobar neko_image: type: string example: m1k1o/neko:latest max_connections: type: number example: 10 running: type: boolean example: true status: type: string example: Up 2 seconds created: type: string format: datetime example: "2021-03-07T21:56:34Z" RoomMount: type: object properties: type: type: string enum: [ private, template, public ] example: private host_path: type: string example: /profile container_path: type: string example: /home/neko/.config/chromium RoomSettings: type: object properties: name: type: string example: foobar neko_image: type: string example: m1k1o/neko:latest max_connections: type: number example: 10 user_pass: type: string example: neko admin_pass: type: string example: admin broadcast_pipeline: type: string screen: type: string example: 1920x1080@60 video_codec: type: string example: VP8 video_bitrate: type: number example: 3072 video_pipeline: type: string video_max_fps: type: number example: 25 audio_codec: type: string example: OPUS audio_bitrate: type: number example: 128 audio_pipeline: type: string envs: type: object additionalProperties: type: string example: CUSTOM_ENV: custom value mounts: type: array items: $ref: '#/components/schemas/RoomMount' RoomStats: type: object properties: connections: type: number example: 3 host: type: string example: foobar members: type: array items: $ref: '#/components/schemas/RoomMember' RoomMember: type: object properties: id: type: string example: foobar displayname: type: string example: Foo Bar admin: type: boolean example: true muted: type: boolean example: false