Media Security Policy API v1

Configure and apply various desirable security services for your Akamai HD Network media content.

Learn more:


Overview

Akamai’s Media Security Policy product serves as a “one stop shop” solution for the configuration and application of various security services for your Akamai HD Network media content, allowing you to apply Token Authorization, Content Targeting (GEO Protection), Media Encryption and Player Verification protection. Luna Control Center provides a graphical interface. This API allows you programmatic control of your security settings.

Input/output formats

This API supports multiple formats of input and output for use in call requests (e.g., for response output as well as inclusion of POST/PUT body content).

Response output

  • XML (default): Issuing API calls using the standard syntax for calls revealed in this documentation will return output in XML format. This API adheres to a fixed XML schema.

  • JSON: JSON output can be set by appending .json to the end of any of the API call syntax revealed in this documentation.

Output examples in this document are revealed in XML, the default format.

Input (POST/PUT body content)

Various calls may require that you pass additional content to the API (e.g., include a POST/PUT Body component). Based on your selected format, ensure that you establish the appropriate content type in the HTTP header:

  • XML: application/xml
  • JSON: application/json

The sample POST/PUT data shown throughout this document are in the API’s default XML format. When translating an example from XML to JSON format, a value of <tag>input</tag>, would be "tag": "input" in JSON.

NOTE: For POST/PUT body content, if a specific component is not required, include its tag/pair in the context of a POST/PUT Body, but leave it empty (e.g., provide no argument: <option></option>, "option": "").

Variable values in input/output syntax

Throughout this document, variable values are enclosed in braces "{ }". Unless otherwise noted, do not include these characters, as they only serve to mark the value as variable.

Security service support and prerequisites

Certain services are not supported for use with certain media formats (or combinations of services are not supported). Prior to using the API, review Media Security Policy Editor - Support Matrix.

In addition, each individual Media Security Policy security service requires various prerequisite conditions be met prior to enabling within a policy. Complete details on these prerequisites, along with detailed information on the use of each service, can be found in the Media Security Policy User Guide.

Country, region and DMA codes

Throughout this API you may be confronted with tags/pairs that require you to provide geographic (geo) codes. These apply to established integer values that represent a specific geographic region (e.g., used to allow/block access to content via Content Targeting protection). As a point of reference for these codes, you can consult Luna Control Center and access the EdgeScape Data Codes page (Support ⇒ User and Developer Guides ⇒ EdgeScape ⇒ Data Codes). Once here, select the relevant link for your desired code type:

  • Country Codes: “Country Code”

  • Region Code: “State/Region Code”

  • DMA: “Designated Market Area” (DMA® is a registered service mark of The Nielson Company, all rights reserved.)

Usage examples

The following sections reveal non-language-specific examples of the use of the interfaces to create a new policy and assign it to an HD configuration of content to protect it. This process follows a four-phased procedure:

  1. Create a Security Policy
  2. Promote the Policy from “Staging” to “Production”
  3. Assign the Policy to a Desired HD Configuration
  4. Promote the Assignment from “Staging” to “Production”

Example #1: creating a security policy

The new policy enables Token Authorization and various Content Targeting protections (i.e., to block access to content to South Africa, specific provinces in Canada, and two specific cities in the United States, via DMA values). Additionally, you enable Player Verification by including a hash of an applicable player.

POST https://[consumer_id].luna.platform.akamai.com/config-media-security/v1/security
Content-Type:application/xml

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<security-policy>
    <name>pc_test_1</name>
    <acg-id>EFG-456</acg-id>
    <description>This is a test policy</description>
    <token-auth-feature>
        <enabled>true</enabled>
        <password>456def</password>
        <transition-password>def456</transition-password>
        <enforce-on-initial-request>true</enforce-on-initial-request>
        <enforce-on-content-request>true</enforce-on-content-request>
    </token-auth-feature>
    <media-encryption-feature>
        <enabled>false</enabled>
        <percentage-coverage></percentage-coverage>
    </media-encryption-feature>
    <content-targeting-feature>
        <enabled>true</enabled>
        <geo-protection>
            <enabled>true</enabled>
            <allow-locations>false</allow-locations>
            <countries>
                <country>
                    <country-code>CA</country-code>
                </country>
            </countries>
            <dmas>
                <dma>
                    <dma-code>501</dma-code>
                </dma>
                <dma>
                    <dma-name>BatonRouge</dma-name>
                </dma>
            </dmas>
            <regions>
                <region>
                    <country-code>CA</country-code>
                    <region-code>AB</region-code>
                </region>
                    <country-code>CA</country-code>
                    <region-code>ON</region-code>
                </region>
                <region>
                    <country-code>CA</country-code>
                    <region->NS</region>
                </region>
            </regions>
            <override-ips>
                <ip>55.55.55.100</ip>
                <ip>55.55.55.101</ip>
                <ip>55.55.55.102</ip>
            </override-ips>
        </geo-protection>
        <ip-access>
            <enabled>false</enabled>
            <allow-ips></allow-ips>
            <ip-list></ip-list>
        </ip-access>
        <referral-domain>
            <enabled>false</enabled>
            <allowed-domains></allowed-domains>
        </referral-domain>
    </content-targeting-feature>
    <player-verification-feature>
        <enabled>true</enabled>
        <support-player-enabled>false</support-player-enabled>
        <reset-support-player>false</reset-support-player>
        <players>
            <player>cb6af0d91a7f824238551b092e705637947a7f1e</player>
        </players>
        <TTL>72h</TTL>
    </player-verification-feature>
</security-policy>

Tag/pair descriptions

The tags/pairs used in the POST Body content are described in the sections that follow.

