# ContentKeyPolicyListResponseSchema

## Introduction
This schema defines the structure of a response containing a list of Content Key Policies.

### Properties
- **@odata.nextLink** (string, optional): A URL for pagination if there are more items than can fit on one page.

#### Supplemental Information
- **supplemental** (object, required): Additional information pertaining to the response.
  - **count** (integer, required): Number of items returned.
  - **kind** (string, required): Type of items in the list.
  - **operation** (string, required): Operation type, should always be 'list'.
  - **pagination** (object, required): Pagination information.
    - **end** (integer, required): Position of the last item in the list.
    - **records** (integer, required): Total number of items returned in the list.
    - **start** (integer, required): Position of the first item in the list.
    - **total** (integer, required): Total number of items in the project.

#### Subscription Information
- **subscription** (object, optional): Information about the project related to the list of key policies.
  - **id** (string, required): Project ID.
  - **name** (string, required): Project name.

### Content Key Policies
- **value** (list of objects, required): A list of content key policies.
  - **id** (string, optional): Fully qualified resource ID for the content key policy.
  - **name** (string, optional, 1-260 characters): Name of the resource, must follow specified patterns.
  - **properties** (object, required): Details of the content key policy.
    - **created** (string, optional, date-time format): Creation date of the policy.
    - **description** (string, optional, 0-1024 characters): Description of the policy.
    - **fairPlayAmsCompatibility** (boolean, optional): Indicates if FairPlay AMS compatibility is enabled.
    - **lastModified** (string, optional, date-time format): Last modified date of the policy.
    - **options** (list of objects, required): Key policy options.
      - **configuration** (object, required): Key delivery configuration, which can vary by type:
        1. **ClearKeyConfiguration**
        2. **FairPlayConfiguration**
        3. **PlayReadyConfiguration**
        4. **WidevineConfiguration**
      - **restriction** (object, required): Requirements for key delivery, can include types such as:
        - **OpenRestriction**
        - **TokenRestriction** 
    - **alterVerificationKeys** (list of objects, optional): List of alternative verification keys used in the policy.
    - **systemData** (object, optional): Metadata relevant to creation and last modification. Includes:
      - **createdAt** (string, required, date-time format): Timestamp of resource creation.
      - **createdBy** (string, required): Identity that created the resource.
      - **createdByType** (enum, required): Type of identity that created the resource.
