---
title: "POST video.live_stream.created"
method: POST
path: "video.live_stream.created"
---

# POST video.live_stream.created

`POST video.live_stream.created` (webhook)

## Payload

- object
  - `type` 'video.live_stream.created', required — Type for the webhook event
  - `id` string, required — Unique identifier for the event
  - `created_at` string, date-time, required — Time the event was created
  - `object` object, required
    - `type` string, required
    - `id` string, required
  - `environment` object, required
    - `name` string, required — Name for the environment
    - `id` string, required — Unique identifier for the environment
  - `attempts` object[], required — Attempts for sending out the webhook event
    - `webhook_id` integer — Unique identifier for the webhook
    - `response_status_code` integer — HTTP response status code for the webhook attempt
    - `response_headers` object — HTTP response headers for the webhook attempt
    - `response_body` string, nullable — HTTP response body for the webhook attempt
    - `max_attempts` integer — Max attempts number for the webhook attempt
    - `id` string — Unique identifier for the webhook attempt
    - `created_at` string, date-time — Time the webhook request was attempted
    - `address` string — URL address for the webhook attempt
  - `request_id` string, nullable
  - `accessor` string, nullable
  - `accessor_source` string, nullable
  - `data` object, required
    - `id` string, required — Unique identifier for the Live Stream. Max 255 characters.
    - `created_at` integer, required
    - `stream_key` string, required — Unique key used for streaming to a Mux RTMP endpoint. This should be considered as sensitive as credentials, anyone with this stream key can begin streaming. Max 64 characters.
    - `active_asset_id` string — The Asset that is currently being created if there is an active broadcast.
    - `recent_asset_ids` string[] — An array of strings with the most recent Asset IDs that were created from this Live Stream. The most recently generated Asset ID is the last entry in the list.
    - `status` 'active' | 'idle' | 'disabled', required — `idle` indicates that there is no active broadcast. `active` indicates that there is an active broadcast and `disabled` status indicates that no future RTMP streams can be published.
    - `playback_ids` object[] — An array of Playback ID objects. Use these to create HLS playback URLs. See [Play your videos](https://docs.mux.com/guides/play-your-videos) for more details.
      - `id` string, required — Unique identifier for the PlaybackID
      - `policy` 'public' | 'signed' | 'drm', required — * `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}` * `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens. * `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).
      - `drm_configuration_id` string — The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.
    - `new_asset_settings` object
      - `inputs` object[] — An array of objects that each describe an input file to be used to create the asset. As a shortcut, input can also be a string URL for a file when only one input file is used. See `input[].url` for requirements.
        - `url` string — The URL of the file that Mux should download and use. * For the main input file, this should be the URL to the muxed file for Mux to download, for example an MP4, MOV, MKV, or TS file. Mux supports most audio/video file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/minimize-processing-time). * For `audio` tracks, the URL is the location of the audio file for Mux to download, for example an M4A, WAV, or MP3 file. Mux supports most audio file formats and codecs, but for fastest processing, you should [use standard inputs wherever possible](https://docs.mux.com/guides/minimize-processing-time). * For `text` tracks, the URL is the location of subtitle/captions file. Mux supports [SubRip Text (SRT)](https://en.wikipedia.org/wiki/SubRip) and [Web Video Text Tracks](https://www.w3.org/TR/webvtt1/) formats for ingesting Subtitles and Closed Captions. * For Watermarking or Overlay, the URL is the location of the watermark image. The maximum size is 4096x4096. * When creating clips from existing Mux assets, the URL is defined with `mux://assets/{asset_id}` template where `asset_id` is the Asset Identifier for creating the clip from. The url property may be omitted on the first input object when providing asset settings for LiveStream and Upload objects, in order to configure settings related to the primary (live stream or direct upload) input.
        - `overlay_settings` object — An object that describes how the image file referenced in URL should be placed over the video (i.e. watermarking). Ensure that the URL is active and persists the entire lifespan of the video object.
          - `vertical_align` 'top' | 'middle' | 'bottom' — Where the vertical positioning of the overlay/watermark should begin from. Defaults to `"top"`
          - `vertical_margin` string — The distance from the vertical_align starting point and the image's closest edge. Can be expressed as a percent ("10%") or as a pixel value ("100px"). Negative values will move the overlay offscreen. In the case of 'middle', a positive value will shift the overlay towards the bottom and and a negative value will shift it towards the top.
          - `horizontal_align` 'left' | 'center' | 'right' — Where the horizontal positioning of the overlay/watermark should begin from.
          - `horizontal_margin` string — The distance from the horizontal_align starting point and the image's closest edge. Can be expressed as a percent ("10%") or as a pixel value ("100px"). Negative values will move the overlay offscreen. In the case of 'center', a positive value will shift the image towards the right and and a negative value will shift it towards the left.
          - `width` string — How wide the overlay should appear. Can be expressed as a percent ("10%") or as a pixel value ("100px"). If both width and height are left blank the width will be the true pixels of the image, applied as if the video has been scaled to fit a 1920x1080 frame. If height is supplied with no width, the width will scale proportionally to the height.
          - `height` string — How tall the overlay should appear. Can be expressed as a percent ("10%") or as a pixel value ("100px"). If both width and height are left blank the height will be the true pixels of the image, applied as if the video has been scaled to fit a 1920x1080 frame. If width is supplied with no height, the height will scale proportionally to the width.
          - `opacity` string — How opaque the overlay should appear, expressed as a percent. (Default 100%)
        - `generated_subtitles` object[] — Generate subtitle tracks using automatic speech recognition with this configuration. Subtitles are generated using the audio of the input they are nested within. For direct uploads, this first input should omit the url parameter, as the main input file is provided via the direct upload. Note that subtitle generation happens after initial ingest, so the generated tracks will be in the `preparing` state when the asset transitions to `ready`.
          - `name` string — A name for this subtitle track.
          - `passthrough` string — Arbitrary metadata set for the subtitle track. Max 255 characters.
          - `language_code` 'en' | 'es' | 'it' | 'pt' | 'de' | 'fr' | 'pl' | 'ru' | 'nl' | 'ca' | 'tr' | 'sv' | 'uk' | 'no' | 'fi' | 'sk' | 'el' | 'cs' | 'hr' | 'da' | 'ro' | 'bg' | 'auto' — The language of the audio from which subtitles are generated. Selecting a language of "auto" will allow language detection to set the language code automatically.
        - `start_time` number, double — The time offset in seconds from the beginning of the video indicating the clip's starting marker. The default value is 0 when not included. This parameter is only applicable for creating clips when `input.url` has `mux://assets/{asset_id}` format.
        - `end_time` number, double — The time offset in seconds from the beginning of the video, indicating the clip's ending marker. The default value is the duration of the video when not included. This parameter is only applicable for creating clips when `input.url` has `mux://assets/{asset_id}` format.
        - `type` 'video' | 'audio' | 'text' — This parameter is required for `text` type tracks.
        - `text_type` 'subtitles' — Type of text track. This parameter only supports subtitles value. For more information on Subtitles / Closed Captions, [see this blog post](https://mux.com/blog/subtitles-captions-webvtt-hls-and-those-magic-flags/). This parameter is required for `text` type tracks.
        - `language_code` string — The language code value must be a valid [BCP 47](https://tools.ietf.org/html/bcp47) specification compliant value. For example, `en` for English or `en-US` for the US version of English. This parameter is required for `text` and `audio` track types.
        - `name` string — The name of the track containing a human-readable description. This value must be unique within each group of `text` or `audio` track types. The HLS manifest will associate a subtitle text track with this value. For example, the value should be "English" for a subtitle text track with `language_code` set to `en`. This optional parameter should be used only for `text` and `audio` type tracks. This parameter can be optionally provided for the first video input to denote the name of the muxed audio track if present. If this parameter is not included, Mux will auto-populate based on the `input[].language_code` value.
        - `closed_captions` boolean — Indicates the track provides Subtitles for the Deaf or Hard-of-hearing (SDH). This optional parameter should be used for tracks with `type` of `text` and `text_type` set to `subtitles`.
        - `passthrough` string — This optional parameter should be used for tracks with `type` of `text` and `text_type` set to `subtitles`.
      - `playback_policies` string[] — An array of playback policy names that you want applied to this asset and available through `playback_ids`. Options include: * `"public"` (anyone with the playback URL can stream the asset). * `"signed"` (an additional access token is required to play the asset). If no `playback_policies` are set, the asset will have no playback IDs and will therefore not be playable. For simplicity, a single string name can be used in place of the array in the case of only one playback policy.
      - `advanced_playback_policies` object[] — An array of playback policy objects that you want applied to this asset and available through `playback_ids`. `advanced_playback_policies` must be used instead of `playback_policies` when creating a DRM playback ID.
        - `policy` 'public' | 'signed' | 'drm' — * `public` playback IDs are accessible by constructing an HLS URL like `https://stream.mux.com/${PLAYBACK_ID}` * `signed` playback IDs should be used with tokens `https://stream.mux.com/${PLAYBACK_ID}?token={TOKEN}`. See [Secure video playback](https://docs.mux.com/guides/secure-video-playback) for details about creating tokens. * `drm` playback IDs are protected with DRM technologies. [See DRM documentation for more details](https://docs.mux.com/guides/protect-videos-with-drm).
        - `drm_configuration_id` string — The DRM configuration used by this playback ID. Must only be set when `policy` is set to `drm`.
      - `per_title_encode` boolean
      - `passthrough` string — You can set this field to anything you want. It will be included in the asset details and related webhooks. If you're looking for more structured metadata, such as `title` or `external_id`, you can use the `meta` object instead. **Max: 255 characters**.
      - `mp4_support` 'none' | 'standard' | 'capped-1080p' | 'audio-only' | 'audio-only,capped-1080p' — Deprecated. See the [Static Renditions API](https://www.mux.com/docs/guides/enable-static-mp4-renditions) for the updated API. Specify what level of support for mp4 playback. You may not enable both `mp4_support` and `static_renditions`. * The `capped-1080p` option produces a single MP4 file, called `capped-1080p.mp4`, with the video resolution capped at 1080p. This option produces an `audio.m4a` file for an audio-only asset. * The `audio-only` option produces a single M4A file, called `audio.m4a` for a video or an audio-only asset. MP4 generation will error when this option is specified for a video-only asset. * The `audio-only,capped-1080p` option produces both the `audio.m4a` and `capped-1080p.mp4` files. Only the `capped-1080p.mp4` file is produced for a video-only asset, while only the `audio.m4a` file is produced for an audio-only asset. The `standard`(deprecated) option produces up to three MP4 files with different levels of resolution (`high.mp4`, `medium.mp4`, `low.mp4`, or `audio.m4a` for an audio-only asset). MP4 files are not produced for `none` (default). In most cases you should use our default HLS-based streaming playback (`{playback_id}.m3u8`) which can automatically adjust to viewers' connection speeds, but an mp4 can be useful for some legacy devices or downloading for offline playback. See the [Download your videos guide](https://docs.mux.com/guides/enable-static-mp4-renditions) for more information.
      - `normalize_audio` boolean — Normalize the audio track loudness level. This parameter is only applicable to on-demand (not live) assets.
      - `master_access` 'none' | 'temporary' — Specify what level (if any) of support for master access. Master access can be enabled temporarily for your asset to be downloaded. See the [Download your videos guide](https://docs.mux.com/guides/enable-static-mp4-renditions) for more information.
      - `test` boolean — Marks the asset as a test asset when the value is set to true. A Test asset can help evaluate the Mux Video APIs without incurring any cost. There is no limit on number of test assets created. Test asset are watermarked with the Mux logo, limited to 10 seconds, deleted after 24 hrs.
      - `max_resolution_tier` '1080p' | '1440p' | '2160p' — Max resolution tier can be used to control the maximum `resolution_tier` your asset is encoded, stored, and streamed at. If not set, this defaults to `1080p`.
      - `encoding_tier` 'smart' | 'baseline' | 'premium' — This field is deprecated. Please use `video_quality` instead. The encoding tier informs the cost, quality, and available platform features for the asset. The default encoding tier for an account can be set in the Mux Dashboard. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)
      - `video_quality` 'basic' | 'plus' | 'premium' — The video quality controls the cost, quality, and available platform features for the asset. The default video quality for an account can be set in the Mux Dashboard. This field replaces the deprecated `encoding_tier` value. [See the video quality guide for more details.](https://docs.mux.com/guides/use-video-quality-levels)
      - `static_renditions` object[] — An array of static renditions to create for this asset. You may not enable both `static_renditions` and `mp4_support (the latter being deprecated)`
        - `resolution` 'highest' | 'audio-only' | '2160p' | '1440p' | '1080p' | '720p' | '540p' | '480p' | '360p' | '270p', required
        - `passthrough` string — Arbitrary user-supplied metadata set for the static rendition. Max 255 characters.
      - `meta` object — Customer provided metadata about this asset. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
        - `title` string — The asset title. Max 512 code points.
        - `creator_id` string — This is an identifier you provide to keep track of the creator of the asset. Max 128 code points.
        - `external_id` string — This is an identifier you provide to link the asset to your own data. Max 128 code points.
      - `copy_overlays` boolean — If the created asset is a clip, this controls whether overlays are copied from the source asset.
    - `passthrough` string — Arbitrary user-supplied metadata set for the asset. Max 255 characters.
    - `audio_only` boolean — The live stream only processes the audio track if the value is set to true. Mux drops the video track if broadcasted.
    - `embedded_subtitles` object[] — Describes the embedded closed caption configuration of the incoming live stream.
      - `name` string, required — A name for this live stream closed caption track.
      - `passthrough` string — Arbitrary user-supplied metadata set for the live stream closed caption track. Max 255 characters.
      - `language_code` string, required — The language of the closed caption stream. Value must be BCP 47 compliant.
      - `language_channel` 'cc1' | 'cc2' | 'cc3' | 'cc4', required — CEA-608 caption channel to read data from.
    - `generated_subtitles` object[] — Configure the incoming live stream to include subtitles created with automatic speech recognition. Each Asset created from a live stream with `generated_subtitles` configured will automatically receive two text tracks. The first of these will have a `text_source` value of `generated_live`, and will be available with `ready` status as soon as the stream is live. The second text track will have a `text_source` value of `generated_live_final` and will contain subtitles with improved accuracy, timing, and formatting. However, `generated_live_final` tracks will not be available in `ready` status until the live stream ends. If an Asset has both `generated_live` and `generated_live_final` tracks that are `ready`, then only the `generated_live_final` track will be included during playback.
      - `name` string, required — A name for this live stream subtitle track.
      - `passthrough` string — Arbitrary metadata set for the live stream subtitle track. Max 255 characters.
      - `language_code` 'en' | 'en-US' | 'es' | 'fr' | 'de' | 'pt' | 'it', required — The language of the audio from which subtitles are generated.
      - `transcription_vocabulary_ids` string[] — Unique identifiers for existing Transcription Vocabularies to use while generating subtitles for the live stream. If the Transcription Vocabularies provided collectively have more than 1000 phrases, only the first 1000 phrases will be included.
    - `reconnect_window` number, float — When live streaming software disconnects from Mux, either intentionally or due to a drop in the network, the Reconnect Window is the time in seconds that Mux should wait for the streaming software to reconnect before considering the live stream finished and completing the recorded asset. **Max**: 1800s (30 minutes). If not specified directly, Standard Latency streams have a Reconnect Window of 60 seconds; Reduced and Low Latency streams have a default of 0 seconds, or no Reconnect Window. For that reason, we suggest specifying a value other than zero for Reduced and Low Latency streams. Reduced and Low Latency streams with a Reconnect Window greater than zero will insert slate media into the recorded asset while waiting for the streaming software to reconnect or when there are brief interruptions in the live stream media. When using a Reconnect Window setting higher than 60 seconds with a Standard Latency stream, we highly recommend enabling slate with the `use_slate_for_standard_latency` option.
    - `use_slate_for_standard_latency` boolean — By default, Standard Latency live streams do not have slate media inserted while waiting for live streaming software to reconnect to Mux. Setting this to true enables slate insertion on a Standard Latency stream.
    - `reconnect_slate_url` string — The URL of the image file that Mux should download and use as slate media during interruptions of the live stream media. This file will be downloaded each time a new recorded asset is created from the live stream. If this is not set, the default slate media will be used.
    - `reduced_latency` boolean — This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this if you want lower latency for your live stream. See the [Reduce live stream latency guide](https://docs.mux.com/guides/reduce-live-stream-latency) to understand the tradeoffs.
    - `low_latency` boolean — This field is deprecated. Please use `latency_mode` instead. Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Setting this option will enable compatibility with the LL-HLS specification for low-latency streaming. This typically has lower latency than Reduced Latency streams, and cannot be combined with Reduced Latency.
    - `simulcast_targets` object[] — Each Simulcast Target contains configuration details to broadcast (or "restream") a live stream to a third-party streaming service. [See the Stream live to 3rd party platforms guide](https://docs.mux.com/guides/stream-live-to-3rd-party-platforms).
      - `id` string, required — ID of the Simulcast Target
      - `passthrough` string — Arbitrary user-supplied metadata set when creating a simulcast target.
      - `status` 'idle' | 'starting' | 'broadcasting' | 'errored', required — The current status of the simulcast target. See Statuses below for detailed description. * `idle`: Default status. When the parent live stream is in disconnected status, simulcast targets will be idle state. * `starting`: The simulcast target transitions into this state when the parent live stream transition into connected state. * `broadcasting`: The simulcast target has successfully connected to the third party live streaming service and is pushing video to that service. * `errored`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. When a simulcast target has this status it will have an `error_severity` field with more details about the error.
      - `stream_key` string — Stream Key represents a stream identifier on the third party live streaming service to send the parent live stream to. Only used for RTMP(s) simulcast destinations.
      - `url` string, required — The RTMP(s) or SRT endpoint for a simulcast destination. * For RTMP(s) destinations, this should include the application name for the third party live streaming service, for example: `rtmp://live.example.com/app`. * For SRT destinations, this should be a fully formed SRT connection string, for example: `srt://srt-live.example.com:1234?streamid={stream_key}&passphrase={srt_passphrase}`. Note: SRT simulcast targets can only be used when an source is connected over SRT.
      - `error_severity` 'normal' | 'fatal' — The severity of the error encountered by the simulcast target. This field is only set when the simulcast target is in the `errored` status. See the values of severities below and their descriptions. * `normal`: The simulcast target encountered an error either while attempting to connect to the third party live streaming service, or mid-broadcasting. A simulcast may transition back into the broadcasting state if a connection with the service can be re-established. * `fatal`: The simulcast target is incompatible with the current input to the parent live stream. No further attempts to this simulcast target will be made for the current live stream asset.
    - `latency_mode` 'low' | 'reduced' | 'standard', required — Latency is the time from when the streamer transmits a frame of video to when you see it in the player. Set this as an alternative to setting low latency or reduced latency flags.
    - `test` boolean — True means this live stream is a test live stream. Test live streams can be used to help evaluate the Mux Video APIs for free. There is no limit on the number of test live streams, but they are watermarked with the Mux logo, and limited to 5 minutes. The test live stream is disabled after the stream is active for 5 mins and the recorded asset also deleted after 24 hours.
    - `max_continuous_duration` integer, required — The time in seconds a live stream may be continuously active before being disconnected. Defaults to 12 hours.
    - `srt_passphrase` string — Unique key used for encrypting a stream to a Mux SRT endpoint. Max 64 characters.
    - `active_ingest_protocol` 'rtmp' | 'srt' — The protocol used for the active ingest stream. This is only set when the live stream is active.
    - `meta` object — Customer provided metadata about this live stream. Note: This metadata may be publicly available via the video player. Do not include PII or sensitive information.
      - `title` string — The live stream title. Max 512 code points.
    - `connected` boolean
    - `recording` boolean

## Acknowledgement `200`

Return a 200 to indicate that the data was received successfully

---

[API](https://skmtc.net/muxinc/apis/mux-api.md) · [All operations](https://skmtc.net/muxinc/apis/mux-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muxinc/mux-api/versions/34a65dce0f31/schema)