General
Tag/Pair Name Type Description
name String This is the name that is applied to the policy. Duplicate policy names are not supported. Each new policy must have a unique name.
acg-id String Specifies an existing Access Control Group, applicable to your specific Media Security Policy instance.
description String (Optional) Describes the policy for identification purposes.
Token authorization
Tag/Pair Name Type Description
enabled Boolean Determines if Token Authorization is enabled.
password String The Primary Password established for this protection. If incorporating this protection, the tag is required. The value must be in hexadecimal format and must consist of an even number of characters.
transition-password String The Transition Password value to be set, if desired. This must be in hexadecimal format and consist of an even number of characters.
enforce-on-initial-request Boolean Determines if the Enforce URL Token for Initial Request option is enabled.
enforce-on-content-request Boolean Determines if the Use Cookie Tokens to Protect Content/Segment Request option is enabled.
Media encryption
Tag/Pair Name Type Description
enabled Boolean Determines if Media Encryption is enabled.
percentage-coverage Integer The percentage of encryption that should be applied. Applicable values include 1–100, or Auto to allow Media Security Policy to determine the appropriate level.
Content targeting
Tag/Pair Name Type Description
enabled Boolean Determines if Content Targeting is enabled.
geo-protection
enabled Boolean Determines if Geo Protection functionality is enabled within Content Targeting.
allow-locations Boolean Defines if locations specified in associated tags/pairs should be allowed or blocked from accessing content.
country-code Enumeration Used to list specific countries that are to be allowed or blocked access (i.e., based on what was set for allow-locations). Each individual country must be input using its relevant country code, and requires its own, individual tag/pair set. South Africa is to be blocked from access in this example, therefore its country code ZA was set.
dma-code/dma-name Enumeration Used to refine allow/block settings to specific Designated Market Areas (DMA). A DMA is a specific region in which the population can receive the same (or similar) Internet media offerings. Supported entries are based on the Nielsen Media Research DMA regions. A DMA can be defined using either its associated dma-code integer, or its API-recognized dma-name specific value. Each individual DMA must be defined within its own, individual dma-related tag/pair sets. For example, 501 could be designated for New York as a dma-code, and BatonRouge could be used as a dma-name.
country-code/region-code Enumeration Used to refine allow/block settings to specific regions within a named <country> (i.e., states, provinces or territories). Each individual region must be input using its relevant country code, and requires its own, individual sub-tag set. Specific regions in Canada are to be blocked from access, therefore CA is set for the country-code, and AB (Alberta), ON (Ontario) and NS (Nova Scotia) are set as individual region-codes in this example.
override-ips String Used to define individual IP Addresses or CIDR Blocks that should always be allowed access to content (i.e., regardless if they fall into an area that has been blocked). Each individual IP Address/CIDR Block needs to exist as a child, in its own id tag/pair. In this example, the IP Addresses, 55.55.55.100, 55.55.55.101, 55.55.55.102 exist within one of the regions set to be blocked, but need to have access.
ip-access
enabled Boolean Determines if the Enable IP Access Lists functionality is enabled within Content Targeting.
allow-ips Boolean Defines if IP Addresses/CIDR Blocks specified in associated tags/pairs should be allowed or blocked from accessing content.
ip-list String Used to list specific IP Addresses or CIDR Blocks that are to be allowed or blocked access (i.e., based on what was set for allow-ips). Each individual IP Address/CIDR Block needs to exist as a child, in its own id tag/pair.
referral-domain
enabled Boolean Determines if the Enable Referrer Checking functionality is enabled within Content Targeting.
allowed-domain String Used to list specific domain URLs that are to be allowed access as a referrer. Each individual domain must exist as a child, within its own domain tag/pair.
Player verification

NOTE: Player Verification is only supported for use with Adobe HTTP Dynamic Streaming (HDS) format media.

Tag/Pair Name Type Description
enabled Boolean Determines if Player Verification is enabled.
support-player-enabled Boolean Determines whether the Enable Support Player Bypass option is enabled. When enabled, an Akamai Test Player will be set for use in testing the Player Verification security (for a period of 24 hours from the time of policy creation).
reset-support-player Boolean When set to True, this resets the Akamai Test Player for another 24 hours. This tag/pair and support-player-enabled should not both be set to True at the same time. If you need to use this option to reset, ensure that support-player-enabled is set to False.
players String Used to list specific players for inclusion, via a SHA–256 hash equivalent, that are to be allowed access to a referrer. Each individual player must exist as a child, in its own player tag/pair.
TTL String A Time to Live for the player, formatted #h/#m/#s. Once expired, the specified “Player List” players are invalidated. Input a number followed by h for hours, m for minutes or s for seconds. This time begins once the policy/hd configuration association is saved. Note that d (days) is not supported for use when establishing a TTL, even though a response from this operation may show a TTL in days. Input multiples of 24 hours to denote full days (e.g., 72h to indicate three days).

Response example

Upon successful creation of a new policy, the response includes a unique policyID value generated for it by the API. This value is used in various additional calls, in order to interact with this specific policy.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<request-successful>
    <message>Successfully created policy: {policyID}</message>
</request-successful>

Example #2: promoting the policy from staging to production

After creation, a policy is available in Akamai’s “Staging” environment. You must promote it from Staging to “Production” to allow access to it for use in assignment to an HD configuration of content. The policyID variable in the call syntax is the unique value returned by the API after creation of the target policy.

PUT https://[consumer_id].luna.platform.akamai.com/config-media-security/v1/security/{policyID}/promote

Response example

After successful promotion of the policy, the response will look as follows:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<request-successful>
    <message>Successfully promoted policy: {policyID}</message>
</request-successful>

Example #3: assigning a policy to an HD configuration

