tubearchivist/tubearchivist/api
simon b28773b3a0
add exmples, auth docs, and list endpoints
2022-01-11 16:53:58 +07:00
..
migrations new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
README.md add exmples, auth docs, and list endpoints 2022-01-11 16:53:58 +07:00
__init__.py new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
admin.py new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
apps.py new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
models.py implement api token auth 2022-01-11 14:15:36 +07:00
serializers.py new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
tests.py new django api app, implementing basic get views 2022-01-10 22:51:52 +07:00
urls.py implement channel list and subscribe api 2022-01-11 16:53:02 +07:00
views.py implement channel list and subscribe api 2022-01-11 16:53:02 +07:00

README.md

TubeArchivist API

Documentation of available API endpoints.
Note: This 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 in to your TubeArchivist instance, you'll have access to the api in the browser for testing.

Curl example:

curl -v /api/video/<video-id>/ \
    -H "Authorization: Token xxxxxxxxxx"

Python requests example:

import requests

url = "/api/video/<video-id>/"
headers = {"Authorization": "Token xxxxxxxxxx"}
response = requests.get(url, headers=headers)

Videos

/api/video/<video_id>/

Channel List View

/api/channel/

Subscribe to a list of channels

POST /api/channel

{
    "data": [
        {"channel_id": "UC9-y-6csu5WGm29I7JiwpnA", "channel_subscribed": true}
    ]
}

Channel Item View

/api/channel/<channel_id>/

Playlists

/api/playlist/<playlist_id>/

Download Queue List View

/api/download/

Add list of videos to download queue

POST /api/download/

{
    "data": [
        {"youtube_id": "NYj3DnI81AQ", "status": "pending"}
    ]
}

Download Queue Item View

/api/download/<video_id>/