You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			1701 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			YAML
		
	
			
		
		
	
	
			1701 lines
		
	
	
		
			43 KiB
		
	
	
	
		
			YAML
		
	
openapi: 3.0.0
 | 
						|
info:
 | 
						|
  title: YoutubeDL-Material API Docs - Official
 | 
						|
  version: '1.0'
 | 
						|
  description: "Welcome to the official docs for YoutubeDL-Material.\n\n\nYou can check out all the available endpoints. Remember to authenticate with your API key using the \"apiKey\" query parameter with your requests.\n\n\nTo do so, simply add this to the end of your API call:\n\n\n`?apiKey=API_KEY`\n\n\nReplce API_KEY with the API key in the settings menu. If one doesn't exist, click generate to create one.\n\n### Multi-user mode\n\nWhen using multi-user mode, you will need to supply a JWT token to authenticate requests through that user. This lets the server know which user to run the task for, like downloading a video for a specific user. \n\nTo do this, you must use the `/api/auth/login` endpoint to login using a user's username and password. This will result in an object containing a `token`. Supply this along with your API key like so:\n\n`?apiKey=API_KEY&jwt=JWT_TOKEN`\n\nNotice the `&` between the `API_KEY` and `jwt`."
 | 
						|
servers:
 | 
						|
  - url: 'http://localhost:17442'
 | 
						|