With a policy promoted to Production, it can now be assigned to an HD configuration of content. This example reveals the assignment of two separate policies to a single HD Configuration. The domain variable in the initial call syntax is the digital property that represents the HD configuration (typically the name of an HD configuration file, minus the .xml extension).

PUT https://[consumer_id].luna.platform.akamai.com/config-media-security/v1/security/live/{domain}/policy
Content-Type:application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<security-policy-assignment>
    <rules>
        <rule>
            <policy-id>2</policy-id>
                <path>/z/...</path>
                <start-time>01/01/2012 12:00 AM</start-time>
                <end-time>12/31/2012 11:00 PM</end-time>
        </rule>
        <rule>
            <policy-id>5</policy-id>
                <path>/z/...</path>
                <start-time>01/02/2012 12:00 AM</start-time>
                <end-time>12/30/2012 11:00 PM</end-time>
        </rule>
    </rules>
</security-policy-assignment>

Tag/pair descriptions

The tags/pairs used in the POST body content are described below.

Tag/Pair Name Type Description
policy-id String The unique policyID value associated with the policy to be applied to the HD configuration: 2 for the first assignment, and 5 for the second in this example.
path String Input the path value that points to the content in the target HD configuration that is to be protected by the policy (the path that leads to the domain value set in the call): /z/... in both assignments in this example.
start-time String Used to configure a starting date/time of validity for the policy assignment. Input values in the format, MM/DD/YY HH:MM AM or PM. Values input for a time must be rounded up to the hour; individual minute entries are not supported. Additionally, this can be left open to apply no Start Time by setting an asterisk (*) as its value. In this example, 01/01/12 12:00 AM is set for the first assignment and 01/02/12 12:00 AM for the second.
end-time String Supports the same input as start-time, in order to establish an end point of validity for the assignment.

Response example

Upon successful assignment of the policy, the response would look as follows:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<request-successful>
    <message>Successfully updated the policy assignment for DP: {domain}</message>
</request-successful>

Example #4: promoting a policy/HD configuration assignment

Once an assignment between one or more security policies and an HD configuration is generated, it will exist in Akamai’s “Staging” environment (i.e., to allow for testing, if desired). To apply the protections to end-user accessible content, you need to promote the assignment to Akamai’s Production environment. The policyID variable is the unique ID for a policy that was included within the policy/HD configuration assignment. If multiple polices were included in the assignment, multiple instances of this call would be required, one for each policy included.

PUT https://[consumer_id].luna.platform.akamai.com/config-media-security/v1/security/live/{policyID}/policyassignments/promote

Response example

With a successful promotion, the response output looks like this:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<request-successful>
    <message>Successfully promoted policy assignment: {policyID} to production</message>
</request-successful>

Other interfaces

You can use Luna Control Center to access Media Security Policy’s complete functionality, but not all functionality is available through the API. Complete instructions on the use of the UI component are covered in the Media Security Policy User Guide.

Resources

Examine and manage security policies for your account.

API summary

Operation Method Endpoint
Policies
List Policies GET /config-media-security/v1/security
Create a Policy POST /config-media-security/v1/security
Get a Policy GET /config-media-security/v1/security/{policyID}
Modify a Policy PUT /config-media-security/v1/security/{policyID}
Mark a Policy for Deletion DELETE /config-media-security/v1/security/{policyID}
Get Policy per Environment GET /config-media-security/v1/security/{policyID}/{environment}
Clone a Policy POST /config-media-security/v1/security/{policyID}/clonePolicy
Promote a Policy PUT /config-media-security/v1/security/{policyID}/promote
Remove a Policy DELETE /config-media-security/v1/security/{policyID}/promoteDelete
Restore a Policy Deletion PUT /config-media-security/v1/security/{policyID}/revertDelete
Restore a Policy Edit PUT /config-media-security/v1/security/{policyID}/revertEdit
HD Configuration/Digital Properties
Get an HD Config Policy GET /config-media-security/v1/security/live/{domain}/policy
Modify an HD Config Policy PUT /config-media-security/v1/security/live/{domain}/policy
Get an HD Config Policy per Environment GET /config-media-security/v1/security/live/{domain}/policy/{environment}
List Policy Assignments GET /config-media-security/v1/security/live/{policyID}/policyassignments
Get a Policy Assignment GET /config-media-security/v1/security/live/{policyID}/policyassignments/{environment}
Promote a Policy Assignment PUT /config-media-security/v1/security/live/{policyID}/policyassignments/promote
Revert a Policy Assignment Promotion PUT /config-media-security/v1/security/live/{policyID}/policyassignments/revert
Security Services
List Countries GET /config-media-security/v1/security/countries
List Designated Market Areas GET /config-media-security/v1/security/dmas
List Regions GET /config-media-security/v1/security/regions
List Regions per Country GET /config-media-security/v1/security/regions/{countryCode}
Miscellaneous
List Access Control Groups GET /config-media-security/v1/security/acgs

List policies

List all the security policies for account.

