--- title: "Get policy" slug: "drm-policy-detail" tags: ["Click Multi DRM", "Media"] updated: 2026-09-17T10:12:33Z published: 2026-09-17T10:12:33Z canonical: "api.ncloud-docs.com/drm-policy-detail" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Get policy 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](/docs/en/one-click-multi-drm-api-overview#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%94). ### Request path parameters You can use the following path parameters with your request: | Field | Type | Required | Description | | --- | --- | --- | --- | | `policyId` | Integer | Required | DRM policy ID - See [Get policy list](/docs/en/drm-policy-list) | ### 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](/docs/en/one-click-multi-drm-api-overview#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C). ### 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 } } } } ```