WebRTC audio/video call and conferencing server.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

159 lines
4.2 KiB

Spreed Speak Freely REST API v1.0.0
===============================================
(c)2014 struktur AG
The server provides a REST api end point to provide functionality outside the
the channeling API or without a established web socket connection.
The REST API does always return valid JSON data. This includes the non 200
status responses. If non JSON is received this is an error not generated by the
API or there was a problem while JSON encoding.
Available end points with request methods and content-type:
/api/v1/config
The config end points returns the server configuration. As it is available
to the Web client.
GET application/x-www-form-urlencoded
No parameters.
Response 200:
{
"Title": "Spreed WebRTC",
"S": "static/ver=1399302670",
"B": "/",
"Token": "i-did-not-change-the-public-token-boo",
"StunURIs": [],
"TurnURIs": [
"turn:myturnserver:443?transport=udp",
"turn:myturnserver:443?transport=tcp"
],
"Tokens": false,
"Version": "0.17.5",
"UsersEnabled": true,
"UsersAllowRegistration": true,
"UsersMode": "certificate",
"Plugin": ""
}
/api/v1/tokens
The tokens end point is to validate client side access tokens.
POST application/x-www-form-urlencoded
a: Authentication token as entered by the user (string)
Response 200:
{
"success": true,
"token": "validated-auth-token"
}
Response 403, 413:
{
"success": false,
"code": "error-code",
"message": "error-message"
}
/api/v1/rooms
The rooms end point can be used to generate new random room ids.
POST application/x-www-form-urlencoded
No parameters.
Response 200:
{
"success": true,
"name": "room-name",
"url": "https://yourserver/room-name"
}
/api/v1/sessions
The sessions end point is for session interaction like authorization.
/api/v1/sessions/{id}/
A session id is passed in as subpath. Make sure to add the trailing
slash (/).
PATCH application/json
{
id: "session-id",
sid: "secure-session-id",
useridcombo: "authorization-id",
secret: "secret-for-this-user-id"
}
Response 200:
{
"success": true,
"userid": "user-id-for-nonce",
"nonce": "authorization-nonce"
}
Response 403:
{
"success": false,
"code": "error-code",
"message": "error-message"
}
Response 404 text/plain:
Returned when users are disabled on the server.
/api/v1/users
The users end point is for user interaction like registration.
POST application/json
{
id: "session-id",
sid: "secure-session-id"
}
Response 200:
{
"success": true,
"userid": "user-id",
"useridcombo": "authorization-id",
"timestamp": 1430688014,
"secret": "authorization-secret-for-authorization-id",
"nonce": "authorization-nonce"
}
Response 400, 403:
{
"success": false,
"code": "error-code",
"message": "error-message"
}
Response 404 text/plain:
Returned when user registration is disabled on the server.
/api/v1/stats
The stats end point provides server statistics. It is only available when
the server configuration has it enabled.
GET application/x-www-form-urlencoded
details: If 1 when the stats document contains details per connection.
Response 200:
{
Runtime: { /* Runtime stats (memory and such ..) */ },
Hub: { /* Server stats */ }
}
Please see the implementation on exact fields of Runtime and Hub stats.
End of REST API.
For latest version of Spreed Speak Freely check
https://github.com/strukturag/spreed-speakfreely
For questions, contact mailto:opensource@struktur.de.
(c)2014 struktur AG