Recording
Each recording has 3 states. Start, stop, and finish. So you will receive 3 events in the meeting observer and the retrieve recording response.
You can distinguish them by the duration
and links.download
fields.
- At start, both are null
- At stop, duration is set, but download is null
- At finish, both are set
Start recording
Recordings are temporarily saved in Eyesons cloud storage and can be downloaded from there.
POST /rooms/`ACCESS_KEY`/recording
RESPONSES 201 CREATED, 404 NOT FOUND, 405 METHOD NOT ALLOWED, 406 NOT ACCEPTABLE, 410 GONE
NO RESPONSE - only HTTP status
Direct URLs to downloads expire after one hour. Better use the recording identifier and fetch a valid resource link on demand.
Recordings are stored for up to 14 days. Afterwards they get destroyed.
Stop recording
DELETE /rooms/`ACCESS_KEY`/recording
RESPONSES 200 OK, 404 NOT FOUND, 410 GONE
Retrieve recording
GET /recordings/`RECORDING_ID`
HEADERS Authorization
RESPONSES 200 OK, 404 NOT FOUND
Direct URLs to downloads expire after one hour. Better use the recording identifier and fetch a valid resource link on demand.
Example Response
{
"id": "63ede57ff3e015000fbe1af5",
"created_at": 1609491600,
"duration": 1800, // duration in seconds
"links": {
"self": "https://api.eyeson.team/recordings/63ede57ff3e015000fbe1af5",
"download": "https://fs.eyeson.com/meetings/<key>.webm?..."
},
"user": {
"id": "63ede350b20526000f64376d",
"name": "Jane Doe",
"avatar": "https://myawesomeapp.com/images/avatar.png",
"guest": false,
"joined_at": "2021-01-01T09:00:00.000Z"
},
"room": {
"id": "63ede350b20526000f64376b",
"name": "eyeson room",
"ready": true,
"started_at": "2021-01-01T09:00:00.000Z",
"shutdown": false,
"sip": {
...
},
"guest_token": "gKsiVlrvkFyL3klk1wBHLlm3"
}
}
Retrieve list of all recordings of a certain room
GET /rooms/`ROOM_ID`/recordings
HEADERS Authorization
RESPONSES 200 OK, 403 UNAUTHORIZED, 404 NOT FOUND
page
Type: INTEGER
(optional)
Fetch next set of recordings (limit is 25)
started_at
Type: ISO8601 Timestamp
(optional)
Filter for recordings, where the room instance was running at the current timestamp.
Delete recording
DELETE /recordings/`RECORDING_ID`
HEADERS Authorization
RESPONSES 200 OK, 404 NOT FOUND