Add rest api quickstart

This commit is contained in:
Chocobozzz 2018-04-17 11:11:25 +02:00
parent 7b87d2d514
commit c0c7416a23
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
2 changed files with 50 additions and 1 deletions

View File

@ -119,7 +119,9 @@ coder to help!
## API REST documentation
For now only on Github:
Quick Start: [/support/doc/api/quickstart.md](/support/doc/api/quickstart.md)
Endpoints documentation:
* 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)
* Swagger/OpenAPI schema: [/support/doc/api/openapi.yaml](/support/doc/api/openapi.yaml)

View File

@ -0,0 +1,47 @@
# REST API quick start
## Authentication
### Get client
Some endpoints need authentication. We use OAuth 2.0 so first fetch the client tokens:
```
$ curl https://peertube.example.com/api/v1/oauth-clients/local
```
Response example:
```
{
"client_id": "v1ikx5hnfop4mdpnci8nsqh93c45rldf",
"client_secret": "AjWiOapPltI6EnsWQwlFarRtLh4u8tDt"
}
```
### Get user token
Now you can fetch the user token:
```
$ curl -X POST \
-d "client_id=v1ikx5hnfop4mdpnci8nsqh93c45rldf&client_secret=AjWiOapPltI6EnsWQwlFarRtLh4u8tDt&grant_type=password&response_type=code&username=your_user&password=your_password" \
https://peertube.example.com/api/v1/users/token
```
Response example:
```
{
"access_token": "90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0",
"token_type": "Bearer",
"expires_in": 14399,
"refresh_token": "2e0d675df9fc96d2e4ec8a3ebbbf45eca9137bb7"
}
```
Just use the `access_token` in the `Authorization` header:
```
$ curl -H 'Authorization: Bearer 90286a0bdf0f7315d9d3fe8dabf9e1d2be9c97d0' https://peertube.example.com/api/v1/jobs/complete
```