API for Restream resource $
Description
This section describes API methods for creating, deleting and configurations changing of your resources.
All the responses (including errors) return in JSON Format.
Find below examples for monitoring and configuring of the options in connection with Restreaming service.
Configuration for Restream Resource
Get all resources
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/resources
- Method: GET
- Headers: CDN-AUTH-TOKEN
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | All live resources configured in specified account or error description | JSON | Response with list of resources or error |
403 | None | None | Forbidden |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdnvideo.ru/app/restream/v2/aloha/resources
Successful response example
{ "account": "aloha", "modification_ts": 1572586121, "data": { "resources": [ { "resource_id": "ewq-123-ewq", "name": "asdfasfewefse", "type": "short", "active": true, "creation_ts": 1572586121, "modification_ts": 1572586121, "restreams": [ { "schedule": [ { "start": "2019-10-30T13:30:59Z", "stop": "2019-10-30T13:31:00Z" }, { "start": "2019-10-30T13:40:59Z", "stop": "2019-10-30T13:41:00Z" } ], "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", "transcoded": false, "transcode_quality": "", "target_type": "customRTMP", "target_url": "rtmp://a.rtmp.com/live2", "target_key": "key1", "login": "", "password": "", "backup": { "target_url": "rtmp://b.com/live2?q=1", "login": "", "password": "" } }, { "schedule": [], "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", "transcoded": true, "transcode_quality": "360p", "target_type": "customRTMP", "target_url": "rtmp://a.rtmp.com/live2", "target_key": "key1_360", "login": "", "password": "", "backup": {} } ] } ] } }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Get specific resource
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/resources/<resource_id>
- Method: GET
- Headers: CDN-AUTH-TOKEN
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | Live resource configured in specified account or error description | JSON | Response with resource or error |
403 | None | None | Forbidden |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdnvideo.ru/app/restream/v2/aloha/resources/ewq-123-ewq
Successful response example
{ "account": "aloha", "resource_id": "ewq-123-ewq", "modification_ts": 1583852573, "data": { "active": true, "name": "asdfasfewefse", "type": "short", "restreams": [ { "schedule": [ { "start": "2019-10-30T13:30:59Z", "stop": "2019-10-30T13:31:00Z" }, { "start": "2019-10-30T13:40:59Z", "stop": "2019-10-30T13:41:00Z" } ], "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", "transcoded": false, "transcode_quality": "", "target_type": "customRTMP", "target_url": "rtmp://a.rtmp.com/live2", "target_key": "key1", "login": "", "password": "", "backup": { "target_url": "rtmp://b.com/live2?q=1", "login": "", "password": "" } }, { "schedule": [], "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", "transcoded": true, "transcode_quality": "360p", "target_type": "customRTMP", "target_url": "rtmp://a.rtmp.com/live2", "target_key": "key1_360", "login": "", "password": "", "backup": {} } ], "resource_id": "ewq-123-ewq", "creation_ts": 1583852573, "modification_ts": 1583852573 } }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Create resource
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/resources
- Method: POST
- Headers: CDN-AUTH-TOKEN
- Request Data: JSON with resource data
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | resource_id или описание ошибки | JSON | Created resource |
400 | None | None | Bad Request |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" \ -X POST \ -d '{ \ "active": true, \ "name": "asdfasfewefse", \ "type": "short", \ "restreams": [ \ { \ "schedule": [ \ { \ "start": "2019-10-30T13:30:59Z", \ "stop": "2019-10-30T13:31:00Z" \ }, \ { \ "start": "2019-10-30T13:40:59Z", \ "stop": "2019-10-30T13:41:00Z" \ } \ ], \ "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", \ "transcoded": false, \ "transcode_quality": "", \ "target_type": "customRTMP", \ "target_url": "rtmp://a.rtmp.com/live2", \ "target_key": "key1", \ "login": "", \ "password": "", \ "backup": { \ "target_url": "rtmp://b.com/live2?q=1", \ "login": "", \ "password": "" \ } \ }, \ { \ "schedule": [], \ "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", \ "transcoded": true, \ "transcode_quality": "360p", \ "target_type": "customRTMP", \ "target_url": "rtmp://a.rtmp.com/live2", \ "target_key": "key1_360", \ "login": "", \ "password": "", \ "backup": {} \ } \ ] \ }' \ https://api.cdnvideo.ru/app/restream/v2/aloha/resources
Successful response example
{ "success":true, "code":200, "message":"OK", "resource_id": "123-qwe-123" }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Update resource
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/resources/<resource_id>
- Method: PUT
- Headers: CDN-AUTH-TOKEN
- Request Data: JSON with new resource data
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | OK or error description | JSON | Updated resource |
400 | None | None | Bad Request |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" \ -X PUT \ -d '{ \ "active": true, \ "name": "asdfasfewefse", \ "type": "short", \ "restreams": [ \ { \ "schedule": [ \ { \ "start": "2019-10-30T13:30:59Z", \ "stop": "2019-10-30T13:31:00Z" \ }, \ { \ "start": "2019-10-30T13:40:59Z", \ "stop": "2019-10-30T13:41:00Z" \ } \ ], \ "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1", \ "transcoded": false, \ "transcode_quality": "", \ "target_type": "customRTMP", \ "target_url": "rtmp://a.rtmp.com/live2", \ "target_key": "key1", \ "login": "", \ "password": "", \ "backup": { \ "target_url": "rtmp://b.com/live2?q=1", \ "login": "", \ "password": "" \ } \ }, \ { \ "schedule": [], \ "source": "rtmp://a.r.cdnvideo.net/livemaster/aaaaa_teststream1_tcode360p", \ "transcoded": true, \ "transcode_quality": "360p", \ "target_type": "customRTMP", \ "target_url": "rtmp://a.rtmp.com/live2", \ "target_key": "key1_360", \ "login": "", \ "password": "", \ "backup": {} \ }]}' \ https://api.cdnvideo.ru/app/restream/v2/aloha/resources/123-qwe-123
Successful response example
{ "success":true, "code":200, "message":"OK" }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Get resource status
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/status
- Method: GET
- Headers: CDN-AUTH-TOKEN
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | All resources status configured in specified account or error description | JSON | Response with statuses or error |
400 | None | None | Bad request |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" \ -X GET \ https://api.cdnvideo.ru/app/restream/v2/aloha/status
Successful response example
{ "account": "aloha", "data": [ { "resource_id": "ewq-123-ewq", "status": [ { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url", "target_key": "key1" }, { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url2", "target_key": "key1" }, { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url3", "target_key": "key1" } ] } ] }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Get specific resource status
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/status?resource_id=<resource_id>
- Method: GET
- Headers: CDN-AUTH-TOKEN
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | Resource status configured in specified account or error description | JSON | Response with status or error |
400 | None | None | Bad request |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" \ -X GET \ 'https://api.cdnvideo.ru/app/restream/v2/aloha/status?resource_id=ewq-123-ewq'
Successful response example
{ "account": "aloha", "data": [ { "resource_id": "ewq-123-ewq", "status": [ { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url", "target_key": "key1" }, { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url2", "target_key": "key1" }, { "status": { "code": 3, "description": "Source stream is not published" }, "source": "url", "target_url": "url3", "target_key": "key1" } ] } ] }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}
Get specific resource status history
URL: https://api.cdnvideo.ru/app/restream/v2/<your_account_name>/history?resource_id=<resource_id>&start<YYYY-mm-ddTHH:MM:SSZ>&end<YYYY-mm-ddTHH:MM:SSZ>
- Method: GET
- Headers: CDN-AUTH-TOKEN
- Response Data Type: JSON Object
Status Code | Response Data | Response Format | Description |
---|---|---|---|
200 | Resource status history configured in specified account or error description | JSON | Response with status history or error |
400 | None | None | Bad Request |
404 | None | None | Not Found |
500 | None | None | Internal Server Error |
503 | None | None | Service Unavailable |
Request example
curl -H "CDN-AUTH-TOKEN: $TOKEN" \ -X GET \ 'https://api.cdnvideo.ru/app/restream/v2/aloha/history?resource_id=ewq-123-ewq&start=2020-03-01T12:00:00Z&end=2020-03-01T14:00:00Z'
Successful response example
{ "account": "aloha", "resource_id": "ewq-123-ewq", "start": "2020-03-01T12:00:00", "end": "2020-03-01T13:00:00", "data": [ { "source": "url", "history": { "target_url1": { "target_key1”: [ { "code": 2, "description": "Source stream not found", "time": 1583065877 }, { "code": 0, "description": "OK", "time": 1583065879 }, { "code": 7, "description": "Restream stopped", "time": 1583067077 } ] } } }, { "source": "url2", "history": { "target_url2": { "target_key2”: [ { "code": 5, "description": "No status changes found", "time": 1583074800 } ] } } } ] }
Unsuccessful response example
{"success": False, "code": 400, "message": "Client not found"}