Lumen help

Content invalidation

Description

Requests to invalidate content.

Typical use

Send invalidation requests for caching properties or streaming IDs.

Method

POST

Schema location

https://ws.lumen.com/schema/invalidations/v1.0

Base URI

https://ws.lumen.com

URI syntax

/invalidations/(version)/(scope)?[force=true][&ignoreCase=true][notification=name@exampledomain.com]

version
Required.
scope
/(AG)/(SCID)/(NI)
/origininvalidation
Required. AG is Access Group ID.
NI is network identifier name.
origininvalidation is the origin name.
force
"true | 1
"false" | 0|
(not specified)
Optional. Defines Invalidation Type. "true" matches Forced; "false" matches Normal radio buttons in the Media portal interface.
ignoreCase
"true" | 1
"false" | 0 | (not specified)
Optional. Defines how URLs are matched to those in cache.
notification
"name@domain.com,
name2@domain.com,
name3@domain.com"
Optional. Send notification to one or more email addresses when the invalidation process is complete. Use up to 250 characters total, including comma separators, with no spaces between addresses.

Example 1

https://ws.lumen.com/invalidations/v1.0/12345/BBBN56789/cdn.exampleni.com?notification=name@domain.com,name2@domain.com

Invalidate path(s) specified in the body of the POST request, force is false, ignoreCase is false. Send email notification to two addresses when complete.

