---
title: "POST /channel/{ChannelName}/program/{ProgramName}"
method: POST
path: "/channel/{ChannelName}/program/{ProgramName}"
---

# POST /channel/{ChannelName}/program/{ProgramName}

`POST /channel/{ChannelName}/program/{ProgramName}`

Creates a program within a channel. For information about programs, see <a href="https://docs.aws.amazon.com/mediatailor/latest/ug/channel-assembly-programs.html">Working with programs</a> in the <i>MediaTailor User Guide</i>.

## Path parameters

- `ChannelName` string, required
- `ProgramName` string, required

## Request body

- object
  - `AdBreaks` AdBreak[] — The ad break configuration settings.
    - `MessageType` 'SPLICE_INSERT' | 'TIME_SIGNAL' — The SCTE-35 ad insertion type. Accepted value: <code>SPLICE_INSERT</code>, <code>TIME_SIGNAL</code>.
    - `OffsetMillis` integer — How long (in milliseconds) after the beginning of the program that an ad starts. This value must fall within 100ms of a segment boundary, otherwise the ad break will be skipped.
    - `Slate` object — Ad break slate configuration.
      - `SourceLocationName` string — The name of the source location where the slate VOD source is stored.
      - `VodSourceName` string — The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.
    - `SpliceInsertMessage` object — This defines the SCTE-35 <code>splice_insert()</code> message inserted around the ad. For information about using <code>splice_insert()</code>, see the SCTE-35 specficiaiton, section 9.7.3.1.
      - `AvailNum` integer — This is written to <code>splice_insert.avail_num</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
      - `AvailsExpected` integer — This is written to <code>splice_insert.avails_expected</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
      - `SpliceEventId` integer — This is written to <code>splice_insert.splice_event_id</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>1</code>.
      - `UniqueProgramId` integer — This is written to <code>splice_insert.unique_program_id</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
    - `TimeSignalMessage` object — <p>Defines the SCTE-35 <code>time_signal</code> message inserted around the ad.</p> <p>Programs on a channel's schedule can be configured with one or more ad breaks. You can attach a <code>splice_insert</code> SCTE-35 message to the ad break. This message provides basic metadata about the ad break.</p> <p>See section 9.7.4 of the 2022 SCTE-35 specification for more information.</p>
      - `SegmentationDescriptors` SegmentationDescriptor[] — The configurations for the SCTE-35 <code>segmentation_descriptor</code> message(s) sent with the <code>time_signal</code> message.
        - `SegmentNum` integer — The segment number to assign to the <code>segmentation_descriptor.segment_num</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.
        - `SegmentationEventId` integer — The Event Identifier to assign to the <code>segmentation_descriptor.segmentation_event_id</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is 1.
        - `SegmentationTypeId` integer — The Type Identifier to assign to the <code>segmentation_descriptor.segmentation_type_id</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.
        - `SegmentationUpid` string — The Upid to assign to the <code>segmentation_descriptor.segmentation_upid</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is "" (an empty string).
        - `SegmentationUpidType` integer — The Upid Type to assign to the <code>segmentation_descriptor.segmentation_upid_type</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.
        - `SegmentsExpected` integer — The number of segments expected, which is assigned to the <code>segmentation_descriptor.segments_expectedS</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.
        - `SubSegmentNum` integer — The sub-segment number to assign to the <code>segmentation_descriptor.sub_segment_num</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The defualt value is null.
        - `SubSegmentsExpected` integer — The number of sub-segments expected, which is assigned to the <code>segmentation_descriptor.sub_segments_expected</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is null.
  - `LiveSourceName` string — The name of the LiveSource for this Program.
  - `ScheduleConfiguration` object, required — Schedule configuration parameters. A channel must be stopped before changes can be made to the schedule.
    - `ClipRange` object — Program clip range configuration.
      - `EndOffsetMillis` integer, required — The end offset of the clip range, in milliseconds, starting from the beginning of the VOD source associated with the program.
    - `Transition` object — Program transition configurations.
      - `DurationMillis` integer — The duration of the live program in seconds.
      - `RelativePosition` 'BEFORE_PROGRAM' | 'AFTER_PROGRAM', required — The position where this program will be inserted relative to the <code>RelativePosition</code>.
      - `RelativeProgram` string — The name of the program that this program will be inserted next to, as defined by <code>RelativePosition</code>.
      - `ScheduledStartTimeMillis` integer — The date and time that the program is scheduled to start, in epoch milliseconds.
      - `Type` string, required — <p>Defines when the program plays in the schedule. You can set the value to <code>ABSOLUTE</code> or <code>RELATIVE</code>.</p> <p> <code>ABSOLUTE</code> - The program plays at a specific wall clock time. This setting can only be used for channels using the <code>LINEAR</code> <code>PlaybackMode</code>.</p> <p>Note the following considerations when using <code>ABSOLUTE</code> transitions:</p> <p>If the preceding program in the schedule has a duration that extends past the wall clock time, MediaTailor truncates the preceding program on a common segment boundary.</p> <p>If there are gaps in playback, MediaTailor plays the <code>FillerSlate</code> you configured for your linear channel.</p> <p> <code>RELATIVE</code> - The program is inserted into the schedule either before or after a program that you specify via <code>RelativePosition</code>.</p>
  - `SourceLocationName` string, required — The name of the source location.
  - `VodSourceName` string — The name that's used to refer to a VOD source.