GET /config-media-security/v1/security

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<security-policies>
    <security-policy>
        <id>1234</id>
        <name>POLICY NAME</name>
        <description>Description for 'POLICY NAME'</description>
        <environment>Staging</environment>
        <token-auth-feature>
            <enabled>true</enabled>
            <password>RANDOMHEXVALUES</password>
            <enforce-on-initial-request>true</enforce-on-initial-request>
            <enforce-on-content-request>true</enforce-on-content-request>
        </token-auth-feature>
        <media-encryption-feature>
            <enabled>true</enabled>
            <percentage-coverage>100</percentage-coverage>
        </media-encryption-feature>
        <content-targeting-feature>
            <enabled>false</enabled>
            <geo-protection>
                <enabled>false</enabled>
                <allow-locations>true</allow-locations>
                <countries>
                    <country>
                        <country-code>US</country-code>
                    </country>
                </countries>
                <regions />
                <override-ips />
                <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                <dmas />
            </geo-protection>
            <ip-access>
                <enabled>false</enabled>
                <allow-ips>false</allow-ips>
                <ip-list />
                <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
            </ip-access>
            <referral-domain>
                <enabled>false</enabled>
                <allowed-domains />
                <referrer-redirect-on-deny-enabled>false
                </referrer-redirect-on-deny-enabled>
            </referral-domain>
        </content-targeting-feature>
        <player-verification-feature>
            <enabled>false</enabled>
            <support-player-enabled>false</support-player-enabled>
            <reset-support-player>false</reset-support-player>
            <time-left-for-support-player>0</time-left-for-support-player>
            <players />
        </player-verification-feature>
    </security-policy>
    <security-policy>
        <security-policy>
            <id>1234</id>
            <name>POLICY NAME</name>
            <description>Description for 'POLICY NAME'</description>
            <environment>Production</environment>
            <token-auth-feature>
                <enabled>true</enabled>
                <password>RANDOMHEXVALUES</password>
                <enforce-on-initial-request>true</enforce-on-initial-request>
                <enforce-on-content-request>true</enforce-on-content-request>
            </token-auth-feature>
            <media-encryption-feature>
                <enabled>true</enabled>
                <percentage-coverage>100</percentage-coverage>
            </media-encryption-feature>
            <content-targeting-feature>
                <enabled>false</enabled>
                <geo-protection>
                    <enabled>false</enabled>
                    <allow-locations>true</allow-locations>
                    <countries>
                        <country>
                            <country-code>US</country-code>
                        </country>
                    </countries>
                    <regions />
                    <override-ips />
                    <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                    <dmas />
                </geo-protection>
                <ip-access>
                    <enabled>false</enabled>
                    <allow-ips>false</allow-ips>
                    <ip-list />
                    <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
                </ip-access>
                <referral-domain>
                    <enabled>false</enabled>
                    <allowed-domains />
                    <referrer-redirect-on-deny-enabled>false
                    </referrer-redirect-on-deny-enabled>
                </referral-domain>
            </content-targeting-feature>
            <player-verification-feature>
                <enabled>false</enabled>
                <support-player-enabled>false</support-player-enabled>
                <reset-support-player>false</reset-support-player>
                <time-left-for-support-player>0</time-left-for-support-player>
                <players />
            </player-verification-feature>
        </security-policy>
        <security-policy>
            <id>12345</id>
            <name>POLICY NAME</name>
            <description>Description for 'POLICY NAME'</description>
            <environment>Staging</environment>
            <token-auth-feature>
                <enabled>false</enabled>
                <enforce-on-initial-request>true</enforce-on-initial-request>
                <enforce-on-content-request>true</enforce-on-content-request>
            </token-auth-feature>
            <media-encryption-feature>
                <enabled>false</enabled>
                <percentage-coverage>100</percentage-coverage>
            </media-encryption-feature>
            <content-targeting-feature>
                <enabled>true</enabled>
                <geo-protection>
                    <enabled>true</enabled>
                    <allow-locations>true</allow-locations>
                    <countries>
                        <country>
                            <country-code>NO</country-code>
                        </country>
                    </countries>
                    <regions />
                    <override-ips>
                        <override-ip>253.252.253.253</override-ip>
                        <override-ip>253.252.253.253</override-ip>
                    </override-ips>
                    <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                    <dmas />
                </geo-protection>
                <ip-access>
                    <enabled>false</enabled>
                    <allow-ips>false</allow-ips>
                    <ip-list />
                    <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
                </ip-access>
                <referral-domain>
                    <enabled>false</enabled>
                    <allowed-domains />
                    <referrer-redirect-on-deny-enabled>false
                    </referrer-redirect-on-deny-enabled>
                </referral-domain>
            </content-targeting-feature>
            <player-verification-feature>
                <enabled>true</enabled>
                <support-player-enabled>false</support-player-enabled>
                <reset-support-player>false</reset-support-player>
                <time-left-for-support-player>24</time-left-for-support-player>
                <ttl>1d</ttl>
                <players>
                    <player>
                        <hash>SAMPLEHASH1</hash>
                        <description>Sample Player 2</description>
                        <enabled>true</enabled>
                    </player>
                    <player>
                        <hash>SAMPLEHASH1</hash>
                        <description>Sample Player</description>
                        <enabled>true</enabled>
                    </player>
                </players>
            </player-verification-feature>
        </security-policy>

Create a policy

Create new security policy on staging network.

POST /config-media-security/v1/security

Content-Type: application/xml

Request:

<?xml version="1.0"?>
<security-policy>
    <name>POLICY NAME</name>
    <description>Description for 'POLICY NAME'</description>
    <token-auth-feature>
        <enabled>true</enabled>
        <password>RANDOMHEXVALUES</password>
        <enforce-on-initial-request>true</enforce-on-initial-request>
        <enforce-on-content-request>true</enforce-on-content-request>
    </token-auth-feature>
    <media-encryption-feature>
        <enabled>true</enabled>
        <percentage-coverage>100</percentage-coverage>
    </media-encryption-feature>
    <content-targeting-feature>
        <enabled>false</enabled>
        <geo-protection>
            <enabled>false</enabled>
            <allow-locations>true</allow-locations>
            <countries>
                <country>
                    <country-code>US</country-code>
                </country>
            </countries>
            <regions />
            <override-ips />
            <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
            <dmas />
        </geo-protection>
        <ip-access>
            <enabled>false</enabled>
            <allow-ips>false</allow-ips>
            <ip-list />
            <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
        </ip-access>
        <referral-domain>
            <enabled>false</enabled>
            <allowed-domains />
            <referrer-redirect-on-deny-enabled>false
            </referrer-redirect-on-deny-enabled>
        </referral-domain>
    </content-targeting-feature>
    <player-verification-feature>
        <enabled>false</enabled>
        <support-player-enabled>false</support-player-enabled>
        <reset-support-player>false</reset-support-player>
        <time-left-for-support-player>0</time-left-for-support-player>
        <players>
            <player>
                <hash>SAMPLEHASH1</hash>
                <description>Sample Player 2</description>
                <enabled>true</enabled>
            </player>
            <player>
                <hash>SAMPLEHASH1</hash>
                <description>Sample Player</description>
                <enabled>true</enabled>
            </player>
        </players>
    </player-verification-feature>
