API Recording Details

From IVS Wiki
Revision as of 12:00, 28 May 2025 by IVSWikiBlue (talk | contribs) (Response)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This API provides details for a specified recording.

Resource URL

http://valt.example.com/api/v3/records/{recordingid}

Replace {recordingid} with the actual id number of the recording. Recordings are numbered sequentially when added to VALT.


Resource Information

Method GET
Response Type JSON
Authentication Required Yes (access token as a query parameter)

Authentication is performed with an access token obtained from the API Authentication request.

Request Parameters

Query Parameters

Name Type Description
access_token string Token used for authentication. Must be appended to the request URL.

Response

HTTP Code

Code Reason
200 Request Successful
401 Unauthorized
404 Recording ID Not Found

JSON Body

VALT 5 JSON Response
data
id Recording ID Number
name Recording Name
template Array of additional information template fields.
created Date/Time Recording Was Created (Epoch Time)
author Creator or current owner of the video.
id User ID for Author
name Username for Author
type should always be "record"
duration Recording Duration
room Room in which the video was recorded.
id Room ID
name Room Name
cameras Cameras included in recording.
{cameraid} Camera Name
Sharing
groups Array of group IDs the video is shared with in addition to default video permissions.
users Array of user IDs the video is shared with in addition to default video permissions.
retention Video retention settings.
type Retention Type (inherit,infinitely,until,for)
until Date videos will be retained until. If another retention type is set, will not return.
days Number of days a video will be retained for. If another retention type is set, will not return.
hours Number of hours a video will be retained for. If another retention type is set, will not return.
minutes Number of minutes a video will be retained for. If another retention type is set, will not return.
markers Array of markers. (Will return an empty array if there are no markers in the video.)
id Marker ID
event Marker Name
time Time index in seconds where the marker is located in the video.
color Marker Color
hex color Hex code for the specified color.
template Array of additional marker template fields.
videos Array of all videos included in the record (one video for each camera utilized).
url URL to pull video stream from Wowza
id Camera ID
name Camera Name


VALT 6 JSON Response
data
id Recording ID
name Recording Name
template Array of additional information template fields.
created Date/Time Recording Was Created (Epoch Time)
author Creator or current owner of the video.
id User ID for Author
name Username for Author
type Type of object (should always be "record")
duration Recording Duration (in seconds)
room Room in which the video was recorded
id Room ID
name Room Name
cameras Cameras included in recording
{cameraid} Camera Name
sharing
users Array of user IDs the recording is shared with in addition to default video permissions.
groups Array of group IDs the recording is shared with in addition to default video permissions.
retention Recording retention settings.
type Retention type (inherit, infinitely, until, for)
until Retention expiration date (if type is "until")
days Retention duration in days (if type is "for")
hours Retention duration in hours (if type is "for")
minutes Retention duration in minutes (if type is "for")
comments Array of user comments associated with the video
id Comment ID
message Comment message content
recordTime Time (in seconds) comment is anchored to
color Color associated with comment
createdAt Timestamp when comment was created
updatedAt Timestamp when comment was last updated
updatedBy User ID of who performed last update to this comment
templateId Template ID if comment is tied to one
author
id Author ID
username Author's login name
displayName Author's display name
group Author's group ID and additional group-related data
videos Array of camera video entries
id Video ID
name Camera name
type Device Type (camera/stream)
status
type Video Status Type (ready/created)
duration Duration of the video in seconds
rotation Rotation setting for video
hasAudio Boolean indicating if audio is present
ordinal Order index of the camera feed
sources Array of stream URLs

Examples

Request

https://ivstest1.ad.ipivs.com/api/v3/records/616?access_token=e82632d19c523678fea3d1016c6df9e9

Successful VALT 5 Response

Sample response is shown with line breaks to make it more readable. Actual responses will not include line breaks.