paths:
 | 
						|
  /api/tomp3:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - downloader
 | 
						|
      summary: Download audio file
 | 
						|
      description: |-
 | 
						|
        Downloads an audio file with the given URL. Will include global args if they exist.
 | 
						|
 | 
						|
 | 
						|
        HTTP requests will return once the audio file download completes. In the future, it will (by default) return once the download starts, and a separate API call will be used for checking the download status.        
 | 
						|
      operationId: post-tomp3
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/tomp4:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - downloader
 | 
						|
      summary: Download video file
 | 
						|
      description: |-
 | 
						|
        Downloads a video file with the given URL. Will include global args if they exist.
 | 
						|
 | 
						|
 | 
						|
        HTTP requests will return once the video file download completes. In the future, it will (by default) return once the download starts, and a separate API call will be used for checking the download status.        
 | 
						|
      operationId: post-tomp4
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_1'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_1'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getMp3s:
 | 
						|
    get:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Get all mp3 files
 | 
						|
      description: Gets all mp3 files and audio playlists stored in the db
 | 
						|
      operationId: get-getMp3s
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_2'
 | 
						|
      requestBody: {}
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getMp4s:
 | 
						|
    get:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Get all mp4 files
 | 
						|
      description: Gets all mp4 files and video playlists stored in the db
 | 
						|
      operationId: get-getMp4s
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_3'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getFile:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Get file database object
 | 
						|
      description: Gets a file db object by its uid and type. Type will be found if not provided
 | 
						|
      operationId: post-getFile
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_2'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_4'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/enableSharing:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
        - playlists
 | 
						|
      summary: Enable sharing
 | 
						|
      description: Enables sharing for a video or playlist
 | 
						|
      operationId: post-enableSharing
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_3'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/disableSharing:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
        - playlists
 | 
						|
      summary: Disable sharing
 | 
						|
      description: Disables sharing for a video or playlist
 | 
						|
      operationId: post-disableSharing
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_4'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/subscribe:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Subscribe to channel or playlist
 | 
						|
      description: Allows you to subscribe to channels and playlists. Name is optional (will use the channel/playlist name)
 | 
						|
      operationId: post-api-subscribe
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_5'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_6'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/unsubscribe:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Unsubscribe from channel or playlist
 | 
						|
      description: Unsubscribes from a subscription
 | 
						|
      operationId: post-api-unsubscribe
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_6'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_7'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/deleteSubscriptionFile:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Delete video from subscription
 | 
						|
      description: Deletes a file from a subscription
 | 
						|
      operationId: post-api-deleteSubscriptionFile
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_7'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_8'
 | 
						|
        '500':
 | 
						|
          description: Internal Server Error
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getSubscription:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Get subscription
 | 
						|
      description: Gets a subscription from its ID
 | 
						|
      operationId: post-api-getSubscription
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_8'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_9'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/downloadVideosForSubscription:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Download videos for subscription
 | 
						|
      description: 'Manually check the subscription for new videos. When used on newly created subscriptions, it will grab all  possible videos'
 | 
						|
      operationId: post-api-downloadVideosForSubscription
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_9'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_10'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getAllSubscriptions:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Get all subscriptions
 | 
						|
      operationId: post-api-getAllSubscriptions
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_11'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/createPlaylist:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - playlists
 | 
						|
      summary: Create a playlist
 | 
						|
      description: Creates a playlist from existing downloaded videos
 | 
						|
      operationId: post-api-createPlaylist
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_10'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_12'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/getPlaylist:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - playlists
 | 
						|
      summary: Get playlist
 | 
						|
      description: Gets a playlist object from the database from its ID
 | 
						|
      operationId: post-api-getPlaylist
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_11'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_13'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/updatePlaylist:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - playlists
 | 
						|
      summary: Update playlist files
 | 
						|
      description: Updates the list of filenames in the playlist object
 | 
						|
      operationId: post-api-updatePlaylist
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_12'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/deletePlaylist:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - playlists
 | 
						|
      summary: Delete playlist
 | 
						|
      description: Deletes a playlist from the database by its ID
 | 
						|
      operationId: post-api-deletePlaylist
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_13'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/deleteMp4:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Delete mp4 file
 | 
						|
      description: Deletes an mp4 file by its uid
 | 
						|
      operationId: post-api-deleteMp4
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_14'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: boolean
 | 
						|
                description: Whether the operation succeeded
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/downloadFile:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Download downloaded file from server
 | 
						|
      operationId: post-api-downloadFile
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties: {}
 | 
						|
          application/xml:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_15'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: 'The file itself is in the response, as well as an options object.'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/deleteFile:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Delete downloaded file (unused)
 | 
						|
      operationId: post-api-deleteFile
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_16'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/downloadArchive:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - subscriptions
 | 
						|
      summary: Download subscription archive
 | 
						|
      description: Downloads the archive file of a subscription
 | 
						|
      operationId: post-api-downloadArchive
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_17'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: The archive text file is sent as a response
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/updaterStatus:
 | 
						|
    get:
 | 
						|
      tags:
 | 
						|
        - updating
 | 
						|
      summary: Get updater status
 | 
						|
      description: Gets the status of an update that is in progress
 | 
						|
      operationId: get-api-updaterStatus
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_14'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/updateServer:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - updating
 | 
						|
      summary: Update server
 | 
						|
      description: 'Updates the server. If no tag is provided, the latest version will be used.'
 | 
						|
      operationId: post-api-updateServer
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_18'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/isPinSet:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - security
 | 
						|
      summary: Check if pin is set
 | 
						|
      description: Checks if the pin is set for settings
 | 
						|
      operationId: post-api-isPinSet
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_15'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/checkPin:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - security
 | 
						|
      summary: Check if pin is correct
 | 
						|
      description: Checks the pin against an inputted one. Will return true if they match
 | 
						|
      operationId: post-api-checkPin
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_19'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/setPin:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - security
 | 
						|
      summary: Set pin
 | 
						|
      operationId: post-api-setPin
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_20'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      description: ''
 | 
						|
  /api/generateNewAPIKey:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - security
 | 
						|
      summary: Generate new API key
 | 
						|
      description: Generates and sets a new API key
 | 
						|
      operationId: post-genapikey
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_16'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/deleteMp3:
 | 
						|
    post:
 | 
						|
      tags:
 | 
						|
        - files
 | 
						|
      summary: Delete mp3 file
 | 
						|
      description: Deletes an mp3 file by its uid
 | 
						|
      operationId: post-api-deleteMp3
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_21'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: boolean
 | 
						|
                description: Whether the operation succeeded
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/config:
 | 
						|
    get:
 | 
						|
      tags: []
 | 
						|
      summary: Get config
 | 
						|
      description: "Gets the config file stored in 'default.json'"
 | 
						|
      operationId: get-config
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_17'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/setConfig:
 | 
						|
    post:
 | 
						|
      summary: Set config
 | 
						|
      description: "Sets the 'default.json' config file to the 'new_config_file' object"
 | 
						|
      operationId: post-api-setConfig
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              $ref: '#/components/schemas/body_22'
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                $ref: '#/components/schemas/inline_response_200_5'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/downloads:
 | 
						|
    get:
 | 
						|
      summary: Get info for all downloads
 | 
						|
      tags:
 | 
						|
        - downloader
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  downloads:
 | 
						|
                    type: object
 | 
						|
                    properties:
 | 
						|
                      uid:
 | 
						|
                        type: string
 | 
						|
                      downloading:
 | 
						|
                        type: boolean
 | 
						|
                      complete:
 | 
						|
                        type: boolean
 | 
						|
                      url:
 | 
						|
                        type: string
 | 
						|
                      type:
 | 
						|
                        type: string
 | 
						|
                      percent_complete:
 | 
						|
                        type: string
 | 
						|
                      is_playlist:
 | 
						|
                        type: boolean
 | 
						|
                      timestamp_start:
 | 
						|
                        type: number
 | 
						|
                      timestamp_end:
 | 
						|
                        type: number
 | 
						|
                      fileNames:
 | 
						|
                        type: array
 | 
						|
                        items:
 | 
						|
                          type: string
 | 
						|
      operationId: get-api-downloads
 | 
						|
      description: Retrieves all downloads recorded by the server and their status.
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
  /api/download:
 | 
						|
    post:
 | 
						|
      summary: Get info for one download
 | 
						|
      operationId: post-api-download
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  download:
 | 
						|
                    type: object
 | 
						|
                    properties:
 | 
						|
                      uid:
 | 
						|
                        type: string
 | 
						|
                      downloading:
 | 
						|
                        type: boolean
 | 
						|
                      complete:
 | 
						|
                        type: boolean
 | 
						|
                      url:
 | 
						|
                        type: string
 | 
						|
                      type:
 | 
						|
                        type: string
 | 
						|
                      percent_complete:
 | 
						|
                        type: string
 | 
						|
                      is_playlist:
 | 
						|
                        type: boolean
 | 
						|
                      timestamp_start:
 | 
						|
                        type: number
 | 
						|
                      timestamp_end:
 | 
						|
                        type: number
 | 
						|
                      fileNames:
 | 
						|
                        type: array
 | 
						|
                        items:
 | 
						|
                          type: string
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                session_id:
 | 
						|
                  type: string
 | 
						|
                download_id:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - session_id
 | 
						|
                - download_id
 | 
						|
        description: ''
 | 
						|
      description: "Gets a single download using its download_id and session_id. session_id is the device fingerprint. If none was provided at the time of download, then set session_id is 'undeclared'."
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - downloader
 | 
						|
  /api/auth/login:
 | 
						|
    post:
 | 
						|
      summary: Login
 | 
						|
      operationId: post-api-auth-login
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  user:
 | 
						|
                    $ref: '#/components/schemas/user'
 | 
						|
                  token:
 | 
						|
                    type: string
 | 
						|
                  permissions:
 | 
						|
                    type: array
 | 
						|
                    items:
 | 
						|
                      type: string
 | 
						|
                  available_permissions:
 | 
						|
                    type: array
 | 
						|
                    items:
 | 
						|
                      type: string
 | 
						|
      description: Use this method to log into a user using their username and password and receive a jwt auth token so you can send per-user requests.
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                userid:
 | 
						|
                  type: string
 | 
						|
                  description: 'This is the username, not the user uid'
 | 
						|
                password:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - userid
 | 
						|
                - password
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/auth/register:
 | 
						|
    post:
 | 
						|
      summary: Register
 | 
						|
      operationId: post-api-auth-register
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  user:
 | 
						|
                    $ref: '#/components/schemas/user'
 | 
						|
      description: Use this endpoint to register a user. It will only work if registration is enabled.
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                userid:
 | 
						|
                  type: string
 | 
						|
                username:
 | 
						|
                  type: string
 | 
						|
                password:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - userid
 | 
						|
                - username
 | 
						|
                - password
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/updateUser:
 | 
						|
    post:
 | 
						|
      summary: Update user
 | 
						|
      operationId: post-api-updateUser
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                change_object:
 | 
						|
                  type: object
 | 
						|
                  properties:
 | 
						|
                    name:
 | 
						|
                      type: string
 | 
						|
                    role:
 | 
						|
                      type: string
 | 
						|
              required:
 | 
						|
                - change_object
 | 
						|
      description: Updates certain properties for a user. Only two are possible right now.
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/deleteUser:
 | 
						|
    post:
 | 
						|
      summary: Delete user
 | 
						|
      operationId: post-api-deleteUser
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  success:
 | 
						|
                    type: boolean
 | 
						|
      description: Deletes a user by its uid.
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                uid:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - uid
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/getRoles:
 | 
						|
    post:
 | 
						|
      summary: Get available roles
 | 
						|
      operationId: post-api-getRoles
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  roles:
 | 
						|
                    type: object
 | 
						|
                    properties:
 | 
						|
                      admin:
 | 
						|
                        type: object
 | 
						|
                        properties:
 | 
						|
                          permissions:
 | 
						|
                            type: array
 | 
						|
                            items:
 | 
						|
                              type: string
 | 
						|
                      user:
 | 
						|
                        type: object
 | 
						|
                        properties:
 | 
						|
                          permissions:
 | 
						|
                            type: array
 | 
						|
                            items:
 | 
						|
                              type: string
 | 
						|
      description: Gets the available roles and their permissions
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/changeUserPermissions:
 | 
						|
    post:
 | 
						|
      summary: Change user permissions
 | 
						|
      operationId: post-api-changeUserPermissions
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  success:
 | 
						|
                    type: boolean
 | 
						|
      description: "Changes the permissions for a user. Available values for each permission are: `default`, `yes`, and `no`. `default` will use the user's role's default permission."
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                user_uid:
 | 
						|
                  type: string
 | 
						|
                permission:
 | 
						|
                  type: string
 | 
						|
                new_value:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - user_uid
 | 
						|
                - permission
 | 
						|
                - new_value
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/changeRolePermissions:
 | 
						|
    post:
 | 
						|
      summary: Change role permissions
 | 
						|
      operationId: post-api-changeRolePermissions
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  success:
 | 
						|
                    type: boolean
 | 
						|
      requestBody:
 | 
						|
        content:
 | 
						|
          application/json:
 | 
						|
            schema:
 | 
						|
              type: object
 | 
						|
              properties:
 | 
						|
                role:
 | 
						|
                  type: string
 | 
						|
                permission:
 | 
						|
                  type: string
 | 
						|
                new_value:
 | 
						|
                  type: string
 | 
						|
              required:
 | 
						|
                - role
 | 
						|
                - permission
 | 
						|
                - new_value
 | 
						|
      description: 'Changes the permissions for a role. Available values for each permission are: `yes`, and `no`.'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
  /api/getUsers:
 | 
						|
    post:
 | 
						|
      summary: Get all users
 | 
						|
      operationId: post-api-getUsers
 | 
						|
      responses:
 | 
						|
        '200':
 | 
						|
          description: OK
 | 
						|
          content:
 | 
						|
            application/json:
 | 
						|
              schema:
 | 
						|
                type: object
 | 
						|
                properties:
 | 
						|
                  users:
 | 
						|
                    type: array
 | 
						|
                    items:
 | 
						|
                      $ref: '#/components/schemas/user'
 | 
						|
      description: 'Gets all users, returns a list of the user objects including their user permissions, videos, playlists, subscriptions, etc.'
 | 
						|
      security:
 | 
						|
        - Auth query parameter: []
 | 
						|
      tags:
 | 
						|
        - multi-user mode
 | 
						|
