Skip to main content

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.

  1. At start, both are null
  2. At stop, duration is set, but download is null
  3. 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
warning

Direct URLs to downloads expire after one hour. Better use the recording identifier and fetch a valid resource link on demand.

danger

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
warning

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