</security-policy>

Status 200 application/xml

Response:

<?xml version="1.0"?>
<security-policy>
    <id>1234</id>
    <name>POLICY NAME</name>
    <description>Description for 'POLICY NAME'</description>
    <environment>Staging</environment>
    <token-auth-feature>
        <enabled>true</enabled>
        <password>RANDOMHEXVALUES</password>
        <enforce-on-initial-request>true</enforce-on-initial-request>
        <enforce-on-content-request>true</enforce-on-content-request>
    </token-auth-feature>
    <media-encryption-feature>
        <enabled>true</enabled>
        <percentage-coverage>100</percentage-coverage>
    </media-encryption-feature>
    <content-targeting-feature>
        <enabled>false</enabled>
        <geo-protection>
            <enabled>false</enabled>
            <allow-locations>true</allow-locations>
            <countries>
                <country>
                    <country-code>US</country-code>
                </country>
            </countries>
            <regions />
            <override-ips />
            <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
            <dmas />
        </geo-protection>
        <ip-access>
            <enabled>false</enabled>
            <allow-ips>false</allow-ips>
            <ip-list />
            <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
        </ip-access>
        <referral-domain>
            <enabled>false</enabled>
            <allowed-domains />
            <referrer-redirect-on-deny-enabled>false
            </referrer-redirect-on-deny-enabled>
        </referral-domain>
    </content-targeting-feature>
    <player-verification-feature>
        <enabled>false</enabled>
        <support-player-enabled>false</support-player-enabled>
        <reset-support-player>false</reset-support-player>
        <time-left-for-support-player>0</time-left-for-support-player>
        <players />
    </player-verification-feature>
</security-policy>

Get a policy

Get security policy for production and staging network.

GET /config-media-security/v1/security/{policyID}

Example: /config-media-security/v1/security/1234

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<security-policies>
    <security-policy>
        <id>1234</id>
        <name>POLICY NAME</name>
        <description>Description for 'POLICY NAME'</description>
        <environment>Staging</environment>
        <token-auth-feature>
            <enabled>true</enabled>
            <password>RANDOMHEXVALUES</password>
            <enforce-on-initial-request>true</enforce-on-initial-request>
            <enforce-on-content-request>true</enforce-on-content-request>
        </token-auth-feature>
        <media-encryption-feature>
            <enabled>true</enabled>
            <percentage-coverage>100</percentage-coverage>
        </media-encryption-feature>
        <content-targeting-feature>
            <enabled>false</enabled>
            <geo-protection>
                <enabled>false</enabled>
                <allow-locations>true</allow-locations>
                <countries>
                    <country>
                        <country-code>US</country-code>
                    </country>
                </countries>
                <regions />
                <override-ips />
                <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                <dmas />
            </geo-protection>
            <ip-access>
                <enabled>false</enabled>
                <allow-ips>false</allow-ips>
                <ip-list />
                <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
            </ip-access>
            <referral-domain>
                <enabled>false</enabled>
                <allowed-domains />
                <referrer-redirect-on-deny-enabled>false
                </referrer-redirect-on-deny-enabled>
            </referral-domain>
        </content-targeting-feature>
        <player-verification-feature>
            <enabled>false</enabled>
            <support-player-enabled>false</support-player-enabled>
            <reset-support-player>false</reset-support-player>
            <time-left-for-support-player>0</time-left-for-support-player>
            <players />
        </player-verification-feature>
    </security-policy>
    <security-policy>
        <security-policy>
            <id>1234</id>
            <name>POLICY NAME</name>
            <description>Description for 'POLICY NAME'</description>
            <environment>Production</environment>
            <token-auth-feature>
                <enabled>true</enabled>
                <password>RANDOMHEXVALUES</password>
                <enforce-on-initial-request>true</enforce-on-initial-request>
                <enforce-on-content-request>true</enforce-on-content-request>
            </token-auth-feature>
            <media-encryption-feature>
                <enabled>true</enabled>
                <percentage-coverage>100</percentage-coverage>
            </media-encryption-feature>
            <content-targeting-feature>
                <enabled>false</enabled>
                <geo-protection>
                    <enabled>false</enabled>
                    <allow-locations>true</allow-locations>
                    <countries>
                        <country>
                            <country-code>US</country-code>
                        </country>
                    </countries>
                    <regions />
                    <override-ips />
                    <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                    <dmas />
                </geo-protection>
                <ip-access>
                    <enabled>false</enabled>
                    <allow-ips>false</allow-ips>
                    <ip-list />
                    <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
                </ip-access>
                <referral-domain>
                    <enabled>false</enabled>
                    <allowed-domains />
                    <referrer-redirect-on-deny-enabled>false
                    </referrer-redirect-on-deny-enabled>
                </referral-domain>
            </content-targeting-feature>
            <player-verification-feature>
                <enabled>false</enabled>
                <support-player-enabled>false</support-player-enabled>
                <reset-support-player>false</reset-support-player>
                <time-left-for-support-player>0</time-left-for-support-player>
                <players />
            </player-verification-feature>
        </security-policy>
    </security-policies>

