Skip to main content
Version: /v2

Fetch All Composite Merge Recordings - API

List composite-merge transcoding jobs. Supports filtering by roomId, sessionId, hlsId and status, plus standard pagination via page and perPage.

HTTP method and endpoint

GET

|

https://api.videosdk.live/v2/transcodings
Headers Parameters

values: YOUR_TOKEN_WITHOUT_ANY_PREFIX

This will be a JWT token generate using VideoSDK ApiKey and Secret.

Note that the token will not include any prefix such as "Basic " or "Bearer ". Just pass a token as value.

You can generate a new token by refering this Guide: Generate Auth token

Query Parameters
OPTIONAL
Filter by Room ID.
OPTIONAL
Filter by Session ID.
OPTIONAL
Filter by job status. One of pending, processing, completed, failed, cancelled.
OPTIONAL

defaultValue: 1

Page number.

OPTIONAL

defaultValue: 20

Number of records per page.

GET
|
https://api.videosdk.live/v2/transcodings
import fetch from 'node-fetch';
const options = {
method: "GET",
headers: {
"Authorization": "$YOUR_TOKEN",
},
};
const url= `https://api.videosdk.live/v2/transcodings?roomId=abcd-efgh-ijkl&sessionId=6847c231fbaa8b416bc87014&status=completed&page=1&perPage=20`;
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
RESPONSE
{
"pageInfo": {
"currentPage": 1,
"perPage": 20,
"lastPage": 1,
"total": 1
},
"data": [
{
"id": "665fcf7f2abe9a2807e42700",
"recordingIds": [
"6697685c6eaaaac67ea18130",
"6697685c6eaaaac67ea18131"
],
"roomId": "abcd-efgh-ijkl",
"sessionId": "6847c231fbaa8b416bc87014",
"status": "completed",
"task": "composite-merge",
"startedAt": "2025-06-10T05:45:02.730Z",
"stoppedAt": "2025-06-10T05:46:21.500Z",
"file": {
"id": "6846b93beabde2b7cbf44bb2",
"type": "video",
"size": 24862410,
"meta": {
"format": "mp4",
"duration": 78,
"resolution": {
"width": 1280,
"height": 720
}
},
"filePath": "recordings/composite-merge/<USER_ID>/665fcf7f2abe9a2807e42700.mp4",
"fileUrl": "<CDN_URL>"
}
}
]
}

Got a Question? Ask us on discord