aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rw-r--r--support/doc/api/quickstart.md47
2 files changed, 50 insertions, 1 deletions
diff --git a/README.md b/README.md
index 19233307c..c49d5a27d 100644
--- a/README.md
+++ b/README.md
@@ -119,7 +119,9 @@ coder to help!
119 119
120## API REST documentation 120## API REST documentation
121 121
122For now only on Github: 122Quick Start: [/support/doc/api/quickstart.md](/support/doc/api/quickstart.md)
123
124Endpoints documentation:
123 125
124 * HTML version: [/support/doc/api/html/index.html](https://htmlpreview.github.io/?https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/html/index.html) 126 * HTML version: [/support/doc/api/html/index.html](https://htmlpreview.github.io/?https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/api/html/index.html)
125 * Swagger/OpenAPI schema: [/support/doc/api/openapi.yaml](/support/doc/api/openapi.yaml) 127 * Swagger/OpenAPI schema: [/support/doc/api/openapi.yaml](/support/doc/api/openapi.yaml)
diff --git a/support/doc/api/quickstart.md b/support/doc/api/quickstart.md
new file mode 100644
index 000000000..5ebcd4f47
--- /dev/null
+++ b/support/doc/api/quickstart.md
@@ -0,0 +1,47 @@
1# REST API quick start
2
3## Authentication
4
5### Get client
6
7Some endpoints need authentication. We use OAuth 2.0 so first fetch the client tokens:
8
9```
10$ curl https://peertube.example.com/api/v1/oauth-clients/local
11```
12
13Response example:
14
15```
16{
17 "client_id": "v1ikx5hnfop4mdpnci8nsqh93c45rldf",
18 "client_secret": "AjWiOapPltI6EnsWQwlFarRtLh4u8tDt"
19}
20```
21
22### Get user token
23
24Now you can fetch the user token:
25
26```
27$ curl -X POST \
28 -d "client_id=v1ikx5hnfop4mdpnci8nsqh93c45rldf&client_secret=AjWiOapPltI6EnsWQwlFarRtLh4u8tDt&grant_type=password&response_type=code&username=your_user&password=your_password" \
29 https://peertube.example.com/api/v1/users/token
30```
31
32Response example:
33
34```
35{
36 "access_token": "90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0",
37 "token_type": "Bearer",
38 "expires_in": 14399,
39 "refresh_token": "2e0d675df9fc96d2e4ec8a3ebbbf45eca9137bb7"
40}
41```
42
43Just use the `access_token` in the `Authorization` header:
44
45```
46$ curl -H 'Authorization: Bearer 90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0' https://peertube.example.com/api/v1/jobs/complete
47``` \ No newline at end of file