{
"data":{
"id": 616,
"name": "Test",
"created": 1586358993,
"author":{
"id": 1,
"name": "admin"
},
"type": "record",
"duration": 399,
"room":{
"id": 59,
"name": "Jared Test"
},
"cameras":{
"89": "Jared Test"
},
"sharing":{
"groups":[],
"users":[]
},
"retention":{
"type": "inherit"
},
"markers":[
{
"id": 33,
"event": "API Marker",
"time": -3,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 32,
"event": "API Marker",
"time": 0,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 21,
"event": "Test",
"time": 24,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 35,
"event": "API Marker",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 36,
"event": "API Marker",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 37,
"event": "API Marker",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 38,
"event": "API Marker 1",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 39,
"event": "API Marker 1",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[{"Marker Name": "12345678" }]
},
{
"id": 40,
"event": "API Marker 2",
"time": 30,
"color": "red",
"hex_color": "#ff0000",
"template":[{"Marker Name": "12345678" }]
},
{
"id": 22,
"event": "Test 2",
"time": 98,
"color": "white",
"hex_color": "#ffffff",
"template":[]
},
{
"id": 31,
"event": "API Marker",
"time": 120,
"color": "red",
"hex_color": "#ff0000",
"template":[]
},
{
"id": 23,
"event": "Test 3",
"time": 157,
"color": "grey",
"hex_color": "#bcbcbc",
"template":[]
},
{
"id": 24,
"event": "Test 4",
"time": 240,
"color": "yellow",
"hex_color": "#ebeb00",
"template":[]
},
{
"id": 25,
"event": "Test 5",
"time": 249,
"color": "pink",
"hex_color": "#ff78f4",
"template":[]
},
{
"id": 26,
"event": "Test 6",
"time": 271,
"color": "turquoise",
"hex_color": "#00f2ff",
"template":[]
},
{
"id": 27,
"event": "Test 7",
"time": 271,
"color": "neon",
"hex_color": "#3c8aff",
"template":[]
},
{
"id": 28,
"event": "Test 8",
"time": 280,
"color": "green",
"hex_color": "#00c400",
"template":[]
},
{
"id": 29,
"event": "Test 9",
"time": 280,
"color": "orange",
"hex_color": "#ff9428",
"template":[]
},
{
"id": 30,
"event": "Test",
"time": 301,
"color": "red",
"hex_color": "#ff0000",
"template":[{"Marker Name": "Test" }, {"Notes": "Test" }]
},
{
"id": 34,
"event": "API Marker",
"time": 123123124,
"color": "red",
"hex_color": "#ff0000",
"template":[]
}
],
"videos":[
{
"url": "https://ivstest1.ad.ipivs.com:444/vod/_definst_/mp4:valt_recordings/video/616/1_616_89.mp4/playlist.m3u8",
"id": 89,
"name": "Jared Test"
}
]
}
}

Successful VALT 6 Response