Modify a policy

Update security policy on Staging network.

PUT /config-media-security/v1/security/{policyID}

Example: /config-media-security/v1/security/1234

Content-Type: application/xml

Request:

<security-policy>
        <id>1234</id>
        <name>POLICY NAME</name>
        <description>Description for 'POLICY NAME'</description>
        <environment>Staging</environment>
        <token-auth-feature>
            <enabled>true</enabled>
            <password>RANDOMHEXVALUES</password>
            <enforce-on-initial-request>true</enforce-on-initial-request>
            <enforce-on-content-request>true</enforce-on-content-request>
        </token-auth-feature>
        <media-encryption-feature>
            <enabled>true</enabled>
            <percentage-coverage>100</percentage-coverage>
        </media-encryption-feature>
        <content-targeting-feature>
            <enabled>false</enabled>
            <geo-protection>
                <enabled>false</enabled>
                <allow-locations>true</allow-locations>
                <countries>
                    <country>
                        <country-code>US</country-code>
                    </country>
                </countries>
                <regions />
                <override-ips />
                <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
                <dmas />
            </geo-protection>
            <ip-access>
                <enabled>false</enabled>
                <allow-ips>false</allow-ips>
                <ip-list />
                <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
            </ip-access>
            <referral-domain>
                <enabled>false</enabled>
                <allowed-domains />
                <referrer-redirect-on-deny-enabled>false
                </referrer-redirect-on-deny-enabled>
            </referral-domain>
        </content-targeting-feature>
        <player-verification-feature>
            <enabled>false</enabled>
            <support-player-enabled>false</support-player-enabled>
            <reset-support-player>false</reset-support-player>
            <time-left-for-support-player>0</time-left-for-support-player>
            <players>
                <player>
                    <hash>SAMPLEHASH1</hash>
                    <description>Sample Player 2</description>
                    <enabled>true</enabled>
                </player>
                <player>
                    <hash>SAMPLEHASH1</hash>
                    <description>Sample Player</description>
                    <enabled>true</enabled>
                </player>
            </players>
        </player-verification-feature>
    </security-policy>

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <message>Successfully updated policy: 1234</message>
</Response>

Mark a policy for deletion

Mark security policy for deletion on staging network.

DELETE /config-media-security/v1/security/{policyID}

Example: /config-media-security/v1/security/1234

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<Response>
   <message>Successfully marked policy: 1234 as deleted</message>
</Response>

Get policy per environment

Get a security policy for either the staging or production environment.

GET /config-media-security/v1/security/{policyID}/{environment}

Example: /config-media-security/v1/security/1234/Production

Parameter Type Sample Description
Required
environment Enumeration Production The environment. Possible values: Production, Staging.
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<security-policy>
    <id>1234</id>
    <name>POLICY NAME</name>
    <description>Description for 'POLICY NAME'</description>
    <environment>Production</environment>
    <token-auth-feature>
        <enabled>true</enabled>
        <password>RANDOMHEXVALUES</password>
        <enforce-on-initial-request>true</enforce-on-initial-request>
        <enforce-on-content-request>true</enforce-on-content-request>
    </token-auth-feature>
    <media-encryption-feature>
        <enabled>true</enabled>
        <percentage-coverage>100</percentage-coverage>
    </media-encryption-feature>
    <content-targeting-feature>
        <enabled>false</enabled>
        <geo-protection>
            <enabled>false</enabled>
            <allow-locations>true</allow-locations>
            <countries>
                <country>
                    <country-code>US</country-code>
                </country>
            </countries>
            <regions />
            <override-ips />
            <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
            <dmas />
        </geo-protection>
        <ip-access>
            <enabled>false</enabled>
            <allow-ips>false</allow-ips>
            <ip-list />
            <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
        </ip-access>
        <referral-domain>
            <enabled>false</enabled>
            <allowed-domains />
            <referrer-redirect-on-deny-enabled>false
            </referrer-redirect-on-deny-enabled>
        </referral-domain>
    </content-targeting-feature>
    <player-verification-feature>
        <enabled>false</enabled>
        <support-player-enabled>false</support-player-enabled>
        <reset-support-player>false</reset-support-player>
        <time-left-for-support-player>0</time-left-for-support-player>
        <players />
    </player-verification-feature>
</security-policy>

Clone a policy

Clone a security policy on the staging network.

POST /config-media-security/v1/security/{policyID}/clonePolicy

Example: /config-media-security/v1/security/1234/clonePolicy

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<security-policy>
    <id>1234</id>
    <name>POLICY NAME</name>
    <description>Description for 'POLICY NAME'</description>
    <environment>Staging</environment>
    <token-auth-feature>
        <enabled>true</enabled>
        <password>RANDOMHEXVALUES</password>
        <enforce-on-initial-request>true</enforce-on-initial-request>
        <enforce-on-content-request>true</enforce-on-content-request>
    </token-auth-feature>
    <media-encryption-feature>
        <enabled>true</enabled>
        <percentage-coverage>100</percentage-coverage>
    </media-encryption-feature>
    <content-targeting-feature>
        <enabled>false</enabled>
        <geo-protection>
            <enabled>false</enabled>
            <allow-locations>true</allow-locations>
            <countries>
                <country>
                    <country-code>US</country-code>
                </country>
            </countries>
            <regions />
            <override-ips />
            <geo-redirect-on-deny-enabled>false</geo-redirect-on-deny-enabled>
            <dmas />
        </geo-protection>
        <ip-access>
            <enabled>false</enabled>
            <allow-ips>false</allow-ips>
            <ip-list />
            <ip-redirect-on-deny-enabled>false</ip-redirect-on-deny-enabled>
        </ip-access>
        <referral-domain>
            <enabled>false</enabled>
            <allowed-domains />
            <referrer-redirect-on-deny-enabled>false
            </referrer-redirect-on-deny-enabled>
        </referral-domain>
    </content-targeting-feature>
    <player-verification-feature>
        <enabled>false</enabled>
        <support-player-enabled>false</support-player-enabled>
        <reset-support-player>false</reset-support-player>
        <time-left-for-support-player>0</time-left-for-support-player>
        <players>
            <player>
                <hash>SAMPLEHASH1</hash>
                <description>Sample Player 2</description>
                <enabled>true</enabled>
            </player>
            <player>
                <hash>SAMPLEHASH1</hash>
                <description>Sample Player</description>
                <enabled>true</enabled>
            </player>
        </players>
    </player-verification-feature>
