Get policy list

Prev Next

Available in Classic and VPC

Get the DRM policy list.

Request

This section describes the request format. The method and URI are as follows:

Method URI
GET /api/v1/policy

Request headers

For information about the headers common to all One Click Multi DRM APIs, see One Click Multi DRM request headers.

Request query parameters

You can use the following query parameters with your request:

Field Type Required Description
pageNo Integer Optional Page number
  • 1-N (default: 1)
pageSize Integer Optional Number of items per page
  • 1-100

Request example

The request example is as follows:

curl --location --request GET 'https://multi-drm.apigw.ntruss.com/api/v1/policy?pageNo=1&pageSize=20' \
--header 'x-ncp-apigw-timestamp: {Timestamp}' \
--header 'x-ncp-iam-access-key: {Access Key}' \
--header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \
--header 'Content-Type: application/json' \
--header 'x-ncp-region_code: KR'

Response

This section describes the response format.

Response body

The response body includes the following data:

Field Type Required Description
success Boolean - API processing result
  • true | false
    • true: Succeeded
    • false: Failed
content Array - Policy list: content
total Integer - Total response count

content

The following describes content.

Field Type Required Description
disabled Boolean - Whether Sub Account is disabled
  • true | false
    • true: Disabled
    • false: Enabled
policyId Integer - DRM policy ID
  • 0: Basic
policyName String - Policy name
policyStatus String - Policy status
  • CREATED | CREATING | READY | DELETED | UPDATING
    • CREATED: Creation completed
    • CREATING: Creating
    • READY: Available
    • DELETED: Deletion completed
    • UPDATING: Updating
policyCreatedTime Integer - Policy creation date and time (millisecond)
  • Unix timestamp format
policyUpdateTime Integer - Policy modification date and time (millisecond)
  • Unix timestamp format
persistent Boolean - Whether to save the license offline
  • true | false
    • true: Keep the license.
    • false: Remove the license after playback (streaming).
rentalDuration Integer - Validity period (second) after offline license acquisition during which content must be played for the first time
playbackDuration Integer - License validity period (seconds) from the initial playback start time of the content
drmPolicyConfig Object - Policy settings by DRM type
drmPolicyConfig.wideVine Object - Widevine type policy
drmPolicyConfig.wideVine.useYn Boolean - Widevine policy usage
  • true | false
    • true: Enable
    • false: Disable
drmPolicyConfig.wideVine.securityLevel Integer - Widevine security level value
  • 1 | 2 | 3 | 4 | 5
    • 1: SW_SECURE_CRYPTO
    • 2: SW_SECURE_DECODE
    • 3: HW_SECURE_CRYPTO
    • 4: HW_SECURE_DECODE
    • 5: HW_SECURE_ALL (playable only on Widevine L1 devices)
  • Higher numbers indicate a higher level of security.
drmPolicyConfig.wideVine.hdcp String - Security (HDCP) level for digital output
  • HDCP_NONE | HDCP_V1 | HDCP_V2 | HDCP_V2_1 | HDCP_V2_2 | HDCP_NO_DIGITAL_OUTPUT
  • Higher versions indicate a higher level of security.
drmPolicyConfig.wideVine.cgms String - Security (CGMS-A) level for analog output
  • CGMS_NONE | COPY_FREE | COPY_ONCE | COPY_NEVER
drmPolicyConfig.wideVine.disableAnalogOutputYn Boolean - Whether analog output is blocked
  • true | false
    • true: Block
    • false: Allow
drmPolicyConfig.wideVine.hdcpSrmRule String - Whether content can be played when an HDCP device fails to process System Renewability Message (SRM)
  • HDCP_SRM_RULE_NONE | CURRENT_SRM
    • HDCP_SRM_RULE_NONE: Play the track.
    • CURRENT_SRM: The track can't be played.
drmPolicyConfig.wideVine.deviceRevocation Boolean - Whether to allow license issuance for revoked (withdrawn from Widevine support) Android devices
  • true | false
    • true: Allow
    • false: Not allow
drmPolicyConfig.playReady Object - PlayReady type policy
drmPolicyConfig.playReady.useYn Boolean - PlayReady policy usage
  • true | false
    • true: Enable
    • false: Disable
drmPolicyConfig.playReady.securityLevel Integer - PlayReady security level value
  • 150 | 2000 | 3000
  • Set to 3000 when applying hardware DRM.
  • Higher numbers indicate a higher level of security.
