diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | support/doc/api/quickstart.md | 47 |
2 files changed, 50 insertions, 1 deletions
@@ -119,7 +119,9 @@ coder to help! | |||
119 | 119 | ||
120 | ## API REST documentation | 120 | ## API REST documentation |
121 | 121 | ||
122 | For now only on Github: | 122 | Quick Start: [/support/doc/api/quickstart.md](/support/doc/api/quickstart.md) |
123 | |||
124 | Endpoints 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 | |||
7 | Some 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 | |||
13 | Response example: | ||
14 | |||
15 | ``` | ||
16 | { | ||
17 | "client_id": "v1ikx5hnfop4mdpnci8nsqh93c45rldf", | ||
18 | "client_secret": "AjWiOapPltI6EnsWQwlFarRtLh4u8tDt" | ||
19 | } | ||
20 | ``` | ||
21 | |||
22 | ### Get user token | ||
23 | |||
24 | Now 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 | |||
32 | Response example: | ||
33 | |||
34 | ``` | ||
35 | { | ||
36 | "access_token": "90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0", | ||
37 | "token_type": "Bearer", | ||
38 | "expires_in": 14399, | ||
39 | "refresh_token": "2e0d675df9fc96d2e4ec8a3ebbbf45eca9137bb7" | ||
40 | } | ||
41 | ``` | ||
42 | |||
43 | Just 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 | ||