# EnvelopeEncryption

### Properties

- **clearTracks**  
  *Type:* list of objects [[StreamingPolicyTrackSelection]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicytrackselection)  
  *Description:* Clear tracks. This is the set of tracks that will be delivered without envelope encryption.

- **trackSelections**  
  *Type:* list of objects [[StreamingPolicyTrackPropertyCondition]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicytrackpropertycondition)  
  *Description:* Track selections is used to specify a set or a subset of track for selection by the streaming policy.
    
  - **operation**  
    *Type:* enum  
    *Required:* Yes  
    *Description:* Track property operation. Only equality is supported.  
    *Allowed values:* Unknown, Equal  
  
  - **property**  
    *Type:* enum  
    *Required:* Yes  
    *Description:* Track property type.  
    *Allowed values:* Unknown, FourCC

- **value**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Track property value.

- **contentKeys**  
  *Type:* object [[StreamingPolicyContentKeys]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicycontentkeys)  
  *Description:* Content keys used by the streaming policy.
    
  - **defaultKey**  
    *Type:* object [[DefaultKey]](https://docs.mediakind.com/api-reference/media-api/schemas/defaultkey)  
    *Optional:* Yes  
    *Description:* Default content key used by the encryption.
    
  - **label**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Labels are a potential matching field for selecting a content key via a streaming locator.
    
  - **policyName**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Policy used by the key.  
    
- **keyToTrackMappings**  
  *Type:* list of objects [[StreamingPolicyContentKey]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicycontentkey)  
  *Optional:* Yes  
  *Description:* List of content keys used by the key. Used to assign different keys to different tracks. 
    
  - **label**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Labels are a potential matching field for selecting a content key via a streaming locator.
    
  - **policyName**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Policy used by the key.  
    
- **tracks**  
  *Type:* list of objects [[StreamingPolicyTrackSelection]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicytrackselection)  
  *Optional:* Yes  
  *Description:* This represents which tracks should be encrypted.  
    
- **trackSelections**  
  *Type:* list of objects [[StreamingPolicyTrackPropertyCondition]](https://docs.mediakind.com/api-reference/media-api/schemas/streamingpolicytrackpropertycondition)  
  *Optional:* Yes  
  *Description:* Track selections is used to specify a set or a subset of track for selection by the streaming policy.  
    
  - **operation**  
    *Type:* enum  
    *Required:* Yes  
    *Description:* Track property operation. Only equality is supported.  
    *Allowed values:* Unknown, Equal  
    
  - **property**  
    *Type:* enum  
    *Required:* Yes  
    *Description:* Track property type.  
    *Allowed values:* Unknown, FourCC  
    
  - **value**  
    *Type:* string  
    *Optional:* Yes  
    *Description:* Track property value.

- **customKeyAcquisitionUrlTemplate**  
  *Type:* string  
  *Optional:* Yes  
  *Length:* 1-1024 characters  
  *Description:* Optional template for the customer service to use for key acquisition. Not needed if using the built-in key delivery service.

- **enabledProtocols**  
  *Type:* object [[EnabledProtocols]](https://docs.mediakind.com/api-reference/media-api/schemas/enabledprotocols)  
  *Optional:* Yes  
  *Description:* Enabled protocols. This is the set of protocols (dash, download, and hls) that will be delivered with envelope encryption.
    
  - **dash**  
    *Type:* boolean  
    *Required:* Yes  
    *Description:* Enable Dash protocol.
    
  - **download**  
    *Type:* boolean  
    *Required:* Yes  
    *Description:* Enable download protocol.
    
  - **hls**  
    *Type:* boolean  
    *Required:* Yes  
    *Description:* Enable HLS protocol.
    
  - **smoothStreaming**  
    *Type:* boolean  
    *Required:* Yes  
    *Description:* Smooth streaming is not supported and the value of this field is ignored.
