Get policy rejection, error and failure analytics as categorical data for request policies, response policies, and service requests
/apiplatform/analytics/v1/categorical/policies/{showPolicy}/{statusFilter}/{category}
Returns analytics for policy rejections, errors, and failures as categorical data. Use the category
parameter to specify the type of measures returned.
This operation returns the intersection of all applied query parameter filters.
Any authenticated user can request this resource. The response contains data the requesting user is authorized to view based on their role and the resources they are issued grants to (APIs, applications, and gateways).
Request
-
category: string
Pattern:
(all|requestPolicies|responsePolicies|services)
Type of policy data to return.all
shows data for service responses, request policies, and response policies.request-policies
shows data for policies only on the request flow.response-policies
shows data for policies only on the response flow.services
shows data for service responses only. -
showPolicy: string
Pattern:
(types|instances)
Show policy instances or types.instances
shows data collected by policy instance.types
shows data collected by policy type. -
statusFilter: string
Pattern:
(rejections|errors|failures)
Filters responses by status.rejections
shows policy rejections or service HTTP responses of 4*.errors
shows policy rejections or service HTTP responses of 5*.failures
combines rejections and errors.
-
apiIds(optional): array
Collection Format:
multi
Filter data by apiIds as repeated query parameters (like?apiIds=2&apiIds=3
) or a single-comma separated query parameter (like?apiIds=2,3
). -
appIds(optional): array
Collection Format:
multi
Filter data by appIds as repeated query parameters (like?appIds=2&appIds=3
) or a single comma separated query parameter (like?appIds=2,3
). -
gatewayIds(optional): array
Collection Format:
multi
Filter data by gatewayIds as repeated query parameters (like?gatewayIds=2&gatewayIds=3
) or a single-comma separated query parameter (like?gatewayIds=2,3
). -
groupBys(optional): array
Collection Format:
multi
Split the query results into groups based on repeated query parameters (like
?groupBys=gatewayIds&groupBys=nodeIds
) or a single comma separated query parameter (like?groupBys=gatewayIds,nodeIds
). Both of these examples display query results grouped by available gatewayIds and nodeIds.Grouping results by
gatewayIds
,nodeIds
,apiIds
, andappIds
is supported for all endpoints that support thegroupBy
query parameter. Additionally, grouping query results bypolicyVersion
,policyType
, andpolicyInstanceId
are supported for endpoints withpolicies
in the path. -
iterations(optional): array
Collection Format:
multi
Filter data by iterationIds as repeated query parameters (like?iterationIds=2&iterationIds=3
) or a single comma separated query parameter (like?iterationIds=2,3
). -
methods(optional): array
Collection Format:
multi
Filter data by methods as repeated query parameters (like?methods=GET&methods=PUT
) or a single comma separated query parameter (like?methods=GET,PUT
). -
nodeIds(optional): array
Collection Format:
multi
Filter data by nodeIds as repeated query parameters (like?nodeIds=2&appIds=3
) or a single comma separated query parameter (like?nodeIds=2,3
). -
planIds(optional): array
Collection Format:
multi
Filter data by planIds as repeated query parameters (like?planIds=2&planIds=3
) or a single comma separated query parameter (like?planIds=2,3
). -
serviceIds(optional): array
Collection Format:
multi
Filter data by serviceIds as repeated query parameters (like?serviceIds=2&serviceIds=3
) or a single comma separated query parameter (like?serviceIds=2,3
). -
timeEnd(optional): string
End time filter as ISO8601 offset date. Example:
2016-01-01T00:00:00-07:00
,2016-01-01T00:00:00Z
,2016-01-01T00:00:00
. The default value is no filtering. You must use this in conjunction with thetimeSetting=custom
query parameter. -
timeOffsetId(optional): string
ISO8601 time offset ID. Example:
Z
. This parameter overrides the time offset oftimeStart
ortimeEnd
. This parameter is also used when calculating the start of time groups. The value of this parameter defaults toZ
. (GMT).Note: Best effort is made to apply this parameter, but its accuracy may be limited by existing data granularity.
-
timeSetting(optional): string
Time setting mode. Defaults to
custom
. Valid values include:custom
,currentHour
,currentWeek
,currentMonth
,last15minutes
,last60minutes
,last24hours
,last7days
,last30days
,last365days
,january
,february
,march
,april
,may
,june
,july
,august
,september
,october
,november
,december
,year-2015
,year-2016
, etc. -
timeStart(optional): string
Start time filter as ISO8601 offset date. Example:
2016-01-01T00:00:00-07:00
,2016-01-01T00:00:00Z
,2016-01-01T00:00:00
. The default value is no filtering. You must use this in conjunction with thetimeSetting=custom
query parameter.
Response
- application/json
200 Response
object
-
count(optional):
integer(int32)
Response item count.
-
hasMore(optional):
boolean
Default Value:
false
Indicates if there are more results after the current batch. -
items:
array items
The actual response items.
-
limit(optional):
integer(int32)
Paging limit.
-
links(optional):
array links
HATEOAS links.
-
offset(optional):
integer(int32)
Paging offset.
-
states(optional):
array states
An optional list for API states. This is null by default.
-
time(optional):
object TimeMetadata
Metadata describing the time parameters used for the database query.
array
-
Array of:
object A policy summary data item.
Contains volume for policy types and instances.
array
-
Array of:
object GenericLink
HATEOAS generic link representation.
array
object
-
timeEnd(optional):
string
The calculated
timeEnd
used in the database query. -
timeOffsetId(optional):
string
The calculated
timeOffsetId
used in the database query. -
timeSetting(optional):
string
Value of the
timeSetting
query parameter. -
timeStart(optional):
string
The calculated
timeStart
used in the database query.
object
-
api_id(optional):
number
The API's Id.
-
api_name(optional):
string
The API's name.
-
measure:
number
Value of the measure.
-
message:
string
The error or rejection code.
-
policy_instance_id(optional):
number
The policy instance ID.
-
policy_type:
string
The policy type.
-
policy_version:
string
The policy version.
object
-
href:
string
Link reference string.
-
method(optional):
string
HTTP method used with the link.
-
rel:
string
Link relation string Value is either
canonical
or a specific string value. -
templated(optional):
string
Allowed Values:
[ "true", "false" ]
Indicates if the link has templated parts.
400 Response
401 Response
500 Response
Examples
The following example shows how to retrieve data on all rejected requests by type (instead of by each policy instance) by submitting a GET request on the REST resource using cURL. For more information about cURL, see Use cURL
curl -i -X GET
-H "Authorization: Bearer access_token
https://example.com/apiplatform/analytics/v1/categorical/policies/types/rejections/all
Example of Response Headers
The following shows an example of the response headers.
HTTP/1.1 200 OK Server: Oracle-Traffic-Director/12.2.1.0.0 Date: Fri, 30 Dec 2016 17:27:35 GMT Content-length: 798 Content-type: application/json X-oracle-dms-ecid: GDzF61tvR00000000 X-oracle-dms-rid: 0:1 Via: 1.1 otd_opc Proxy-agent: Oracle-Traffic-Director/12.2.1.0.0
Example of Response Body
The following example shows the contents of the response body in JSON format, including details about each type of rejection (and how many times each type has occurred) for all requests.
{ "count": 7, "time": { "timeEnd": "2016-12-30T17:27:35.728Z", "timeSetting": "last30days", "timeStart": "2016-11-30T17:27:35.728Z", "timeOffsetId": "Z" }, "items": [ { "policy_version": "@none", "policy_type": "svc", "measure": 103968, "message": "HTTP 404" }, { "policy_version": "#unknown", "policy_type": "o:KeyValidation", "measure": 11, "message": "INVALID_APPKEY" }, { "policy_version": "#unknown", "policy_type": "SLAEnforcement", "measure": 10, "message": "NO_ERROR_ID" }, { "policy_version": "1.0", "policy_type": "o:HeaderValidation", "measure": 3, "message": "REJECT_ON_CONDITION" }, { "policy_version": "1.0", "policy_type": "o:BasicAuth", "measure": 1, "message": "REJECT_ON_CONDITION" }, { "policy_version": "@none", "policy_type": "svc", "measure": 1, "message": "HTTP 403" }, { "policy_version": "@none", "policy_type": "svc", "measure": 1, "message": "HTTP 405" } ] }