The following shows how to generate the delivery/purge/audit-requests-details report with the Generate a report POST operation of the Reporting API v2. See also other available reports.

Report definition

Provides purge requests audit details.

Data available for: 45 days

Available dimensions

Dimension nameDescriptionConfiguration
arlCountNumber of objects of type ARL.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
cpcodeCountNumber of objects of type CP code.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
objectsCountNumber of objects in a purge request.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
tagCountNumber of objects of type TAG.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
urlCountNumber of objects o type URL.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
contractTypeContract type identifier associated with an API client.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: true
accountIdCustomer account identifier linked to a purge request.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: true
accountSwitchingEnabledIndicates whether account switching is enabled.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: true, false
authorizable: false
apiVersionPurge API version.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
authorizationClientTokenUnique EdgeGrid authorization token assigned to an API client.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
badRequestObjectSpecific object in a purge request that triggered an error.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
clientIdIdentifier of an API client generating a purge request.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
clientNameName given to an API client by the user who creates it. It is applicable to service accounts.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
clientOwnerExternally visible customer username of an API client associated with a purge request.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
consumerTokenHostnameUnique hostname assigned to an API client.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
contentLengthContent size reported in the Content-Length HTTP request header.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
contentTypeMedia format size reported in the Content-Type HTTP request header.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
cpcodePurgeEnabledIndicates whether CP code purge is enabled.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: true, false
authorizable: false
elapsedTimeTime in milliseconds between receiving a request and writing the last byte of a reply to a client socket.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
environmentEnvironment to which a purge request applies, either PRODUCTION or STAGING.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: STAGING, PRODUCTION
authorizable: false
errorTitleTitle of an error response. “-” means there were no errors.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
httpMethodHTTP request method, either GET or POST.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: GET, POST
authorizable: false
requestActionPurge action desired on objects in a purge request, either UNDO, INVALIDATE, or DELETE.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: INVALIDATE, DELETE, UNDO
authorizable: false
requestSourceSource of a purge request. For example, PORTAL.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: LEGACY, LOCAL, EDGEGRID, PORTAL
authorizable: false
requestTypeType of objects in a purge request. For example, ARL.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: CPCODE, VCD, ARL, TAG, URL
authorizable: false
responseCode HTTP response status code. For example, 201.type: LONG
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
responseClassClass of HTTP response status codes. For example, 2xx.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: 0xx, 1xx, 2xx, 3xx, 4xx, 5xx, 6xx, other
authorizable: false
responseStatusIndicates whether an HTTP request resulted in a success or an error.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: error, success
authorizable: false
sourceClientIpIP address of a host machine on which a purge request was initiated.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
supportIdUnique identifier of a purge request.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false
tagPurgeEnabledIndicates whether TAG purge is enabled.type: STRING
filterable: true
mandatory: false
filterType: ENUM
filterEnumValues: true, false
authorizable: false
timestampDate and time of receiving a purge request.type: TIMESTAMP_MS
filterable: false
mandatory: false
filterType: TEXT
authorizable: false
userAgentUser agent reported in the User-Agent HTTP request header.type: STRING
filterable: true
mandatory: false
filterType: TEXT
authorizable: false

Generate a report

Use the Generate a report POST operation to execute a report.

Follow the API workflows to:

📘

This report doesn't support SortBys

You can't define SortBys in a request body for this report. The report always shows all available dimensions, without any custom sorting.

POST request sample

POST /reporting-api/v2/reports/delivery/purge/audit-requests-details/data?timeRange=LAST_1_DAY

Available time ranges

For this report, you can use these predefined ranges in the timeRange query parameter:

  • LAST_1_HOUR

  • LAST_1_DAY

  • LAST_2_DAYS

  • LAST_1_WEEK

  • LAST_30_DAYS

Supported filters

This report supports filtering by dimensions.

You can filter by each dimension that is labeled as filterable: true in the report options. See how to use filters.

Request body example


{
    "filters": [
        {
            "dimensionName": "accountSwitchingEnabled",
            "operator": "IN_LIST",
            "expressions": [
                "true"
            ]
        },
        {
            "dimensionName": "clientOwner",
            "operator": "NOT_ENDS_WITH",
            "expressions": [
                "owner3",
                "owner2"
            ]
        }
    ],
    "limit": 1000
}

Default values

These default values apply to all requests, meaning they are used unless you specify otherwise.

  • Time range:

    • start = now - 1 hour
    • end = now
  • Dimensions:

    • timestamp
    • supportId
    • clientOwner
    • clientName
    • clientId
    • sourceClientIp
    • authorizationClientToken
    • requestAction
    • requestType
    • requestSource
    • environment
    • responseStatus
    • responseClass
    • responseCode
    • errorTitle
    • accountId
    • contractType
    • httpMethod
    • apiVersion
    • badRequestObject
    • elapsedTime
    • contentLength
    • contentType
    • userAgent
    • consumerTokenHostname
    • accountSwitchingEnabled
    • cpcodePurgeEnabled
    • tagPurgeEnabled
    • cpcodeCount
    • tagCount
    • arlCount
    • objectsCount
    • urlCount
  • Filters:

    • contractType. You can use all contract types to which you are authorized in ​Control Center​. If you don't specify any contract types in your request, the report shows data for all your available contract types.
    • accountId. You can use all account IDs to which you are authorized in ​Control Center​. If you don't specify any account ID in your request, the report shows data for all your available account IDs.
  • SortBys:

    • timestamp, DESCENDING