{
    "data": {
        "id": "effebbc1-9b6c-4f15-a758-5de0da0c9c7f",
        "name": "test",
        "type": "record",
        "created": 1747336910,
        "author": {
            "id": 1,
            "name": "admin"
        },
        "sharing": {
            "users": [
            ],
            "groups": [
            ]
        },
        "template": [
        ],
        "duration": 2,
        "room": {
            "id": 3,
            "name": "Talkback Room 1"
        },
        "cameras": {
            "4": "Talkback Camera 1",
            "6": "TW3364.ad.ipivs.com",
            "8": "TW5526.ad.ipivs.com",
            "9": "Q9307"
        },
        "retention": {
            "type": "inherit"
        },
        "comments": [
            {
                "taggedUserGroups": [
                ],
                "taggedUsers": [
                ],
                "commentFile": null,
                "audio": null,
                "parentId": null,
                "children": null,
                "id": 12,
                "message": "asdsa",
                "name": null,
                "author": {
                    "group": {
                        "id": 1,
                        "name": "Administrators",
                        "rooms": [
                            {
                                "id": 1,
                                "name": "ivssvdev1 Room",
                                "isOnline": true,
                                "recording": null,
                                "hasRecording": false,
                                "type": "room",
                                "preparedRecord": null,
                                "deviceIds": [
                                    1,
                                    6
                                ],
                                "motionDetection": null,
                                "isLocked": false,
                                "hasPreparedRecord": false,
                                "hasPausedRecording": false,
                                "priority": 2
                            },
                            {
                                "id": 3,
                                "name": "Talkback Room 1",
                                "isOnline": true,
                                "recording": null,
                                "hasRecording": false,
                                "type": "room",
                                "preparedRecord": null,
                                "deviceIds": [
                                    4,
                                    6,
                                    8,
                                    9
                                ],
                                "motionDetection": null,
                                "isLocked": false,
                                "hasPreparedRecord": false,
                                "hasPausedRecording": false,
                                "priority": 1
                            },
                            {
                                "id": 4,
                                "name": "Just a room",
                                "isOnline": false,
                                "recording": null,
                                "hasRecording": false,
                                "type": "room",
                                "preparedRecord": null,
                                "deviceIds": [
                                    1
                                ],
                                "motionDetection": {
                                    "enabled": false
                                },
                                "isLocked": false,
                                "hasPreparedRecord": false,
                                "hasPausedRecording": false,
                                "priority": 4
                            }
                        ],
                        "evaluationTemplates": [
                        ],
                        "informationTemplates": [
                            {
                                "id": 1,
                                "name": "Default information template",
                                "commentColor": "grey",
                                "fields": [
                                ],
                                "type": "info",
                                "isHidden": false,
                                "duration": null,
                                "isUsed": true
                            },
                            {
                                "id": 2,
                                "name": "SV's Info Template",
                                "commentColor": "orange",
                                "fields": [
                                    {
                                        "id": 1,
                                        "type": "note",
                                        "title": "Note Field",
                                        "required": false,
                                        "defaultValue": "",
                                        "maxLength": 1024
                                    }
                                ],
                                "type": "info",
                                "isHidden": false,
                                "duration": null,
                                "isUsed": true
                            }
                        ],
                        "isDeleted": false,
                        "container": {
                            "id": 1,
                            "name": "Global",
                            "children": [
                                {
                                    "id": 2,
                                    "name": "Subcontainer 1",
                                    "children": [
                                    ]
                                }
                            ]
                        }
                    },
                    "showingName": "admin",
                    "groupIds": [
                        1
                    ],
                    "isDeleted": false,
                    "id": 1,
                    "username": "admin",
                    "displayName": null,
                    "avatarFilename": null
                },
                "updatedBy": null,
                "createdAt": "2025-05-15T14:21:58-05:00",
                "updatedAt": "2025-05-15T14:21:58-05:00",
                "recordTime": 1,
                "recordId": "effebbc1-9b6c-4f15-a758-5de0da0c9c7f",
                "templateId": null,
                "color": "orange",
                "templateData": null,
                "templatePreview": null,
                "type": "comment"
            }
        ],
        "videos": [
            {
                "id": "addb9ad4-0db9-4d09-a969-7e6bc0f610e5",
                "name": "Talkback Camera 1",
                "type": "camera",
                "status": {
                    "type": "ready"
                },
                "duration": 2,
                "rotation": 0,
                "hasAudio": true,
                "ordinal": 0,
                "sources": [
                    "https://ivssvdev1.ad.ipivs.com:444/vod/_definst_/mp4:records/video/effebbc1-9b6c-4f15-a758-5de0da0c9c7f/1_effebbc1-9b6c-4f15-a758-5de0da0c9c7f_4.mp4/playlist.m3u8?oYlDJcJYqUlgyn3JcjQDvlxwnRNlJB8m2pcrT6uRhash=IqR2tEQCcBdL5KhxJFuG1jyOctJpw6ilW77LY73N4JY="
                ]
            },
            {
                "id": "b70fb3cd-6a6d-4400-a1c3-4ccd828024b9",
                "name": "TW3364.ad.ipivs.com",
                "type": "camera",
                "status": {
                    "type": "ready"
                },
                "duration": 2,
                "rotation": 0,
                "hasAudio": true,
                "ordinal": 1,
                "sources": [
                    "https://ivssvdev1.ad.ipivs.com:444/vod/_definst_/mp4:records/video/effebbc1-9b6c-4f15-a758-5de0da0c9c7f/2_effebbc1-9b6c-4f15-a758-5de0da0c9c7f_6.mp4/playlist.m3u8?oYlDJcJYqUlgyn3JcjQDvlxwnRNlJB8m2pcrT6uRhash=wQYpUXwgI9hniSMOHGY157b0Buy9c4iZP3loeXQcVqs="
                ]
            },
            {
                "id": "fef001cd-be5f-472b-bbf9-70815fd49685",
                "name": "TW5526.ad.ipivs.com",
                "type": "camera",
                "status": {
                    "type": "ready"
                },
                "duration": 2,
                "rotation": 0,
                "hasAudio": true,
                "ordinal": 2,
                "sources": [
                    "https://ivssvdev1.ad.ipivs.com:444/vod/_definst_/mp4:records/video/effebbc1-9b6c-4f15-a758-5de0da0c9c7f/3_effebbc1-9b6c-4f15-a758-5de0da0c9c7f_8.mp4/playlist.m3u8?oYlDJcJYqUlgyn3JcjQDvlxwnRNlJB8m2pcrT6uRhash=UNU5lvEiXCPF2rHltS_9MKyGyeo9p0Bghy1v50lDi-o="
                ]
            },
            {
                "id": "cc9204e7-de2e-4a27-95dd-6cb0d57f5110",
                "name": "Q9307",
                "type": "camera",
                "status": {
                    "type": "ready"
                },
                "duration": 2,
                "rotation": 0,
                "hasAudio": true,
                "ordinal": 3,
                "sources": [
                    "https://ivssvdev1.ad.ipivs.com:444/vod/_definst_/mp4:records/video/effebbc1-9b6c-4f15-a758-5de0da0c9c7f/4_effebbc1-9b6c-4f15-a758-5de0da0c9c7f_9.mp4/playlist.m3u8?oYlDJcJYqUlgyn3JcjQDvlxwnRNlJB8m2pcrT6uRhash=JqVVmRpXeZY-UYBQGxT8XBRII13RP26lX_Y-EjV_86M="
                ]
            }
        ]
    }
}

Failure Response

{"error":{"code":401,"message":"No API key provided"}}