API URLs
Web Call Server uses two URLs for REST API
HTTP | HTTPS |
---|---|
http://host:8081/rest-api | https://host:8444/rest-api |
To invoke the REST API, you have to make request using the following format:
- Protocol: HTTP or HTTPS
- Content Type: application/json
- Method: POST
- Body: JSON
Settings
Ports
By default, server accepts REST HTTP requests on 8081 TCP port and REST HTTPS requests on 8444 TCP port. Those values are defined with the following settings in flashphoner.properties file
http.port=8081 https.port=8444
Cross-domain requests
Cross-domain request are managed with the following settings in flashphoner.properties file
rest_access_control_allow_origin=* rest_access_control_allow_headers=content-type,x-requested-with rest_access_control_allow_methods=POST
By default, cross-domain requests from any address are allowed, to make port redirection work.
Authorization
REST API requests are handled without user authorization by default. HTTP basic authorization may be enabled with the following parameter in flashphoner.properties file if necessary
disable_rest_auth=false
When authorization is enabled, REST API users are managed from WCS core CLI.
For cross-domain requests, custom headers have to be added using the following parameter in flashphoner.properties file:
rest_access_control_headers=Access-Control-Allow-Origin: <origin>;Access-Control-Allow-Credentials: true;Access-Control-Allow-Methods: GET, POST, PUT, DELETE, OPTIONS;Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization
Here <origin>is the request source, e.g. http://test.flashphoner.com.
Testing
For testing purpose you can use a REST client. I.e. Advanced REST Console for browser Google Chrome.
On the screenshot below you can see how to get list of streams by REST API using REST method /stream/find_all
OpenAPI specification
Since build 5.2.1343 REST API can be displayed and tested according to OpenAPI 3 specification. OpenAPI specification file can be downloaded by URL https://demo.flashphoner.com:8444/rest-api/openapi_spec in YAML format, UI is vailable by URL https://demo.flashphoner.com:8444/rest-api-spec/, where demo.flashphoner.com
is WCS server address
Every REST API query can be explored and tested using Swagger UI
Required fields are marked by *
character on Schema
tab.