<paths>
<path>/images/*.jpg</path>
</paths>
Invalidate ALL jpg objects (*.jpg) in the /images directory, including any subdirectories.

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN" xsi:noNamespaceSchemaLocation=
"https://ws.lumen.com/schema/invalidations/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1295308737747-3910</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="cdn.lumen.com">
<serviceResource>/12345/BBBN56789/cdn.lumen.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295308738596" path="/images.*jpg"/>
</invalidations>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

{
"accessGroup": {
"id": 12345,
"name": "Level 3 - Internal Provisioning CDN",
"apiCorrelationId": "API-12345678910-abcd123-zyxw",
"serviceResource": "/12345",
"services": [
{
"id": "BBBN56789",
"serviceResource": "/12345/BBBN56789",
"product": "CACHING",
"networkIdentifiers": [
{
"id": "cdn.lumen.com",
"serviceResource": "/12345/BBBN56789/cdn.lumen.com",
"product": "CACHING",
"invalidations": [
{
"id": "DAG_12345/9774@12345-13776-1295308738596",
"path": "/images.*jpg"
}
]
}
]
}
]
}
}

Example 2

https://ws.lumen.com/invalidations/v1.0/12345/BBBN56789/cdn.exampleni.com?force=true

Invalidate path(s) specified in the body of the POST request, force is true, ignoreCase is false.

<paths>
<path>/directory/structure</path>
<path>/directory/structure02</path>
</paths>

Invalidates two specific objects identified by their paths.

PathRequired. Up to 200 <path> elements are allowed in a single invalidation request. Can include wildcards. If a wildcard is used, only one <path> element can be specified in the request.

The path must include a leading slash "/".

<?xml version="1.0" encoding="UTF-8"?>
<accessGroup id="12345" name="My Access Group"
xsi:noNamespaceSchemaLocation=
"https://ws.level3.com/schema/invalidations/v1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1270071184562-8650</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="cdn.exampleni.com">
<serviceResource>/12345/BBBN56789/cdn.exampleni.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="12345/6789@LUMEN@12345-24674-126419
2808754" path="directory/structure"/>
<invalidation id="12345/6789@LUMEN@12345-24674-126419
2808754" path="directory/structure02"/>
</invalidations>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

Example 3

https://ws.lumen.com/invalidations/v1.0/12345?ignoreCase=true&force=true

Invalidate path(s) specified in the body of the POST request, force is true, ignoreCase is true.

<properties>
<property>
<name>exampleproperty1</name>
<paths>
<path>/example1.jpg</path>
<path>/example2.jpg</path>
</paths>
</property>
<property>
<name>exampleproperty2</name>
<paths>
<path>/example3.jpg</path>
</paths>
</property>
</properties>

Invalidates multiple properties (and their paths) with one API request.

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN" xsi:noNamespaceSchemaLocation= "https://ws.lumen.com/schema/invalidations/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1295372721524-1835</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<networkIdentifiers>
<ni id="exampleproperty2">
<serviceResource>/12345/BBBN56789/exampleproperty1
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-21470-1295372734654"
path="/example3.jpg"/>
</invalidations>
</ni>
<ni id="exampleproperty2">
<serviceResource>/12345/BBBN56789/exampleproperty2
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295372734654"
path="/example1.jpg"/>
<invalidation id="DAG_12345/9774@12345-13776-1295372734654"
path="/example2.jpg"/>
</invalidations>
</ni>
</networkIdentifiers>
</accessGroup>

Example 4

https://ws.lumen.com/invalidations/v1.0/12345

Invalidate multiple properties with a single request.

<properties>
<property>
<name>exampleproperty1</name>
<paths>
<path>/example*.jpg</path>
</paths>
</property>
<property>
<name>exampleproperty2</name>
<paths>
<path>/example*.jpg</path>
</paths>
</property>
</properties>

[
{"name":"exampleproperty1",
"paths":["example*.jpg"]},
{"name":"exampleproperty2",
"paths":["example*.jpg"]}
]

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN" xsi:noNamespaceSchemaLocation= "https://ws.lumen.com/schema/invalidations/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1295374895751-0173</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<networkIdentifiers>
<ni id="exampleproperty1">
<serviceResource>/12345/BBBN56789/www.lumentest.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-21470-1295374897118"
path="/example*.jpg"/>
</invalidations>
</ni>
<ni id="exampleproperty2">
<serviceResource>/12345/BBBN56789/cdn.lumen.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295374897118"
path="/example*.jpg"/>
</invalidations>
</ni>
</networkIdentifiers>
</accessGroup>

Possible status and error messages returned to client

Description

Requests to invalidate content at the origin storage server.

Typical use

To send invalidation requests for caching properties or streaming IDs on the origin server.

Method

POST

Schema location

https://ws.lumen.com/schema/origininvalidations/v1.0

Base URI

https://ws.lumen.com

URI syntax

/origininvalidations/(version)/(scope)?[force=true][&ignoreCase=true][notification=name@exampledomain.com]

Lumen may add a prefix to the origin host name, which must also be included in your API request. For information on how to add this prefix to your code, contact CDN Support.

version
Required.
scope
/(AG)/(SCID)/(ORIGIN)
Required. AG is Access Group ID. ORIGIN is the origin storage server name.
force
"true | 1
"false" | 0|
(not specified)
Optional. Defines Invalidation Type. "true" matches Forced; "false" matches Normal radio buttons in the Media Portal interface.
ignoreCase
"true" | 1
"false" | 0 | (not specified)
Optional. Defines how URLs are matched to those in cache.
notification
"name@domain.com,
name2@domain.com,
name3@domain.com"
Optional. Send notification to one or more email addresses when the invalidation process is complete. Use up to 250 characters total, including comma separators, with no spaces between addresses.

Example 1

https://ws.lumen.com/origininvalidations/v1.0/12345/BBBN56789/cdn.exampleorigin.com?notification=name@domain.com,name2@domain.com

Invalidate path(s) specified in the body of the POST request. Send email notification to two addresses when complete.

<paths>
<path>/path1/example1.jpg</path>
<path>/path1/example2.jpg</path>
</paths>

Invalidates two paths with one API request.

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN">
<apiCorrelationId>CDNPortal-1289931176093-7961</apiCorrelationId>
<serviceResource>/202</serviceResource>
<services>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="cdn.lumen.com">
<serviceResource>/12345/BBBN56789/cdn.
lumen.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9931@12345-13776-1289931178391"path="/path1/test1.jpg"/>
<invalidation id="DAG_12345/9931@12345-13776-1289931178391"path="/path1/test2.jpg"/>
</invalidations>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

{
"accessGroup": {
"id": 12345,
"name": "Lumen - Internal Provisioning CDN",
"apiCorrelationId": "API-12345678910-abcd123-zyxw",
"serviceResource": "/12345",
"services": [
{
"id": "BBBN56789",
"serviceResource": "/12345/BBBN56789",
"product": "CACHING",
"networkIdentifiers": [
{
"id": "cdn.level3.com",
"serviceResource": "/12345/BBBN56789/cdn.lumen.com",
"product": "CACHING",
"invalidations": [
{
"id": "DAG_12345/9774@12345-13776-1295308738596",
"path": "/images.*jpg"
}
]
}
]
}
]
}
}

Possible status and error messages returned to client

Description

Request to see invalidation status.

Method

GET

Schema location

https://ws.lumen.com/schema/invalidationStatus/v1.0

Base URI

https://ws.lumen.com

URI syntax

/invalidations/(version)/(scope)?[id=(invalidation tracking ID)]

version
Required. Version
scope
/(AG)/
or
/(AG)/(SCID)/
or
/(AG)/(SCID)/(NI)/
Required.

Scope must retain sequence that reflects hierarchy.
Scope cannot have an optional middle value. AG is Access Group ID. NI is network identifier name.
id (resource) Optional.

Invalidation ID—status for that ID.

Left blank—status for all invalidations submitted within the scope.
verbose
true | 1| false| 0
Optional (defaults to false). If set to true or 1, all properties within scope will display regardless of whether they have invalidation status notifications. If left unspecified or set to false or 0, only those properties within the scope that have invalidation IDs will be returned.

URI examples

https://ws.lumen.com/invalidations/v1.0/12345

Returns properties within Access Group 12345 for which there are invalidation IDs.

Example 1

https://ws.lumen.com/invalidations/v1.0/12345/BBBN56789/cdn.exampleni.com

Returns status for all invalidations submitted for a given property.

<?xml version="1.0" encoding="UTF-8"?>
<accessGroup id="12345" name="My Access Group"
xsi:noNamespaceSchemaLocation=
“https://ws.lumen.com/schema/invalidationStatus/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1270071184562-8650</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id=“BBBN56789”>
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id=“cdn.exampleni.com”>
<serviceResource>/12345/BBBN56789/cdn.exampleni.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/6789@12345-24674-1264192808754"
percentComplete=”55”>
<paths>
<path>/sample/01.jpg</path>
<path>/sample/02.jpg</path>
</paths>
</invalidation>
<invalidation …/>
</invalidations>
</ni>
<ni …/>
</networkIdentifiers>
</service>
</services>
</accessGroup>

{
"accessGroup": {
"id": 12345,
"name": "My Access Group",
"apiCorrelationId": "API-12345678910-abcd123-zyxw", API-1205173346-da97581b-a9a1-4573-8770-bfc645771973
"serviceResource": "/12345",
"services": [
{
"id": "BBBN56789",
"serviceResource": "/12345/BBBN56789",
"product": "CACHING",
"networkIdentifiers": [
{
"id": "cdn.exampleni.com",
"serviceResource": "/12345/BBBN56789/cdn.exampleni.com",
"product": "CACHING",
"invalidations": [
{
"id": "DAG_12345/6789@12345-24674-1264192808754",
"percentComplete": "100",
"paths": [
"/sample/01.jpg",
"/sample/02.jpg"
]
}
]
}
]
}
]
}
}

Example 2

https://ws.lumen.com/invalidations/v1.0/12345/BBBN56789

Returns status of invalidations within Access Group 12345 and SCID BBBN56789.

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN"
xsi:noNamespaceSchemaLocation=
"https://ws.lumen.com/schema/invalidationStatus/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1295369074375-2228</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="cdn.lumen.com">
<serviceResource>/12345/BBBN56789/cdn.lumen.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295308738596"
percentComplete="100">
<paths>
  <path>/images.*cpp</path>
</paths>
</invalidation>
<invalidation id="DAG_12345/9774@DAG_12345-13776-1295307
828333" percentComplete="100">
<paths>
  <path>/images/*.cpp</path>
</paths>
</invalidation>
</invalidations>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

Example 3

https://ws.lumen.com/invalidations/v1.0/12345/BBBN56789/cdn.exampleni.com?id=DAG_12345/9774@12345-13776-1295374897118

Returns status for a specific invalidation tracking ID.

<accessGroup id="12345" name="Lumen - Internal Provisioning CDN"
xsi:noNamespaceSchemaLocation=
"https://ws.lumen.com/schema/invalidationStatus/v1.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<apiCorrelationId>CDNPortal-1295381524017-9511</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="cdn.exampleni.com">
<serviceResource>/12345/BBBN56789/cdn.exampleni.com
</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295374897118
percentComplete="100">
<paths>
   <path>/[eE][xX][aA][mM][pP][lL][eE]*.[jJ][pP][gG]</path>
</paths>
</invalidation>
</invalidations>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

Example 4

https://ws.lumen.com/invalidations/v1.0/12345?verbose=true

Returns the full node for Access Group 12345, including properties with invalidation IDs and those without.

<accessGroup id="12345" name="My Access Group">
<apiCorrelationId>CDNPortal-1295389069002-0969</apiCorrelationId>
<serviceResource>/12345</serviceResource>
<services>
<service id="BBBM54321">
<serviceResource>/12345/BBBM54321</serviceResource>
<product>STREAMING</product>
<networkIdentifiers>
<ni id="exampleni1">
<serviceResource>/12345/BBBM54321/exampleni1</serviceResource>
<product>STREAMING</product>
<type>On Demand</type>
</ni>
</networkIdentifiers>
</service>
<service id="BBBN56789">
<serviceResource>/12345/BBBN56789</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id=" exampleni2">
<serviceResource>/12345/BBBN56789/exampleni2</serviceResource>
<product>CACHING</product>
<invalidations>
<invalidation id="DAG_12345/9774@12345-13776-1295374489244"
percentComplete="100">
<paths>
   <path>/[eE][xX][aA][mM][pP][lL][eE]1.[jJ][pP][gG]</path>
</paths>
<invalidation id="DAG_12345/9774@DAG_12345-13776-129530
7828333" percentComplete="100">
<paths>
   <path>/images/*.png</path>
</paths>
</invalidation>
</invalidations>
</ni>
</networkIdentifiers>
</service>
<service id="BBBP12346">
<serviceResource>/12345/BBBP12346</serviceResource>
<product>CACHING</product>
<networkIdentifiers>
<ni id="exampleni3">
<serviceResource>/12345/BBBP12346/exampleni3</serviceResource>
<product>CACHING</product>
</ni>
</networkIdentifiers>
</service>
</services>
</accessGroup>

Possible status and error messages returned to client