]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - support/doc/api/quickstart.md
Update URLs to point to new documentation site
[github/Chocobozzz/PeerTube.git] / support / doc / api / quickstart.md
CommitLineData
c0c7416a
C
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
0f490230 9```bash
c0c7416a
C
10$ curl https://peertube.example.com/api/v1/oauth-clients/local
11```
12
13Response example:
14
0f490230 15```json
c0c7416a
C
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
0f490230 26```bash
c0c7416a
C
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
0f490230 34```json
c0c7416a
C
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
0f490230 45```bash
65f02679 46$ curl -H 'Authorization: Bearer 90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0' https://peertube.example.com/api/v1/jobs/completed
f2860600
C
47```
48
49
46e9407c 50## List videos
f2860600 51
0f490230 52```bash
f2860600 53$ curl https://peertube.example.com/api/v1/videos
65f02679 54```