# TubeArchivist API Documentation of available API endpoints. **Note: This is very early alpha and will change!** ## Authentication API token will get automatically created, accessible on the settings page. Token needs to be passed as an authorization header with every request. Additionally session based authentication is enabled too: When you are logged into your TubeArchivist instance, you'll have access to the api in the browser for testing. Curl example: ```shell curl -v /api/video// \ -H "Authorization: Token xxxxxxxxxx" ``` Python requests example: ```python import requests url = "/api/video//" headers = {"Authorization": "Token xxxxxxxxxx"} response = requests.get(url, headers=headers) ``` ## Login View Return token and user ID for username and password: POST /api/login ```json { "username": "tubearchivist", "password": "verysecret" } ``` after successful login returns ```json { "token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "user_id": 1 } ``` ## Video Item View /api/video/\/ ## Video Progress View /api/video/\/progress Progress is stored for each user. ### Get last player position of a video GET /api/video/\/progress ```json { "youtube_id": "", "user_id": 1, "position": 100 } ``` ### Post player position of video POST /api/video/\/progress ```json { "position": 100 } ``` ### Delete player position of video DELETE /api/video/\/progress ## Channel List View /api/channel/ ### Subscribe to a list of channels POST /api/channel/ ```json { "data": [ {"channel_id": "UC9-y-6csu5WGm29I7JiwpnA", "channel_subscribed": true} ] } ``` ## Channel Item View /api/channel/\/ ## Playlists Item View /api/playlist/\/ ## Download Queue List View /api/download/ ### Add list of videos to download queue POST /api/download/ ```json { "data": [ {"youtube_id": "NYj3DnI81AQ", "status": "pending"} ] } ``` ## Download Queue Item View /api/download/\/