components:
 | 
						|
  schemas:
 | 
						|
    body:
 | 
						|
      required:
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        customQualityConfiguration:
 | 
						|
          type: string
 | 
						|
          example: '251'
 | 
						|
        maxBitrate:
 | 
						|
          type: string
 | 
						|
          example: '160'
 | 
						|
        customArgs:
 | 
						|
          type: string
 | 
						|
        customOutput:
 | 
						|
          type: string
 | 
						|
        youtubeUsername:
 | 
						|
          type: string
 | 
						|
        youtubePassword:
 | 
						|
          type: string
 | 
						|
    inline_response_200:
 | 
						|
      required:
 | 
						|
        - audiopathEncoded
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        file_names:
 | 
						|
          type: string
 | 
						|
        audiopathEncoded:
 | 
						|
          type: string
 | 
						|
    body_1:
 | 
						|
      required:
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        customQualityConfiguration:
 | 
						|
          type: string
 | 
						|
          example: 242+251
 | 
						|
        selectedHeight:
 | 
						|
          type: string
 | 
						|
          example: '1080'
 | 
						|
        customArgs:
 | 
						|
          type: string
 | 
						|
        customOutput:
 | 
						|
          type: string
 | 
						|
        youtubeUsername:
 | 
						|
          type: string
 | 
						|
        youtubePassword:
 | 
						|
          type: string
 | 
						|
    inline_response_200_1:
 | 
						|
      required:
 | 
						|
        - uid
 | 
						|
        - videopathEncoded
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        file_names:
 | 
						|
          type: string
 | 
						|
        videopathEncoded:
 | 
						|
          type: string
 | 
						|
    inline_response_200_2:
 | 
						|
      required:
 | 
						|
        - mp3s
 | 
						|
        - playlists
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        mp3s:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            $ref: '#/components/schemas/inline_response_200_2_mp3s'
 | 
						|
        playlists:
 | 
						|
          type: array
 | 
						|
          description: All audio playlists
 | 
						|
          items:
 | 
						|
            $ref: '#/components/schemas/inline_response_200_2_playlists'
 | 
						|
    inline_response_200_3:
 | 
						|
      required:
 | 
						|
        - mp4s
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        mp4s:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            $ref: '#/components/schemas/inline_response_200_3_mp4s'
 | 
						|
        playlists:
 | 
						|
          type: array
 | 
						|
          description: All video playlists
 | 
						|
          items:
 | 
						|
            type: object
 | 
						|
    body_2:
 | 
						|
      required:
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    inline_response_200_4:
 | 
						|
      required:
 | 
						|
        - file
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        success:
 | 
						|
          type: string
 | 
						|
        file:
 | 
						|
          $ref: '#/components/schemas/inline_response_200_2_mp3s'
 | 
						|
    body_3:
 | 
						|
      required:
 | 
						|
        - is_playlist
 | 
						|
        - type
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
        is_playlist:
 | 
						|
          type: boolean
 | 
						|
    inline_response_200_5:
 | 
						|
      required:
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
    body_4:
 | 
						|
      required:
 | 
						|
        - type
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
          description: uid is either the video uid or the playlist ID
 | 
						|
        is_playlist:
 | 
						|
          type: boolean
 | 
						|
    body_5:
 | 
						|
      required:
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        timerange:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
    inline_response_200_6:
 | 
						|
      required:
 | 
						|
        - new_sub
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        new_sub:
 | 
						|
          $ref: '#/components/schemas/inline_response_200_6_new_sub'
 | 
						|
        error:
 | 
						|
          type: string
 | 
						|
    apiunsubscribe_sub:
 | 
						|
      required:
 | 
						|
        - id
 | 
						|
        - name
 | 
						|
        - url
 | 
						|
        - videos
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
        videos:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: object
 | 
						|
    body_6:
 | 
						|
      required:
 | 
						|
        - sub
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        sub:
 | 
						|
          $ref: '#/components/schemas/apiunsubscribe_sub'
 | 
						|
        deleteMode:
 | 
						|
          type: boolean
 | 
						|
          description: Defaults to false
 | 
						|
    inline_response_200_7:
 | 
						|
      required:
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
        error:
 | 
						|
          type: string
 | 
						|
    apideleteSubscriptionFile_sub:
 | 
						|
      required:
 | 
						|
        - id
 | 
						|
        - isPlaylist
 | 
						|
        - name
 | 
						|
        - url
 | 
						|
        - videos
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
        isPlaylist:
 | 
						|
          type: boolean
 | 
						|
        videos:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: object
 | 
						|
    body_7:
 | 
						|
      required:
 | 
						|
        - file
 | 
						|
        - sub
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        file:
 | 
						|
          type: string
 | 
						|
        sub:
 | 
						|
          $ref: '#/components/schemas/apideleteSubscriptionFile_sub'
 | 
						|
        deleteForever:
 | 
						|
          type: boolean
 | 
						|
          description: 'If true, does not remove id from archive. Only valid if youtube-dl archive is enabled in settings.'
 | 
						|
    inline_response_200_8:
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
    body_8:
 | 
						|
      required:
 | 
						|
        - subID
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        subID:
 | 
						|
          type: string
 | 
						|
    inline_response_200_9:
 | 
						|
      required:
 | 
						|
        - files
 | 
						|
        - subscription
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        subscription:
 | 
						|
          $ref: '#/components/schemas/inline_response_200_9_subscription'
 | 
						|
        files:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: object
 | 
						|
    body_9:
 | 
						|
      required:
 | 
						|
        - subID
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        subID:
 | 
						|
          type: string
 | 
						|
    inline_response_200_10:
 | 
						|
      required:
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        success:
 | 
						|
          type: number
 | 
						|
    inline_response_200_11:
 | 
						|
      required:
 | 
						|
        - subscriptions
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        subscriptions:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            $ref: '#/components/schemas/inline_response_200_11_subscriptions'
 | 
						|
    body_10:
 | 
						|
      required:
 | 
						|
        - fileNames
 | 
						|
        - playlistName
 | 
						|
        - thumbnailURL
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        playlistName:
 | 
						|
          type: string
 | 
						|
        fileNames:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
        thumbnailURL:
 | 
						|
          type: string
 | 
						|
    inline_response_200_12:
 | 
						|
      required:
 | 
						|
        - new_playlist
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        new_playlist:
 | 
						|
          $ref: '#/components/schemas/inline_response_200_12_new_playlist'
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
    body_11:
 | 
						|
      required:
 | 
						|
        - playlistID
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        playlistID:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    inline_response_200_13:
 | 
						|
      required:
 | 
						|
        - playlist
 | 
						|
        - success
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        playlist:
 | 
						|
          $ref: '#/components/schemas/inline_response_200_2_playlists'
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
    body_12:
 | 
						|
      required:
 | 
						|
        - fileNames
 | 
						|
        - playlistID
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        playlistID:
 | 
						|
          type: string
 | 
						|
        fileNames:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    body_13:
 | 
						|
      required:
 | 
						|
        - playlistID
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        playlistID:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    body_14:
 | 
						|
      required:
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
    body_15:
 | 
						|
      required:
 | 
						|
        - fileNames
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        fileNames:
 | 
						|
          type: array
 | 
						|
          description: Array of 1 or more files to download
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
        zip_mode:
 | 
						|
          type: boolean
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
        outputName:
 | 
						|
          type: string
 | 
						|
        fullPathProvided:
 | 
						|
          type: string
 | 
						|
        subscriptionName:
 | 
						|
          type: boolean
 | 
						|
          description: Only used for subscriptions
 | 
						|
        subscriptionPlaylist:
 | 
						|
          type: boolean
 | 
						|
          description: Only used for subscriptions
 | 
						|
    body_16:
 | 
						|
      required:
 | 
						|
        - fileName
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        fileName:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    apidownloadArchive_sub:
 | 
						|
      required:
 | 
						|
        - archive_dir
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        archive_dir:
 | 
						|
          type: string
 | 
						|
    body_17:
 | 
						|
      required:
 | 
						|
        - sub
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        sub:
 | 
						|
          $ref: '#/components/schemas/apidownloadArchive_sub'
 | 
						|
    inline_response_200_14:
 | 
						|
      required:
 | 
						|
        - details
 | 
						|
        - updating
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        updating:
 | 
						|
          type: boolean
 | 
						|
        details:
 | 
						|
          type: string
 | 
						|
    body_18:
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        tag:
 | 
						|
          type: string
 | 
						|
    inline_response_200_15:
 | 
						|
      required:
 | 
						|
        - is_set
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        is_set:
 | 
						|
          type: boolean
 | 
						|
    body_19:
 | 
						|
      required:
 | 
						|
        - input_pin
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        input_pin:
 | 
						|
          type: string
 | 
						|
    body_20:
 | 
						|
      required:
 | 
						|
        - unhashed_pin
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        unhashed_pin:
 | 
						|
          type: string
 | 
						|
    inline_response_200_16:
 | 
						|
      required:
 | 
						|
        - new_api_key
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        new_api_key:
 | 
						|
          type: string
 | 
						|
          example: 4241b401-7236-493e-92b5-b72696b9d853
 | 
						|
    body_21:
 | 
						|
      required:
 | 
						|
        - uid
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
    inline_response_200_17:
 | 
						|
      required:
 | 
						|
        - config_file
 | 
						|
        - success
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        config_file:
 | 
						|
          type: object
 | 
						|
        success:
 | 
						|
          type: boolean
 | 
						|
    body_22:
 | 
						|
      required:
 | 
						|
        - new_config_file
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        new_config_file:
 | 
						|
          type: object
 | 
						|
    inline_response_200_2_mp3s:
 | 
						|
      required:
 | 
						|
        - duration
 | 
						|
        - id
 | 
						|
        - isAudio
 | 
						|
        - path
 | 
						|
        - size
 | 
						|
        - thumbnailURL
 | 
						|
        - title
 | 
						|
        - uid
 | 
						|
        - upload_date
 | 
						|
        - uploader
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        title:
 | 
						|
          type: string
 | 
						|
        thumbnailURL:
 | 
						|
          type: string
 | 
						|
        isAudio:
 | 
						|
          type: boolean
 | 
						|
        duration:
 | 
						|
          type: number
 | 
						|
          description: In seconds
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        uploader:
 | 
						|
          type: string
 | 
						|
        size:
 | 
						|
          type: number
 | 
						|
        path:
 | 
						|
          type: string
 | 
						|
        upload_date:
 | 
						|
          type: string
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        sharingEnabled:
 | 
						|
          type: boolean
 | 
						|
    inline_response_200_2_playlists:
 | 
						|
      required:
 | 
						|
        - fileNames
 | 
						|
        - id
 | 
						|
        - name
 | 
						|
        - thumbnailURL
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        fileNames:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        thumbnailURL:
 | 
						|
          type: string
 | 
						|
    inline_response_200_3_mp4s:
 | 
						|
      required:
 | 
						|
        - duration
 | 
						|
        - id
 | 
						|
        - isAudio
 | 
						|
        - path
 | 
						|
        - size
 | 
						|
        - thumbnailURL
 | 
						|
        - title
 | 
						|
        - uid
 | 
						|
        - upload_date
 | 
						|
        - uploader
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        title:
 | 
						|
          type: string
 | 
						|
        thumbnailURL:
 | 
						|
          type: string
 | 
						|
        isAudio:
 | 
						|
          type: boolean
 | 
						|
        duration:
 | 
						|
          type: number
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        uploader:
 | 
						|
          type: string
 | 
						|
        size:
 | 
						|
          type: number
 | 
						|
        path:
 | 
						|
          type: string
 | 
						|
        upload_date:
 | 
						|
          type: string
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        sharingEnabled:
 | 
						|
          type: boolean
 | 
						|
    inline_response_200_6_new_sub:
 | 
						|
      required:
 | 
						|
        - id
 | 
						|
        - name
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
        timerange:
 | 
						|
          type: string
 | 
						|
    inline_response_200_9_subscription:
 | 
						|
      required:
 | 
						|
        - archive
 | 
						|
        - id
 | 
						|
        - isPlaylist
 | 
						|
        - name
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
        isPlaylist:
 | 
						|
          type: boolean
 | 
						|
        archive:
 | 
						|
          type: string
 | 
						|
    inline_response_200_11_subscriptions:
 | 
						|
      required:
 | 
						|
        - archive
 | 
						|
        - id
 | 
						|
        - isPlaylist
 | 
						|
        - name
 | 
						|
        - streamingOnly
 | 
						|
        - url
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        url:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        streamingOnly:
 | 
						|
          type: boolean
 | 
						|
        isPlaylist:
 | 
						|
          type: boolean
 | 
						|
        archive:
 | 
						|
          type: string
 | 
						|
    inline_response_200_12_new_playlist:
 | 
						|
      required:
 | 
						|
        - fileNames
 | 
						|
        - id
 | 
						|
        - name
 | 
						|
        - thumbnailURL
 | 
						|
        - type
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        fileNames:
 | 
						|
          type: string
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
        thumbnailURL:
 | 
						|
          type: string
 | 
						|
        type:
 | 
						|
          type: string
 | 
						|
    user:
 | 
						|
      title: user
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        uid:
 | 
						|
          type: string
 | 
						|
        name:
 | 
						|
          type: string
 | 
						|
        passhash:
 | 
						|
          type: string
 | 
						|
        files:
 | 
						|
          type: object
 | 
						|
          properties:
 | 
						|
            audio:
 | 
						|
              type: array
 | 
						|
              items:
 | 
						|
                $ref: '#/components/schemas/file'
 | 
						|
            video:
 | 
						|
              type: array
 | 
						|
              items:
 | 
						|
                $ref: '#/components/schemas/file'
 | 
						|
        playlists:
 | 
						|
          type: object
 | 
						|
          properties:
 | 
						|
            audio:
 | 
						|
              type: array
 | 
						|
              items:
 | 
						|
                $ref: '#/components/schemas/file'
 | 
						|
            video:
 | 
						|
              type: array
 | 
						|
              items:
 | 
						|
                $ref: '#/components/schemas/file'
 | 
						|
        subscriptions:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            $ref: '#/components/schemas/inline_response_200_9_subscription'
 | 
						|
        created:
 | 
						|
          type: number
 | 
						|
        role:
 | 
						|
          type: string
 | 
						|
        permissions:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
        permission_overrides:
 | 
						|
          type: array
 | 
						|
          items:
 | 
						|
            type: string
 | 
						|
    file:
 | 
						|
      title: file
 | 
						|
      type: object
 | 
						|
      properties:
 | 
						|
        id:
 | 
						|
          type: string
 | 
						|
  securitySchemes:
 | 
						|
    Auth query parameter:
 | 
						|
      name: apiKey
 | 
						|
      type: apiKey
 | 
						|
      in: query
 | 
						|
      description: Use your public API key generated from the settings menu
 | 
						|
    JWT token parameter:
 | 
						|
      name: jwt
 | 
						|
      type: apiKey
 | 
						|
      in: query
 | 
						|
      description: 'User-specific authentication token, only used in multi-user mode. Retrieve this token by using the login endpoint'
 |