Limits

Each report has some configured limits. If your request has values that exceed the limits, it results in an HTTP 400 Bad Request response. This report has the following limits:

SettingLimit
Maximum number of dimensions0
Maximum time range45 days
Maximum retention of historic data45 days
Maximum length of value for TEXT filters100
Maximum number of data points returned25000

Rate limiting

This report uses both cost-based and hit-based rate limiting. For the hit-based rate limiting, the limit for an account is 10 requests per minute.

In the asynchronous flow, you can have 3 queued POST requests at the same time.

Read more about the rate limiting.

Get report options

To get the report metadata through the API, run the Get report options operation.

GET /reporting-api/v2/reports/delivery/purge/audit-requests-details

The response shows the list of available metrics and dimensions, the default values, and configured limits.

{
    "name": "Purge requests details report data",
    "status": "PUBLISHED",
    "metrics": [],
    "dimensions": [
        {
            "name": "arlCount",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "cpcodeCount",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "objectsCount",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "tagCount",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "urlCount",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "contractType",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": true
        },
        {
            "name": "accountId",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": true
        },
        {
            "name": "accountSwitchingEnabled",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "true",
                "false"
            ],
            "authorizable": false
        },
        {
            "name": "apiVersion",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "authorizationClientToken",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "badRequestObject",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "clientId",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "clientName",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "clientOwner",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "consumerTokenHostname",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "contentLength",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "contentType",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "cpcodePurgeEnabled",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "true",
                "false"
            ],
            "authorizable": false
        },
        {
            "name": "elapsedTime",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "environment",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "STAGING",
                "PRODUCTION"
            ],
            "authorizable": false
        },
        {
            "name": "errorTitle",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "httpMethod",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "GET",
                "POST"
            ],
            "authorizable": false
        },
        {
            "name": "requestAction",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "INVALIDATE",
                "DELETE",
                "UNDO"
            ],
            "authorizable": false
        },
        {
            "name": "requestSource",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "LEGACY",
                "LOCAL",
                "EDGEGRID",
                "PORTAL"
            ],
            "authorizable": false
        },
        {
            "name": "requestType",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "CPCODE",
                "VCD",
                "ARL",
                "TAG",
                "URL"
            ],
            "authorizable": false
        },
        {
            "name": "responseCode",
            "type": "LONG",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "responseClass",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "0xx",
                "1xx",
                "2xx",
                "3xx",
                "4xx",
                "5xx",
                "6xx",
                "other"
            ],
            "authorizable": false
        },
        {
            "name": "responseStatus",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "error",
                "success"
            ],
            "authorizable": false
        },
        {
            "name": "sourceClientIp",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "supportId",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "tagPurgeEnabled",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "ENUM",
            "filterEnumValues": [
                "true",
                "false"
            ],
            "authorizable": false
        },
        {
            "name": "timestamp",
            "type": "TIMESTAMP_MS",
            "filterable": false,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        },
        {
            "name": "userAgent",
            "type": "STRING",
            "filterable": true,
            "mandatory": false,
            "filterType": "TEXT",
            "authorizable": false
        }
    ],
    "predefinedTimeRanges": [
        "LAST_1_HOUR",
        "LAST_1_DAY",
        "LAST_2_DAYS",
        "LAST_1_WEEK",
        "LAST_30_DAYS"
    ],
    "defaults": {
        "defaultTimeRange": {
            "start": "now - 1 hour",
            "end": "now"
        },
        "defaultMetrics": [],
        "defaultDimensions": [
            "timestamp",
            "supportId",
            "clientOwner",
            "clientName",
            "clientId",
            "sourceClientIp",
            "authorizationClientToken",
            "requestAction",
            "requestType",
            "requestSource",
            "environment",
            "responseStatus",
            "responseClass",
            "responseCode",
            "errorTitle",
            "accountId",
            "contractType",
            "httpMethod",
            "apiVersion",
            "badRequestObject",
            "elapsedTime",
            "contentLength",
            "contentType",
            "userAgent",
            "consumerTokenHostname",
            "accountSwitchingEnabled",
            "cpcodePurgeEnabled",
            "tagPurgeEnabled",
            "cpcodeCount",
            "tagCount",
            "arlCount",
            "objectsCount",
            "urlCount"
        ],
        "defaultSortBys": [
            {
                "name": "timestamp",
                "sortOrder": "DESCENDING"
            }
        ]
    },
    "limits": {
        "maxDimensions": 0,
        "maxDateRangeInDays": 45,
        "maxRetentionInDays": 45,
        "textFilterMaxLength": 100,
        "dataPointsLimit": 25000
    },
    "links": [
        {
            "rel": "self",
            "href": "/reporting-api/v2/reports/delivery/purge/audit-requests-details",
            "describedBy": "/reporting-api/v2/reports/schema",
            "allow": [
                "GET"
            ]
        },
        {
            "rel": "data",
            "href": "/reporting-api/v2/reports/delivery/purge/audit-requests-details/data",
            "allow": [
                "POST"
            ]
        }
    ]
}