</security-policy>

Promote a policy

Promote a security policy to the production network.

PUT /config-media-security/v1/security/{policyID}/promote

Example: /config-media-security/v1/security/1234/promote

Content-Type: application/xml

Request:

{}

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <message>Successfully promoted policy: 1234</message>
</Response>

Remove a policy

Delete a policy from both staging and production networks.

DELETE /config-media-security/v1/security/{policyID}/promoteDelete

Example: /config-media-security/v1/security/1234/promoteDelete

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <message>Successfully deleted policy: 4510 from staging and production</message>
</Response>

Restore a policy deletion

Restore a security policy on the staging network.

PUT /config-media-security/v1/security/{policyID}/revertDelete

Example: /config-media-security/v1/security/1234/revertDelete

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
   <message>Successfully reverted policy: 1234 from staging</message>
</Response>

Restore a policy edit

Restore the production copy of a policy to the staging network.

PUT /config-media-security/v1/security/{policyID}/revertEdit

Example: /config-media-security/v1/security/1234/revertEdit

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<Response>
   <message>Successfully reverted policy: 1234 on staging network</message>
</Response>

Get an HD config policy

Get policy assignments for a given hostname.

GET /config-media-security/v1/security/live/{domain}/policy

Example: /config-media-security/v1/security/live/speedy.example.com/policy

Parameter Type Sample Description
Required
domain String speedy.example.com The fully qualified domain name for the host in question.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<policy-assignments>
    <assignment>
        <environment>Staging</environment>
        <rules>
            <rule>
                <policy-name>POLICY NAME</policy-name>
                <policy-id>1234</policy-id>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
    <assignment>
        <environment>Production</environment>
        <rules>
            <rule>
                <policy-name>POLICY NAME</policy-name>
                <policy-id>1234</policy-id>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
</policy-assignments>

Modify an HD config policy

Update policy assignments for a given hostname on the staging network.

PUT /config-media-security/v1/security/live/{domain}/policy

Example: /config-media-security/v1/security/live/speedy.example.com/policy

Content-Type: application/xml

Request:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assignment>
    <rules>
        <rule>
            <policy-name>POLICY NAME</policy-name>
            <policy-id>1234</policy-id>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
        <rule>
            <policy-name>POLICY NAME2</policy-name>
            <policy-id>12345</policy-id>
            <path>/abc/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
    </rules>
</assignment>

Parameter Type Sample Description
Required
domain String speedy.example.com The fully qualified domain name for the host in question.

Status 200 application/xml

Response:

<policy-assignments>
    <assignment>
        <environment>Staging</environment>
        <rules>
            <rule>
                <policy-name>POLICY NAME</policy-name>
                <policy-id>1234</policy-id>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-name>POLICY NAME2</policy-name>
                <policy-id>12345</policy-id>
                <path>/abc/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
    <assignment>
        <environment>Production</environment>
        <rules>
            <rule>
                <policy-name>POLICY NAME</policy-name>
                <policy-id>1234</policy-id>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
</policy-assignments>

Get an HD config policy per environment

Get a policy assignment for either the staging or production network.

GET /config-media-security/v1/security/live/{domain}/policy/{environment}

Example: /config-media-security/v1/security/live/speedy.example.com/policy/Production

Parameter Type Sample Description
Required
domain String speedy.example.com The fully qualified domain name for the host in question.
environment Enumeration Production The environment. Possible values: Production, Staging.

Status 200 application/xml

Response:

<assignment>
    <rules>
        <rule>
            <policy-name>POLICY NAME</policy-name>
            <policy-id>1234</policy-id>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
        <rule>
            <policy-name>POLICY NAME2</policy-name>
            <policy-id>12345</policy-id>
            <path>/abc/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
    </rules>
</assignment>

List policy assignments

Get a policy assignment for a given policy on the staging and production network.

GET /config-media-security/v1/security/live/{policyID}/policyassignments

Example: /config-media-security/v1/security/live/1234/policyassignments

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<policy-assignments>
    <assignment>
        <environment>Staging</environment>
        <rules>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-1</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-2</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-3</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-4</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
    <assignment>
        <environment>Production</environment>
        <rules>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-1</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-2</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-3</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
            <rule>
                <policy-id>-1</policy-id>
                <configuration-name>CONFIG-4</configuration-name>
                <path>/...</path>
                <start-time>*</start-time>
                <end-time>*</end-time>
            </rule>
        </rules>
    </assignment>
</policy-assignments>

Get a policy assignment

Get a policy assignment for a given policy on either the staging or production network.

GET /config-media-security/v1/security/live/{policyID}/policyassignments/{environment}

Example: /config-media-security/v1/security/live/1234/policyassignments/Production

