List Multimedia
This endpoint allows you to retrieve a paginated list of multimedia items with various filtering options. You can filter by name, status, and content type, and control the pagination parameters.
🔹 Endpoint Details
GET /api/v1/multimedia
🔒 Authentication
Header | Required | Description |
---|---|---|
Content-Type | Yes | Must be application/json |
Authorization | Yes | Format: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature |
📝 Query Parameters
Parameter | Type | Required | Description | Default |
---|---|---|---|---|
page | number | No | Page number for pagination | 1 |
limit | number | No | Number of items per page | 10 |
name | string | No | Filter by name (partial match) | - |
status | enum | No | Filter by status | - |
type | string[] | No | Filter by content type(s) | - |
🧩 Request Examples
Basic List Request
curl -X GET "https://openapi.onlive.site/api/v1/multimedia" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature"
Filtered List Request
curl -X GET "https://openapi.onlive.site/api/v1/multimedia?page=1&limit=5&status=ready&type=video,image&name=product" \
-H "Content-Type: application/json" \
-H "Authorization: ONLIVESITE Credential:ONLIVEAccessKeyId, Signature=CalculatedSignature"
📤 Response Format
Success Response (200 OK)
{
"data": [
{
"id": "7a1c8d4b-3f2e-5697-9a8b-106c4d8e7f9a",
"createdAt": "2025-05-28T14:30:45.123Z",
"updatedAt": "2025-05-28T14:30:45.123Z",
"organizationId": "9b8c7d6e-5f4a-3215-b9a8-c7d6e5f4a321",
"name": "Interactive 3D Experience",
"description": "Immersive product demonstration with interactive elements",
"url": "https://example.com/immersive/product-demo",
"format": "application/immersive",
"status": "ready",
"app": {
"type": "browser",
"source": {
"url": "https://example.com/app/source",
"security": "oauth2"
},
"resource": "/path/to/resource",
"args": "lang=en&theme=dark"
},
"coverVideo": {
"id": "5a4b3c2d-1e2f-3g4h-5i6j-7k8l9m0n1o2p",
"url": "https://example.com/videos/cover-123.mp4",
"format": "mp4",
"size": 1048576,
"duration": 30
},
"environment": {
"region": "us-east-1",
"encoding": "h264"
},
"options": {
"usePixelStreaming": true,
"timeout": 30000,
"showBooking": true,
"showRegister": true
}
},
{
"id": "8b2d9e5c-4f3g-6h7i-8j9k-1l2m3n4o5p6q",
"createdAt": "2025-05-27T10:15:30.456Z",
"updatedAt": "2025-05-27T11:20:35.789Z",
"organizationId": "9b8c7d6e-5f4a-3215-b9a8-c7d6e5f4a321",
"name": "Product Demo Video",
"description": "A detailed product demonstration video with feature highlights",
"url": "https://example.com/multimedia/video-123.mp4",
"format": "video/mp4",
"status": "ready",
"size": 5242880,
"duration": 300,
"environment": {},
"options": {
"showBooking": true,
"showRegister": true
}
}
],
"meta": {
"page": 1,
"limit": 10,
"totalItems": 2,
"totalPages": 1
}
}
❌ Error Responses
400 Bad Request
{
"statusCode": 400,
"message": "Invalid parameter",
"errors": [
{
"field": "limit",
"message": "limit must be a positive number"
}
]
}
403 Forbidden
{
"statusCode": 403,
"message": "Insufficient permissions to list multimedia content"
}
📘 Notes
- Results are paginated with default limit of 10 items per page
- Only multimedia items within your organization are returned
- The
status
parameter accepts values: "ready", "need_action", "error" - The
type
parameter can be a comma-separated list of: "image", "video", "audio", "presentation", "immersive" - Name filtering performs partial matching (case-insensitive)
- Results are typically sorted by creation date (newest first)
- Metadata for large collections is returned without the actual binary content
- Response includes pagination metadata for navigating through results
💡 Best Practices
-
Pagination
- Use reasonable page sizes (10-25 items) for optimal performance
- Implement pagination controls in your UI
-
Filtering
- Use specific filters to reduce result size
- Combine multiple filters for precise queries
-
Performance
- Request only necessary pages
- Use list results as a reference and fetch full details only when needed
- Consider implementing infinite scroll for large collections