Invalidate Page Renditions

ID: invalidatePageRenditions

This action invalidates page renditions in one or more applications. You can target a single page rendition or a broad set of page renditions using a custom query.

{
    "title": "Invalidate Page Renditions",
    "properties": {
        "applicationDeployments": {
            "title": "Application Deployments",
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "applicationId": {
                        "title": "Application ID",
                        "type": "string"
                    },
                    "deploymentKey": {
                        "title": "Deployment Key",
                        "type": "string"
                    }
                }
            }
        },
        "applicationId": {
            "title": "Application ID",
            "type": "string"
        },
        "deploymentKey": {
            "title": "Deployment Key",
            "type": "string"
        },
        "pageRenditionId": {
            "title": "Page Rendition ID",
            "type": "string"
        },
        "pageRenditionQuery": {
            "title": "Page Rendition Query",
            "type": "object"
        }
    }
}

Sample #1 - Invalidate Single App Deployment

Suppose you have the following two page renditions cached out:

{
    "produces": {
        "section": "header",
        "nodes": [
            "guid1"
        ]
    }
}

{
    "produces": {
        "section": "header",
        "nodes": [
            "guid2"
        ]
    }
}

You can invalidate both of these using a single invalidatePageRenditions action with this configuration:

{
    "applicationId": "applicationId1",
    "deploymentKey": "default",
    "pageRenditionQuery": {
        "produces.section": "header"
    }
}

This will invalidate any and all matching page renditions for the specified application and deployment.

Sample #2 - Invalidate Multiple App Deployments

Suppose you have a similar scenario as Sample #1 above. However, imagine that you have two applications.

In Application #1, the following page renditions are cached out:

{
    "produces": {
        "section": "header",
        "nodes": [
            "guid1"
        ]
    }
}

{
    "produces": {
        "section": "header",
        "nodes": [
            "guid2"
        ]
    }
}

In Application #2, the following page renditions are cached out:

{
    "produces": {
        "section": "header",
        "nodes": [
            "guid3"
        ]
    }
}

{
    "produces": {
        "section": "footer",
        "nodes": [
            "guid4"
        ]
    }
}

You can invalidate across both application deployments using a single invalidatePageRenditions action, like this:

{
    "applicationDeployments": [{
        "applicationId": "applicationId1",
        "deploymentKey": "default",
    }, {
        "applicationId": "applicationId2",
        "deploymentKey": "default",
    }],
    "pageRenditionQuery": {
        "produces.section": "header"
    }
}

As a result, both page renditions will be deleted from Application #1. And one page rendition will be deleted from Application #2.