## Response `200`

Success

- CreateProgramResponse
  - `AdBreaks` AdBreak[] — The ad break configuration settings.
    - `MessageType` 'SPLICE_INSERT' | 'TIME_SIGNAL' — The SCTE-35 ad insertion type. Accepted value: <code>SPLICE_INSERT</code>, <code>TIME_SIGNAL</code>.
    - `OffsetMillis` integer — How long (in milliseconds) after the beginning of the program that an ad starts. This value must fall within 100ms of a segment boundary, otherwise the ad break will be skipped.
    - `Slate` object — Ad break slate configuration.
      - `SourceLocationName` string — The name of the source location where the slate VOD source is stored.
      - `VodSourceName` string — The slate VOD source name. The VOD source must already exist in a source location before it can be used for slate.
    - `SpliceInsertMessage` object — This defines the SCTE-35 <code>splice_insert()</code> message inserted around the ad. For information about using <code>splice_insert()</code>, see the SCTE-35 specficiaiton, section 9.7.3.1.
      - `AvailNum` integer — This is written to <code>splice_insert.avail_num</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
      - `AvailsExpected` integer — This is written to <code>splice_insert.avails_expected</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
      - `SpliceEventId` integer — This is written to <code>splice_insert.splice_event_id</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>1</code>.
      - `UniqueProgramId` integer — This is written to <code>splice_insert.unique_program_id</code>, as defined in section 9.7.3.1 of the SCTE-35 specification. The default value is <code>0</code>. Values must be between <code>0</code> and <code>256</code>, inclusive.
    - `TimeSignalMessage` object — <p>Defines the SCTE-35 <code>time_signal</code> message inserted around the ad.</p> <p>Programs on a channel's schedule can be configured with one or more ad breaks. You can attach a <code>splice_insert</code> SCTE-35 message to the ad break. This message provides basic metadata about the ad break.</p> <p>See section 9.7.4 of the 2022 SCTE-35 specification for more information.</p>
      - `SegmentationDescriptors` SegmentationDescriptor[] — The configurations for the SCTE-35 <code>segmentation_descriptor</code> message(s) sent with the <code>time_signal</code> message.
        - `SegmentNum` integer — The segment number to assign to the <code>segmentation_descriptor.segment_num</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.
        - `SegmentationEventId` integer — The Event Identifier to assign to the <code>segmentation_descriptor.segmentation_event_id</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The default value is 1.
        - `SegmentationTypeId` integer — The Type Identifier to assign to the <code>segmentation_descriptor.segmentation_type_id</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 48.
        - `SegmentationUpid` string — The Upid to assign to the <code>segmentation_descriptor.segmentation_upid</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. The value must be a hexadecimal string containing only the characters 0 though 9 and A through F. The default value is "" (an empty string).
        - `SegmentationUpidType` integer — The Upid Type to assign to the <code>segmentation_descriptor.segmentation_upid_type</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is 14.
        - `SegmentsExpected` integer — The number of segments expected, which is assigned to the <code>segmentation_descriptor.segments_expectedS</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification Values must be between 0 and 256, inclusive. The default value is 0.
        - `SubSegmentNum` integer — The sub-segment number to assign to the <code>segmentation_descriptor.sub_segment_num</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The defualt value is null.
        - `SubSegmentsExpected` integer — The number of sub-segments expected, which is assigned to the <code>segmentation_descriptor.sub_segments_expected</code> message, as defined in section 10.3.3.1 of the 2022 SCTE-35 specification. Values must be between 0 and 256, inclusive. The default value is null.
  - `Arn` string — The ARN to assign to the program.
  - `ChannelName` string — The name to assign to the channel for this program.
  - `ClipRange` object — The clip range configuration settings.
    - `EndOffsetMillis` integer, required — The end offset of the clip range, in milliseconds, starting from the beginning of the VOD source associated with the program.
  - `CreationTime` string, date-time — The time the program was created.
  - `DurationMillis` integer — The duration of the live program in milliseconds.
  - `LiveSourceName` string — The name of the LiveSource for this Program.
  - `ProgramName` string — The name to assign to this program.
  - `ScheduledStartTime` string, date-time — The scheduled start time for this Program.
  - `SourceLocationName` string — The name to assign to the source location for this program.
  - `VodSourceName` string — The name that's used to refer to a VOD source.

---

[API](https://skmtc.net/aws/apis/mediatailor.md) · [All operations](https://skmtc.net/aws/apis/mediatailor/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/mediatailor/versions/52c4c025987a/schema)