Parameter Type Sample Description
Required
environment Enumeration Production The environment. Possible values: Production, Staging.
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<assignment>
    <rules>
        <rule>
            <policy-id>-1</policy-id>
            <configuration-name>CONFIG-1</configuration-name>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
        <rule>
            <policy-id>-1</policy-id>
            <configuration-name>CONFIG-2</configuration-name>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
        <rule>
            <policy-id>-1</policy-id>
            <configuration-name>CONFIG-3</configuration-name>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
        <rule>
            <policy-id>-1</policy-id>
            <configuration-name>CONFIG-4</configuration-name>
            <path>/...</path>
            <start-time>*</start-time>
            <end-time>*</end-time>
        </rule>
    </rules>
</assignment>

Promote a policy assignment

Promote a security policy assignment on the production network.

PUT /config-media-security/v1/security/live/{policyID}/policyassignments/promote

Example: /config-media-security/v1/security/live/1234/policyassignments/promote

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<Response>
   <message>Successfully promoted policy assignment for policy ID : 1234</message>
</Response>

Revert a policy assignment promotion

Revert a policy assignment from the production network to the staging network.

PUT /config-media-security/v1/security/live/{policyID}/policyassignments/revert

Example: /config-media-security/v1/security/live/1234/policyassignments/revert

Parameter Type Sample Description
Required
policyID Number 1234 The ID of the policy to fetch.

Status 200 application/xml

Response:

<Response>
   <message>Successfully reverted policy assignments for policy ID : 1234</message>
</Response>

List countries

Get available countries for the Content Targetting feature.

GET /config-media-security/v1/security/countries

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<geo-countries>
   <country>
      <country-code>AD</country-code>
      <country-name>Andorra</country-name>
      <continent-code>EU</continent-code>
   </country>
   <country>
      <country-code>AE</country-code>
      <country-name>United Arab Emirates</country-name>
      <continent-code>AS</continent-code>
   </country>
   <country>
      <country-code>AF</country-code>
      <country-name>Afghanistan</country-name>
      <continent-code>AS</continent-code>
   </country>
   <country>
      <country-code>AG</country-code>
      <country-name>Antigua and Barbuda</country-name>
      <continent-code>NA</continent-code>
   </country>
   <country>
      <country-code>AI</country-code>
      <country-name>Anguilla</country-name>
      <continent-code>NA</continent-code>
   </country>
   <country>
      <country-code>ZW</country-code>
      <country-name>Zimbabwe</country-name>
      <continent-code>AF</continent-code>
   </country>
</geo-countries>

List designated market areas

Get available DMAs for the Content Targetting feature.

GET /config-media-security/v1/security/dmas

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dmas>
    <dma>
        <dma-code>500</dma-code>
        <dma-name>Portland-Auburn::ME,NH</dma-name>
    </dma>
    <dma>
        <dma-code>501</dma-code>
        <dma-name>NewYork::CT,NJ,NY,PA</dma-name>
    </dma>
    <dma>
        <dma-code>502</dma-code>
        <dma-name>Binghamton::NY</dma-name>
    </dma>
    <dma>
        <dma-code>503</dma-code>
        <dma-name>Macon::GA</dma-name>
    </dma>
    <dma>
        <dma-code>504</dma-code>
        <dma-name>Philadelphia::DE,NJ,PA</dma-name>
    </dma>
    <dma>
        <dma-code>505</dma-code>
        <dma-name>Detroit::MI</dma-name>
    </dma>
    <dma>
        <dma-code>868</dma-code>
        <dma-name>Chico-Redding::CA</dma-name>
    </dma>
    <dma>
        <dma-code>881</dma-code>
        <dma-name>Spokane::ID,MT,OR,WA</dma-name>
    </dma>
</dmas>

List regions

Get available Regions for the Content Targetting feature.

GET /config-media-security/v1/security/regions

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<regions>
   <region>
      <country-code>AU</country-code>
      <region-code>ACT</region-code>
      <region-name>Australian Capital Territory</region-name>
   </region>
   <region>
      <country-code>AU</country-code>
      <region-code>NSW</region-code>
      <region-name>New South Wales</region-name>
   </region>
   <region>
      <country-code>AU</country-code>
      <region-code>NT</region-code>
      <region-name>Northern Territory</region-name>
   </region>
   <region>
      <country-code>AU</country-code>
      <region-code>QLD</region-code>
      <region-name>Queensland</region-name>
   </region>
   <region>
      <country-code>AU</country-code>
      <region-code>SA</region-code>
      <region-name>South Australia</region-name>
   </region>
   <region>
      <country-code>AU</country-code>
      <region-code>TAS</region-code>
      <region-name>Tasmania</region-name>
   </region>
   <region>
      <country-code>US</country-code>
      <region-code>WV</region-code>
      <region-name>West Virginia</region-name>
   </region>
   <region>
      <country-code>US</country-code>
      <region-code>WY</region-code>
      <region-name>Wyoming</region-name>
   </region>
</regions>

List regions per country

Get a country’s available Regions for the Content Targetting feature.

GET /config-media-security/v1/security/regions/{countryCode}

Example: /config-media-security/v1/security/regions/US

Parameter Type Sample Description
Required
countryCode String US The country code.

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<regions>
    <region>
      <country-code>US</country-code>
      <region-code>WA</region-code>
      <region-name>Washington</region-name>
   </region>
   <region>
      <country-code>US</country-code>
      <region-code>WV</region-code>
      <region-name>West Virginia</region-name>
   </region>
   <region>
      <country-code>US</country-code>
      <region-code>WY</region-code>
      <region-name>Wyoming</region-name>
   </region>
</regions>

List access control groups

Get the set of available ACGs and sub-ACGs for an account.

GET /config-media-security/v1/security/acgs

Status 200 application/xml

Response:

<?xml version="1.0" encoding="UTF-8"?>
<acgs>
   <acg>ACG-1</acg>
   <acg>ACG-2</acg>
   <acg>ACG-1.1</acg>
</acgs>