mirror of https://github.com/Chocobozzz/PeerTube
grouping tags by main category in the spec
parent
6441981bc6
commit
5776f78e3b
|
@ -10,29 +10,41 @@ info:
|
||||||
url: 'https://github.com/Chocobozzz/PeerTube/blob/master/LICENSE'
|
url: 'https://github.com/Chocobozzz/PeerTube/blob/master/LICENSE'
|
||||||
x-logo:
|
x-logo:
|
||||||
url: 'https://joinpeertube.org/img/brand.png'
|
url: 'https://joinpeertube.org/img/brand.png'
|
||||||
|
altText: PeerTube Project Homepage
|
||||||
description: |
|
description: |
|
||||||
# Introduction
|
# Introduction
|
||||||
The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable
|
The PeerTube API is built on HTTP(S). Our API is RESTful. It has predictable
|
||||||
resource URLs. It returns HTTP response codes to indicate errors. It also
|
resource URLs. It returns HTTP response codes to indicate errors. It also
|
||||||
accepts and returns JSON in the HTTP body. You can use your favorite
|
accepts and returns JSON in the HTTP body. You can use your favorite
|
||||||
HTTP/REST library for your programming language to use PeerTube. No official
|
HTTP/REST library for your programming language to use PeerTube. No official
|
||||||
SDK is currently provided.
|
SDK is currently provided, but the spec API is fully compatible with
|
||||||
|
[openapi-generator](https://github.com/OpenAPITools/openapi-generator/wiki/API-client-generator-HOWTO)
|
||||||
|
which generates a client SDK in the language of your choice.
|
||||||
|
|
||||||
# Authentication
|
# Authentication
|
||||||
When you sign up for an account, you are given the possibility to generate
|
When you sign up for an account, you are given the possibility to generate
|
||||||
sessions, and authenticate using this session token. One session token can
|
sessions, and authenticate using this session token. One session token can
|
||||||
currently be used at a time.
|
currently be used at a time.
|
||||||
|
|
||||||
|
# Errors
|
||||||
|
The API uses standard HTTP status codes to indicate the success or failure
|
||||||
|
of the API call. The body of the response will be JSON in the following
|
||||||
|
format.
|
||||||
|
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"code": "unauthorized_request", // example inner error code
|
||||||
|
"error": "Token is invalid." // example exposed error message
|
||||||
|
}
|
||||||
|
```
|
||||||
externalDocs:
|
externalDocs:
|
||||||
url: https://docs.joinpeertube.org/api.html
|
url: https://docs.joinpeertube.org/api.html
|
||||||
tags:
|
tags:
|
||||||
- name: Accounts
|
- name: Accounts
|
||||||
description: >
|
description: >
|
||||||
Using some features of PeerTube require authentication, for which Accounts
|
Using some features of PeerTube require authentication, for which Accounts
|
||||||
|
|
||||||
provide different levels of permission as well as associated user
|
provide different levels of permission as well as associated user
|
||||||
information.
|
information. Accounts also encompass remote accounts discovered across the federation.
|
||||||
|
|
||||||
Accounts also encompass remote accounts discovered across the federation.
|
|
||||||
- name: Config
|
- name: Config
|
||||||
description: >
|
description: >
|
||||||
Each server exposes public information regarding supported videos and
|
Each server exposes public information regarding supported videos and
|
||||||
|
@ -44,21 +56,13 @@ tags:
|
||||||
- name: Job
|
- name: Job
|
||||||
description: >
|
description: >
|
||||||
Jobs are long-running tasks enqueued and processed by the instance
|
Jobs are long-running tasks enqueued and processed by the instance
|
||||||
itself.
|
itself. No additional worker registration is currently available.
|
||||||
|
|
||||||
No additional worker registration is currently available.
|
|
||||||
- name: Server Following
|
- name: Server Following
|
||||||
description: >
|
description: >
|
||||||
Managing servers which the instance interacts with is crucial to the
|
Managing servers which the instance interacts with is crucial to the
|
||||||
concept
|
concept of federation in PeerTube and external video indexation. The PeerTube
|
||||||
|
server then deals with inter-server ActivityPub operations and propagates
|
||||||
of federation in PeerTube and external video indexation. The PeerTube
|
|
||||||
server
|
|
||||||
|
|
||||||
then deals with inter-server ActivityPub operations and propagates
|
|
||||||
|
|
||||||
information across its social graph by posting activities to actors' inbox
|
information across its social graph by posting activities to actors' inbox
|
||||||
|
|
||||||
endpoints.
|
endpoints.
|
||||||
- name: Video Abuse
|
- name: Video Abuse
|
||||||
description: |
|
description: |
|
||||||
|
@ -79,9 +83,43 @@ tags:
|
||||||
- name: Video Channel
|
- name: Video Channel
|
||||||
description: >
|
description: >
|
||||||
Operations dealing with creation, modification and video listing of a
|
Operations dealing with creation, modification and video listing of a
|
||||||
user's
|
user's channels.
|
||||||
|
- name: Video Blacklist
|
||||||
channels.
|
description: >
|
||||||
|
Operations dealing with blacklisting videos (removing them from view and
|
||||||
|
preventing interactions).
|
||||||
|
- name: Video Rate
|
||||||
|
description: >
|
||||||
|
Voting for a video.
|
||||||
|
x-tagGroups:
|
||||||
|
- name: Accounts
|
||||||
|
tags:
|
||||||
|
- Accounts
|
||||||
|
- User
|
||||||
|
- name: Videos
|
||||||
|
tags:
|
||||||
|
- Video
|
||||||
|
- Video Channel
|
||||||
|
- Video Comment
|
||||||
|
- Video Abuse
|
||||||
|
- Video Following
|
||||||
|
- Video Rate
|
||||||
|
- name: Moderation
|
||||||
|
tags:
|
||||||
|
- Video Blacklist
|
||||||
|
- name: Public Instance Information
|
||||||
|
tags:
|
||||||
|
- Config
|
||||||
|
- Server Following
|
||||||
|
- name: Notifications
|
||||||
|
tags:
|
||||||
|
- Feeds
|
||||||
|
- name: Jobs
|
||||||
|
tags:
|
||||||
|
- Job
|
||||||
|
- name: Search
|
||||||
|
tags:
|
||||||
|
- Search
|
||||||
paths:
|
paths:
|
||||||
'/accounts/{name}':
|
'/accounts/{name}':
|
||||||
get:
|
get:
|
||||||
|
@ -128,6 +166,37 @@ paths:
|
||||||
source: |
|
source: |
|
||||||
# pip install httpie
|
# pip install httpie
|
||||||
http -b GET https://peertube2.cpy.re/api/v1/accounts/{name}/videos
|
http -b GET https://peertube2.cpy.re/api/v1/accounts/{name}/videos
|
||||||
|
- lang: Ruby
|
||||||
|
source: |
|
||||||
|
require 'uri'
|
||||||
|
require 'net/http'
|
||||||
|
|
||||||
|
url = URI("https://peertube2.cpy.re/api/v1/accounts/{name}/videos")
|
||||||
|
|
||||||
|
http = Net::HTTP.new(url.host, url.port)
|
||||||
|
http.use_ssl = true
|
||||||
|
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
||||||
|
|
||||||
|
request = Net::HTTP::Post.new(url)
|
||||||
|
request["content-type"] = 'application/json'
|
||||||
|
response = http.request(request)
|
||||||
|
puts response.read_body
|
||||||
|
- lang: Python
|
||||||
|
source: |
|
||||||
|
import http.client
|
||||||
|
|
||||||
|
conn = http.client.HTTPSConnection("https://peertube2.cpy.re/api/v1")
|
||||||
|
|
||||||
|
headers = {
|
||||||
|
'content-type': "application/json"
|
||||||
|
}
|
||||||
|
|
||||||
|
conn.request("POST", "/accounts/{name}/videos", None, headers)
|
||||||
|
|
||||||
|
res = conn.getresponse()
|
||||||
|
data = res.read()
|
||||||
|
|
||||||
|
print(data.decode("utf-8"))
|
||||||
/accounts:
|
/accounts:
|
||||||
get:
|
get:
|
||||||
tags:
|
tags:
|
||||||
|
|
Loading…
Reference in New Issue