drmPolicyConfig.playReady.digitalVideoProtectionLevel Integer - Security level for digital video output
  • 100 | 250 | 270 | 300 | 301
  • Higher numbers indicate a higher level of security.
drmPolicyConfig.playReady.analogVideoProtectionLevel Integer - Security level for analog video output
  • 100 | 150 | 200 | 201
  • Higher numbers indicate a higher level of security.
drmPolicyConfig.playReady.digitalAudioProtectionLevel Integer - Security level for digital audio output
  • 100 | 250 | 300 | 301
  • Higher numbers indicate a higher level of security.
drmPolicyConfig.playReady.hdcpUseYn Boolean - Whether to require Type 1 (HDCP V2.2 or later) when HDCP is applied according to output protection level (OPL) settings
  • true | false
    • true: Type 1 (HDCP 2.2 or later) required
    • false: HDCP not required
  • When set to true, only devices supporting HDCP 2.2 or later can play content.
drmPolicyConfig.fairPlay Object - FairPlay Streaming type policy
drmPolicyConfig.fairPlay.useYn Boolean - FairPlay Streaming policy usage
  • true | false
    • true: Enable
    • false: Disable
drmPolicyConfig.fairPlay.hdcpEnforcement String - Whether HDCP is applied and HDCP version
  • -1 | 0 | 1
    • -1: HDCP not applied
    • 0: HDCP Type 0 (regardless of version)
    • 1: HDCP Type 1 (2.2 or later required)
drmPolicyConfig.fairPlay.allowAirPlay Boolean - Whether to allow AirPlay
  • true | false
    • true: Allow
    • false: Not allow
drmPolicyConfig.fairPlay.allowAvAdaptor Boolean - Whether output is permitted via digital AV adapter
  • true | false
    • true: Allow
    • false: Not allow

Response status codes

For information about the response status codes common to all One Click Multi DRM APIs, see One Click Multi DRM response status codes.

Response example

The response example is as follows:

{
    "success": true,
    "content": [
        {
            "disabled": false,
            "policyId": 0,
            "policyName": "Basic",
            "policyStatus": "CREATED",
            "policyCreatedTime": 1697100646282,
            "policyUpdateTime": 1756972498313,
            "persistent": false,
            "rentalDuration": 0,
            "playbackDuration": 0,
            "drmPolicyConfig": {
                "wideVine": {
                    "useYn": true,
                    "securityLevel": 1,
                    "hdcp": "HDCP_NONE",
                    "cgms": "CGMS_NONE",
                    "disableAnalogOutputYn": false,
                    "hdcpSrmRule": "HDCP_SRM_RULE_NONE",
                    "deviceRevocation": false
                },
                "playReady": {
                    "useYn": true,
                    "securityLevel": 150,
                    "digitalVideoProtectionLevel": 100,
                    "analogVideoProtectionLevel": 100,
                    "digitalAudioProtectionLevel": 100,
                    "hdcpUseYn": false
                },
                "fairPlay": {
                    "useYn": true,
                    "hdcpEnforcement": -1,
                    "allowAirPlay": true,
                    "allowAvAdaptor": true
                }
            }
        },
        {
            "disabled": false,
            "policyId": 81,
            "policyName": "myPolicy",
            "policyStatus": "CREATED",
            "policyCreatedTime": 1756968701258,
            "policyUpdateTime": 1756972498313,
            "persistent": false,
            "rentalDuration": 0,
            "playbackDuration": 0,
            "drmPolicyConfig": {
                "wideVine": {
                    "useYn": true,
                    "securityLevel": 1,
                    "hdcp": "HDCP_NONE",
                    "cgms": "CGMS_NONE",
                    "disableAnalogOutputYn": true,
                    "hdcpSrmRule": "HDCP_SRM_RULE_NONE",
                    "deviceRevocation": true
                },
                "playReady": {
                    "useYn": true,
                    "securityLevel": 150,
                    "digitalVideoProtectionLevel": 100,
                    "analogVideoProtectionLevel": 100,
                    "digitalAudioProtectionLevel": 100,
                    "hdcpUseYn": true
                },
                "fairPlay": {
                    "useYn": true,
                    "hdcpEnforcement": -1,
                    "allowAirPlay": true,
                    "allowAvAdaptor": true
                }
            }
        }
    ],
    "total": 2
}