openapi: 3.2.0 info: title: Gumlet Live Stream Assets API description: Gumlet helps developers deliver online video and images. This API encompasses Gumlet Video, Image and Video Analytics functionality to help you build your products better and faster than ever before. version: '1.4' contact: name: Gumlet Support Team url: https://www.gumlet.com/contact/ email: support@gumlet.com termsOfService: https://www.gumlet.com/terms/ license: name: Apache 2.0 url: https://opensource.org/license/apache-2.0 x-scalar-sdk-installation: - lang: TypeScript description: '```sh npm install @gumlet/nodejs-sdk ```' - lang: Python description: '```sh pip install gumlet ```' servers: - url: https://api.gumlet.com/v1 security: - API_KEY: [] tags: - name: Live Stream Assets description: Create, control, and monitor live stream assets. paths: /video/live/assets: post: summary: Create Live Asset description: A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint creates a live streaming asset allowing users to live stream a video that will be pushed to Gumlet. operationId: create-live-asset requestBody: content: application/json: schema: type: object required: - live_source_id - resolution properties: live_source_id: type: string description: Gumlet live video source/collection id. resolution: type: string description: 'Required resolutions in HLS delivery format for live stream. Can be an array of string out of the following values: `240p`, `360p`, `480p`, `540p`, `720p`, and `1080p`. Resized rendition will retain the input aspect ratio.' title: type: string description: Your live stream asset title mp4_access: type: boolean description: Creates MP4 version for download purpose. orientation: type: string enum: - landscape - potrait start_at: type: string format: date-time responses: '200': description: '200' content: application/json: examples: Result: value: status: created stream_key: 68c3da5947f9ad0c0d513fe3 live_asset_id: 68c3da5947f9ad0c0d513fe2 live_video_source_id: 67e4ecea403562dbea654269 input: resolution: - 360p - 480p - 720p - 240p - 1080p title: gumlet-stream stream_url: rtmp://44.245.28.195:1935/app/68c3da5947f9ad0c0d513fe3 output: playback_url: https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/main.m3u8 recording_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c3da5947f9ad0c0d513fe4/main.m3u8 recording_dash_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c3da5947f9ad0c0d513fe4/main.mpd vod_asset_id: 68c3da5947f9ad0c0d513fe4 created_at: 1757665882451 updated_at: 1757665882451 schema: type: object properties: status: type: string example: created stream_key: type: string example: 619231610822a81d955d22f4 live_asset_id: type: string example: 619231610822a81d955d22f3 live_video_source_id: type: string example: 6165247368d80232d28d4379 input: type: object properties: resolution: type: array items: type: string example: 720p title: type: string stream_url: type: string example: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: type: object properties: playback_url: type: string example: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 recording_playback_url: type: string recording_dash_playback_url: type: string thumbnail: type: object properties: preparing: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-preparing.png disconnected: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-disconnected.png end: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c3da5947f9ad0c0d513fe2/thumbnail-end.png created_at: type: integer example: 1636970849188 default: 0 updated_at: type: integer example: 1636970849188 default: 0 vod_asset_id: type: string '400': description: Bad Request content: application/json: examples: Result: value: error: code: parameter_missing message: One or more required values are missing. schema: type: object properties: error: type: object properties: code: type: string example: parameter_missing message: type: string example: One or more required values are missing. required: - code - message required: - error '401': description: '401' content: application/json: examples: Result: value: error: code: source_not_found message: Could not find any video source with specified source ID. schema: type: object properties: error: type: object properties: code: type: string example: source_not_found message: type: string example: Could not find any video source with specified source ID. '403': description: Forbidden — monthly live streaming quota exceeded content: application/json: examples: Result: value: error: code: live_stream_monthly_usage_quota_exceeded message: You have already exceeded your monthly quota for live streaming usage. Please upgrade your plan. schema: type: object properties: error: type: object properties: code: type: string example: live_stream_monthly_usage_quota_exceeded message: type: string example: You have already exceeded your monthly quota for live streaming usage. Please upgrade your plan. required: - code - message required: - error '422': $ref: '#/components/responses/ValidationError' deprecated: false tags: - Live Stream Assets x-stoplight: id: cka42lfc4c8hf x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.create({\n live_source_id: '',\n resolution: '',\n});\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.create(\n live_source_id=\"\",\n resolution=\"\",\n)\n\nprint(live_stream_asset)" /video/live/assets/update: post: summary: Update Live Asset description: A live asset refers to media content/video that is live-streamed through Gumlet. This endpoint allows users to update a live streaming asset. operationId: create-live-asset-copy requestBody: content: application/json: schema: type: object required: - live_asset_id properties: live_asset_id: type: string description: Gumlet live video asset id. title: type: string description: Your live stream asset title start_at: type: string format: date-time description: '' responses: '200': description: '200' content: application/json: examples: Result: value: status: created stream_key: 68c6d4b8d2b638a10ef3e044 live_asset_id: 68c6d4b8d2b638a10ef3e043 live_video_source_id: 67e4ecea403562dbea654269 input: resolution: - 360p - 480p - 720p title: gumlet-stream-1-edited stream_url: rtmp://52.11.39.160:1935/app/68c6d4b8d2b638a10ef3e044 output: playback_url: https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/main.m3u8 recording_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c6d4b8d2b638a10ef3e045/main.m3u8 recording_dash_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c6d4b8d2b638a10ef3e045/main.mpd vod_asset_id: 68c6d4b8d2b638a10ef3e045 created_at: 1757861049778 updated_at: 1757861101257 schema: type: object properties: status: type: string example: created stream_key: type: string example: 619231610822a81d955d22f4 live_asset_id: type: string example: 619231610822a81d955d22f3 live_video_source_id: type: string example: 6165247368d80232d28d4379 input: type: object properties: resolution: type: array items: type: string example: 720p title: type: string stream_url: type: string example: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: type: object properties: playback_url: type: string example: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 recording_playback_url: type: string recording_dash_playback_url: type: string thumbnail: type: object properties: preparing: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-preparing.png disconnected: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-disconnected.png end: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c6d4b8d2b638a10ef3e043/thumbnail-end.png created_at: type: integer example: 1636970849188 default: 0 updated_at: type: integer example: 1636970849188 default: 0 vod_asset_id: type: string '400': description: Bad Request content: application/json: examples: Result: value: error: code: parameter_missing message: One or more required values are missing. schema: type: object properties: error: type: object properties: code: type: string example: parameter_missing message: type: string example: One or more required values are missing. required: - code - message required: - error '401': description: '401' content: application/json: examples: Result: value: error: code: source_not_found message: Could not find any video source with specified source ID. schema: type: object properties: error: type: object properties: code: type: string example: source_not_found message: type: string example: Could not find any video source with specified source ID. '403': $ref: '#/components/responses/Forbidden' '404': description: Not Found content: application/json: examples: Result: value: error: code: live_asset_not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Live Video Asset not found. required: - code - message required: - error deprecated: false tags: - Live Stream Assets x-stoplight: id: 5728lo8oym6rd x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.update({\n live_asset_id: '',\n});\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.update(\n live_asset_id=\"\",\n)\n\nprint(live_stream_asset)" /video/live/assets/{live_asset_id}: get: summary: Get Live Asset Status description: This endpoint retrieves the details of a live video asset that has previously been created. operationId: get-live-asset-status parameters: - name: live_asset_id in: path description: A live asset id for the previously created asset. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: status: disconnected stream_key: 68c406b147f9ad0c0d584ce3 live_asset_id: 68c406b147f9ad0c0d584ce2 live_video_source_id: 67e4ecea403562dbea654269 input: resolution: - 720p title: gumlet-stream stream_url: rtmp://44.231.82.146:1935/app/68c406b147f9ad0c0d584ce3 output: playback_url: https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/main.m3u8 recording_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c406b147f9ad0c0d584ce4/main.m3u8 recording_dash_playback_url: https://video.gumlet.io/6867815b6410daa283f85532/68c406b147f9ad0c0d584ce4/main.mpd thumbnail: disconnected: https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png vod_asset_id: 68c406b147f9ad0c0d584ce4 created_at: 1757677234093 updated_at: 1757677327882 schema: type: object properties: status: type: string example: created stream_key: type: string example: 619231610822a81d955d22f4 live_asset_id: type: string example: 619231610822a81d955d22f3 live_video_source_id: type: string example: 6165247368d80232d28d4379 input: type: object properties: resolution: type: array items: type: string example: 720p title: type: string stream_url: type: string example: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: type: object properties: playback_url: type: string example: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 recording_playback_url: type: string recording_dash_playback_url: type: string thumbnail: type: object properties: preparing: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-preparing.png disconnected: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png end: type: string example: https://stream.gumlet.io/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-end.png created_at: type: integer example: 1636970849188 default: 0 updated_at: type: integer example: 1636970849188 default: 0 vod_asset_id: type: string '400': description: Bad Request content: application/json: examples: Result: value: error: code: live_asset_not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Live Video Asset not found. required: - code - message required: - error '401': description: '401' content: application/json: examples: Result: value: error: code: live_asset_not_found message: Could not find any live video asset with specified asset_id. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Could not find any live video asset with specified asset_id. '403': $ref: '#/components/responses/Forbidden' deprecated: false tags: - Live Stream Assets x-stoplight: id: 29sodii3xa4fn x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.retrieveStatus('liveAssetId');\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.retrieve_status(\n live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)" delete: summary: Delete Live Asset description: This endpoint removes a live asset given its unique live asset id. The live asset will be removed from storage as well, associated URLs will be inaccessible. operationId: delete-live-asset parameters: - name: live_asset_id in: path description: Live asset id of the live asset which needs to be deleted. schema: type: string required: true responses: '204': description: '204' content: application/json: examples: Result: value: {} schema: type: object properties: {} '400': description: Bad Request — invalid live asset content: application/json: examples: Result: value: error: code: live_asset_not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Live Video Asset not found. required: - code - message required: - error '401': description: Unauthorized — live stream cannot be deleted in preparing state content: application/json: examples: Result: value: error: code: livestream_can_not_be_deleted message: The live stream cannot be deleted while in the preparing state. schema: type: object properties: error: type: object properties: code: type: string example: livestream_can_not_be_deleted message: type: string example: The live stream cannot be deleted while in the preparing state. required: - code - message required: - error '403': $ref: '#/components/responses/Forbidden' deprecated: false tags: - Live Stream Assets x-stoplight: id: ual1t8bmdt647 x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.delete('liveAssetId');\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.delete(\n live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)" /video/live/assets/{live_asset_id}/complete: post: summary: Complete Live Stream description: This endpoint allows marking live assets complete. Once the live asset is marked complete, it can no longer be used to ingest the live stream on Gumlet. operationId: complete-live-stream parameters: - name: live_asset_id in: path description: Live asset id of the live stream which needs to be completed. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: {} schema: type: object properties: {} '400': description: Bad Request — invalid live asset content: application/json: examples: Result: value: error: code: live_asset_not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Live Video Asset not found. required: - code - message required: - error '401': description: Unauthorized — live stream cannot be completed in preparing state content: application/json: examples: Result: value: error: code: livestream_can_not_be_completed message: The live stream cannot be completed while in the preparing state. schema: type: object properties: error: type: object properties: code: type: string example: livestream_can_not_be_completed message: type: string example: The live stream cannot be completed while in the preparing state. required: - code - message required: - error '403': $ref: '#/components/responses/Forbidden' deprecated: false tags: - Live Stream Assets x-stoplight: id: pe5lhtkmzix7d x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.complete('liveAssetId');\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.complete(\n live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)" /video/live/assets/list/{live_source_id}: get: summary: Filter Live Assets description: This endpoint lists live assets on the basis of `status` for the given `live_source_id`. operationId: filter-live-assets parameters: - name: live_source_id in: path description: Gumlet live source/collection id. schema: type: string required: true - name: status in: query description: To filter live assets on the basis of their current status. Can be specified as a single status value string or comma-separated status values. The status value can be one of `created`, `active`, `complete`, `disconnected`, `errored`, and `deleted`. schema: type: string - name: offset in: query description: Offset value for a paginated list of assets. schema: type: integer format: int32 - name: size in: query description: Page size for the paginated list. schema: type: integer format: int32 responses: '200': description: '200' content: application/json: examples: Result: value: all_live_assets: - status: complete stream_key: 68b671c1373a93b5103e1f9b live_asset_id: 68b671c1373a93b5103e1f9a live_video_source_id: 68678418fc386bd77fd5c689 input: resolution: - 360p - 480p - 720p - 1080p title: gumlet-stream stream_url: rtmp://44.241.193.188:1935/app/68b671c1373a93b5103e1f9b output: playback_url: https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/main.m3u8 recording_playback_url: https://video.gumlet.io/68678419fc386bd77fd5c69c/68b671c1373a93b5103e1f9c/main.m3u8 recording_dash_playback_url: https://video.gumlet.io/68678419fc386bd77fd5c69c/68b671c1373a93b5103e1f9c/main.mpd vod_asset_id: 68b671c1373a93b5103e1f9c start_at: 1756787280000 created_at: 1756787138405 updated_at: 1756787392403 - status: deleted stream_key: 686784192f7f889f3d149bdb live_asset_id: 686784192f7f889f3d149bda live_video_source_id: 68678418fc386bd77fd5c689 input: resolution: - 240p - 360p - 480p - 720p - 1080p title: gumlet-live-stream stream_url: rtmp://44.250.15.141:1935/app/686784192f7f889f3d149bdb created_at: 1751614490873 updated_at: 1751700918544 deleted_at: 1751700918543 total_live_asset_count: 2 current_offset: 2 schema: type: object properties: all_live_assets: type: array items: type: object properties: status: type: string example: created stream_key: type: string example: 619231610822a81d955d22f4 live_asset_id: type: string example: 619231610822a81d955d22f3 live_video_source_id: type: string example: 6165247368d80232d28d4379 input: type: object properties: resolution: type: array items: type: string example: 720p title: type: string stream_url: type: string example: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: type: object properties: playback_url: type: string example: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 recording_playback_url: type: string recording_dash_playback_url: type: string thumbnail: type: object properties: preparing: type: string example: https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-preparing.png disconnected: type: string example: https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-disconnected.png end: type: string example: https://stream.gumlet.io/68678418fc386bd77fd5c689/68b671c1373a93b5103e1f9a/thumbnail-end.png created_at: type: integer example: 1636970849188 default: 0 updated_at: type: integer example: 1636970849188 default: 0 deleted_at: type: integer total_live_asset_count: type: integer example: 5 default: 0 current_offset: type: integer example: 5 default: 0 '400': description: Bad Request content: application/json: examples: Result: value: error: code: source_not_found message: Could not find any video source with the specified source_id. schema: type: object properties: error: type: object properties: code: type: string example: source_not_found message: type: string example: Could not find any video source with the specified source_id. required: - code - message required: - error '401': description: '401' content: application/json: examples: Result: value: error: code: live_source_not_found message: Could not find any live video source with specified source ID. schema: type: object properties: error: type: object properties: code: type: string example: live_source_not_found message: type: string example: Could not find any live video source with specified source ID. '403': $ref: '#/components/responses/Forbidden' deprecated: false tags: - Live Stream Assets x-stoplight: id: v569z8svqfd5g x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.filter('liveSourceId');\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.filter(\n live_source_id=\"liveSourceId\",\n)\n\nprint(live_stream_asset)" /video/live/assets/{live_asset_id}/start: post: description: Start a live stream. operationId: start-live responses: '200': description: '' content: application/json: examples: New Example: summary: New Example value: status: preparing stream_key: 684aaf3179ee5275ba12c684 live_asset_id: 684caf2179ee5277ba13c683 live_video_source_id: 654c7d41f5f3302c85dd7bc3 input: resolution: - 360p - 480p title: demo stream_url: rtmp://14.23.65.56:1935/app/684aaf3179ee5275ba12c684 output: playback_url: https://stream.gumlet.io/654c7d41f5f3302c85dd7bc3/684caf2179ee5277ba13c683/main.m3u8 recording_playback_url: https://video.gumlet.io/654c7d41f5f3302c85dd7bc3/684aaf3179ee5255ba13c685/main.m3u8 recording_dash_playback_url: https://video.gumlet.io/654c7d41f5f3302c85dd7bc3/684aaf3179ee5255ba13c685/main.mpd thumbnail: preparing: https://stream.gumlet.io/654c7d41f5f3302c85dd7bc3/684caf2179ee5277ba13c683/thumbnail-preparing.png vod_asset_id: 684aaf3179ee5255ba13c685 created_at: 1749724978564 updated_at: 1749725090495 '400': description: Bad Request content: application/json: examples: Result: value: error: code: unable_to_start_live_asset message: Could not start live asset. schema: type: object properties: error: type: object properties: code: type: string example: unable_to_start_live_asset message: type: string example: Could not start live asset. required: - code - message required: - error '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' parameters: - in: path name: live_asset_id description: List asset id for which the stream needs to start. schema: type: string required: true tags: - Live Stream Assets x-stoplight: id: 1bk7v7srb4xnu x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nawait client.liveStreamAssets.start('liveAssetId');" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nclient.live_stream_assets.start(\n live_asset_id=\"liveAssetId\",\n)" summary: Start live x-summary-source: derived /video/live/assets/thumbnail/upload: post: summary: Upload Live Thumbnails description: Generate presigned upload URLs for live stream thumbnails. Supported thumbnail states are `preparing`, `disconnected`, and `end`. operationId: thumbnail-upload-live requestBody: content: application/json: schema: type: object required: - live_asset_id - statuses properties: live_asset_id: type: string description: Gumlet live video asset id. statuses: description: Thumbnail states to upload. You can send an array or a comma-separated string. oneOf: - type: array items: type: string enum: - preparing - disconnected - end - type: string example: preparing,disconnected examples: Request Example: value: live_asset_id: 68c406b147f9ad0c0d584ce2 statuses: - preparing - disconnected responses: '200': description: '200' content: application/json: examples: Result: value: message: Upload URLs issued. presigned_upload_urls: preparing: https://gumlet-live-user-uploads.s3.amazonaws.com/live/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-preparing.png?signature=... disconnected: https://gumlet-live-user-uploads.s3.amazonaws.com/live/67e4ecea403562dbea654269/68c406b147f9ad0c0d584ce2/thumbnail-disconnected.png?signature=... schema: type: object properties: message: type: string example: Upload URLs issued. presigned_upload_urls: type: object properties: preparing: type: string disconnected: type: string end: type: string '400': description: Bad Request content: application/json: examples: Result: value: error: code: invalid_parameter message: 'Provide at least one valid status in "statuses". Allowed: preparing, disconnected, end.' schema: type: object properties: error: type: object properties: code: type: string example: invalid_parameter message: type: string example: 'Provide at least one valid status in "statuses". Allowed: preparing, disconnected, end.' required: - code - message required: - error '401': $ref: '#/components/responses/Unauthorized' '403': description: '403' content: application/json: examples: Result: value: error: code: live_asset_not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Live Video Asset not found. '404': description: Not Found content: application/json: examples: Result: value: error: code: not_found message: Live Video Asset not found. schema: type: object properties: error: type: object properties: code: type: string example: not_found message: type: string example: Live Video Asset not found. required: - code - message required: - error '500': $ref: '#/components/responses/InternalServerError' deprecated: false tags: - Live Stream Assets x-stoplight: id: 63zbin0vn1ydw x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.upload({\n live_asset_id: '68c406b147f9ad0c0d584ce2',\n statuses: ['preparing', 'disconnected'],\n});\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.upload(\n live_asset_id=\"68c406b147f9ad0c0d584ce2\",\n statuses=\"preparing\",\n)\n\nprint(live_stream_asset)" /video/live/assets/{live_asset_id}/history: get: summary: Get Live Asset Status History description: This endpoint retrieves the history of a live video asset that has previously been created. operationId: asset-status-history parameters: - name: live_asset_id in: path description: A live asset id for the previously created asset. schema: type: string required: true responses: '200': description: '200' content: application/json: examples: Result: value: status: created stream_key: 619231610822a81d955d22f4 live_asset_id: 619231610822a81d955d22f3 live_video_source_id: 6165247368d80232d28d4379 input: resolution: - 720p stream_url: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: playback_url: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 created_at: 1636970849188 updated_at: 1636970849188 schema: type: object properties: status: type: string example: created stream_key: type: string example: 619231610822a81d955d22f4 live_asset_id: type: string example: 619231610822a81d955d22f3 live_video_source_id: type: string example: 6165247368d80232d28d4379 input: type: object properties: resolution: type: array items: type: string example: 720p stream_url: type: string example: rtmp://livestream-ingest.gumlet.io:1935/app/619231610822a81d955d22f4 output: type: object properties: playback_url: type: string example: https://video.gumlet.io/6165247368d80232d28d4379/619231610822a81d955d22f3/master.m3u8 created_at: type: integer example: 1636970849188 default: 0 updated_at: type: integer example: 1636970849188 default: 0 '400': description: Bad Request content: application/json: examples: Result: value: error: code: asset_history_not_found message: Could not find status history for the specified live asset. schema: type: object properties: error: type: object properties: code: type: string example: asset_history_not_found message: type: string example: Could not find status history for the specified live asset. required: - code - message required: - error '401': description: '401' content: application/json: examples: Result: value: error: code: live_asset_not_found message: Could not find any live video asset with specified asset_id. schema: type: object properties: error: type: object properties: code: type: string example: live_asset_not_found message: type: string example: Could not find any live video asset with specified asset_id. '403': $ref: '#/components/responses/Forbidden' deprecated: false tags: - Live Stream Assets x-stoplight: id: x23u8u11y6gic x-codeSamples: - label: TypeScript lang: TypeScript source: "import Gumlet from '@gumlet/nodejs-sdk';\n\nconst client = new Gumlet({\n apiKey: process.env['API_KEY'], // defaults to the API_KEY env var\n});\n\nconst liveStreamAsset = await client.liveStreamAssets.statusHistory('liveAssetId');\n\nconsole.log(liveStreamAsset);" - label: Python lang: Python source: "import os\n\nfrom gumlet import Gumlet\n\nclient = Gumlet(\n api_key=os.environ.get(\"API_KEY\"),\n)\n\nlive_stream_asset = client.live_stream_assets.status_history(\n live_asset_id=\"liveAssetId\",\n)\n\nprint(live_stream_asset)" components: responses: ValidationError: description: Unprocessable Entity — request validation failed content: application/json: examples: Result: value: error: code: invalid_parameter message: body must have required property '' schema: $ref: '#/components/schemas/Error' InternalServerError: description: Internal Server Error content: application/json: examples: Result: value: error: code: internal_server_error message: We have encountered some server error. We have been notified and will fix it soon. schema: $ref: '#/components/schemas/Error' Unauthorized: description: Unauthorized — missing or invalid API key / bearer token content: application/json: examples: Result: value: error: code: invalid_api_key message: API key supplied with request is invalid schema: $ref: '#/components/schemas/Error' Forbidden: description: Forbidden — unpaid account or insufficient role permissions content: application/json: examples: Result: value: error: code: unauthorized message: You don't have access to this feature. Please contact your organization owner. schema: $ref: '#/components/schemas/Error' schemas: Error: type: object required: - error properties: error: type: object required: - code - message properties: code: type: string description: Machine-readable error code message: type: string description: Human-readable error message param: type: string description: Optional parameter name related to the error securitySchemes: API_KEY: type: http scheme: bearer x-tagGroups: - name: Video on Demand tags: - Video Assets - Global Search - Multipart Upload - Audio Upload - Subtitle Upload - Recycle Bin - Video Workspaces - Folders - Video Playlists - Channel Viewers - Video Usage Analytics - Video Profiles - Webhooks - name: Live Streams tags: - Live Stream Workspaces - Live Stream Assets - Live Stream Analytics - name: Image APIs tags: - Image Sources - Image Usage Analytics - name: Video Analytics tags: - Video Analytics - name: Webhooks tags: - Webhooks - name: Account Endpoints tags: - User Data - Billing - Organization Data - Audit Logs x-ext-urls: {}