# ContentKeyPolicyPutProperties

## object

The properties of the Content Key Policy.

### description
*string Optional*

A description for the Policy.

### fairPlayAmsCompatibility
*boolean Optional*

FairPlay AMS compatibility enabled.

### options
*list of objects* [ContentKeyPolicyOption](https://docs.mediakind.com/api-reference/media-api/schemas/contentkeypolicyoption) **Required**

The Key Policy options.

#### configuration
*object Required*

The key delivery configuration.

##### Discriminated by `@odata.type`. Select one variant:

- **Microsoft.Media.ContentKeyPolicyClearKeyConfiguration**  
  Represents a configuration for non-DRM keys.

- **Microsoft.Media.ContentKeyPolicyFairPlayConfiguration**  
  Specifies a configuration for FairPlay licenses.

##### @odata.type
*string Required*

The discriminator for derived types.

###### ask
*string or null Required*  
format: byte

The key that must be used as FairPlay Application Secret key. This needs to be base64 encoded.

###### fairPlayPfx
*string or null Required*

The Base64 representation of FairPlay certificate in PKCS 12 (pfx) format (including private key).

###### fairPlayPfxPassword
*string or null Required*

The password encrypting FairPlay certificate in PKCS 12 (pfx) format.

###### offlineRentalConfiguration
*object [ContentKeyPolicyFairPlayOfflineRentalConfiguration](https://docs.mediakind.com/api-reference/media-api/schemas/contentkeypolicyfairplayofflinerentalconfiguration) Optional*

Offline rental policy

###### playbackDurationSeconds
*integer Required*

Playback duration

###### storageDurationSeconds
*integer Required*

Storage duration

###### rentalAndLeaseKeyType
*enum Required*

The rental and lease key type.

Allowed values: Unknown, Undefined, Dual, Expiry, Persistent, Unlimited, Persistent, Limited

###### rentalDuration
*integer Required*

The rental duration. Must be greater than or equal to 0.

- **Microsoft.Media.ContentKeyPolicyPlayReadyConfiguration**  
  Specifies a configuration for PlayReady licenses.

##### @odata.type
*string Required*

The discriminator for derived types.

###### licenses
*list of objects* [ContentKeyPolicyPlayReadyLicense](https://docs.mediakind.com/api-reference/media-api/schemas/contentkeypolicyplayreadylicense) **Required**

The PlayReady licenses.

- **allowTestDevices**  
  *boolean Required*  
  A flag indicating whether test devices can use the license.

- **beginDate**  
  *string Optional*  
  format: date-time  
  The begin date of license

- **contentKeyLocation**  
  *object Required*

##### Show 2 variants

Discriminated by `@odata.type`. Select one variant:

- **Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromHeader**

- **Microsoft.Media.ContentKeyPolicyPlayReadyContentEncryptionKeyFromKeyIdentifier**

###### keyId
*string or null Required*

format: uuid

The content key ID.

###### contentType
*enum Required*

The PlayReady content type.

Allowed values: Unknown, Unspecified, UltraViolet, Download, UltraViolet, Streaming

###### expirationDate
*string Optional*

format: date-time

The expiration date of license.

###### gracePeriod
*string Optional*

format: duration

The grace period of license.

###### licenseType
*enum Required*

The license type.

Allowed values: Unknown, Non-Persistent, Persistent

#### playRight
*object [ContentKeyPolicyPlayReadyPlayRight](https://docs.mediakind.com/api-reference/media-api/schemas/contentkeypolicyplayreadyplayright) Optional*

The license PlayRight

- **agcAndColorStripeRestriction**  
  *integer Optional*  
  0 to 3

Configures Automatic Gain Control (AGC) and Color Stripe in the license. Must be between 0 and 3 inclusive.

- **allowPassingVideoContentToUnknownOutput**  
  *enum Required*  
  Configures Unknown output handling settings of the license.

Allowed values: Unknown, Not Allowed, Allowed, Allowed With Video Constriction

##### and more properties...
