Get policy

Prev Next

Available in Classic and VPC

Get details of a DRM policy.

Request

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

Method URI
GET /api/v1/policy/{policyId}

Request headers

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

Request path parameters

You can use the following path parameters with your request:

Field Type Required Description
policyId Integer Required DRM policy ID

Request example

The request example is as follows:

curl --location --request GET 'https://multi-drm.apigw.ntruss.com/api/v1/policy/0' \
--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 Object - Policy information
content.disabled Boolean - Whether Sub Account is disabled
  • true | false
    • true: Disabled
    • false: Enabled
content.policyId Integer - DRM policy ID
  • 0: Basic
content.policyName String - Policy name
content.policyStatus String - Policy status
  • CREATED | CREATING | READY | DELETED | UPDATING
    • CREATED: Creation completed
    • CREATING: Creating
    • READY: Available
    • DELETED: Deletion completed
    • UPDATING: Updating
content.policyCreatedTime Integer - Policy creation date and time (millisecond)
  • Unix timestamp format
content.policyUpdateTime Integer - Policy modification date and time (millisecond)
  • Unix timestamp format
content.persistent Boolean - Whether to save the license offline
  • true | false
    • true: Keep the license.
    • false: Remove the license after playback (streaming).
content.rentalDuration Integer - Validity period (second) after offline license acquisition during which content must be played for the first time
content.playbackDuration Integer - License validity period (seconds) from the initial playback start time of the content
content.drmPolicyConfig Object - Policy settings by DRM type
content.drmPolicyConfig.wideVine Object - Widevine type policy
content.drmPolicyConfig.wideVine.useYn Boolean - Widevine policy usage
  • true | false
    • true: Enable
    • false: Disable
content.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.
content.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.
content.drmPolicyConfig.wideVine.cgms String - Security (CGMS-A) level for analog output
  • CGMS_NONE | COPY_FREE | COPY_ONCE | COPY_NEVER
content.drmPolicyConfig.wideVine.disableAnalogOutputYn Boolean - Whether analog output is blocked
  • true | false
    • true: Block
    • false: Allow
content.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.
content.drmPolicyConfig.wideVine.deviceRevocation Boolean - Whether to allow license issuance for revoked (withdrawn from Widevine support) Android devices
  • true | false
    • true: Allow
    • false: Not allow
content.drmPolicyConfig.playReady Object - PlayReady type policy
content.drmPolicyConfig.playReady.useYn Boolean - PlayReady policy usage
  • true | false
    • true: Enable
    • false: Disable
content.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.
content.drmPolicyConfig.playReady.digitalVideoProtectionLevel Integer - Security level for digital video output
  • 100 | 250 | 270 | 300 | 301
  • Higher numbers indicate a higher level of security.
content.drmPolicyConfig.playReady.analogVideoProtectionLevel Integer - Security level for analog video output
  • 100 | 150 | 200 | 201
  • Higher numbers indicate a higher level of security.
content.drmPolicyConfig.playReady.digitalAudioProtectionLevel Integer - Security level for digital audio output
  • 100 | 250 | 300 | 301
  • Higher numbers indicate a higher level of security.
content.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.
content.drmPolicyConfig.fairPlay Object - FairPlay Streaming type policy
content.drmPolicyConfig.fairPlay.useYn Boolean - FairPlay Streaming policy usage
  • true | false
    • true: Enable
    • false: Disable
content.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)
content.drmPolicyConfig.fairPlay.allowAirPlay Boolean - Whether to allow AirPlay
  • true | false
    • true: Allow
    • false: Not allow
content.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": 1756973541596,
        "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
            }
        }
    }
}