You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
title: Web Assets fields now available in GraphQL Analytics API
3
+
description: Query matched operation IDs and managed labels per request using the httpRequestsAdaptive and httpRequestsAdaptiveGroups GraphQL datasets.
4
+
date: 2026-03-23
5
+
---
6
+
7
+
Two new fields are now available in the `httpRequestsAdaptive` and `httpRequestsAdaptiveGroups`[GraphQL Analytics API](/analytics/graphql-api/) datasets:
8
+
9
+
-`webAssetsOperationId` — the ID of the [saved endpoint](/api-shield/management-and-monitoring/) that matched the incoming request.
10
+
-`webAssetsLabelsManaged` — the [managed labels](/api-shield/management-and-monitoring/endpoint-labels/#managed-labels) mapped to the matched operation at the time of the request (for example, `cf-llm`, `cf-log-in`). At most 10 labels are returned per request.
11
+
12
+
Both fields are empty when no operation matched. `webAssetsLabelsManaged` is also empty when no managed labels are assigned to the matched operation.
13
+
14
+
These fields allow you to determine, per request, which Web Assets operation was matched and which managed labels were active. This is useful for troubleshooting downstream security detection verdicts — for example, understanding why [AI Security for Apps](/waf/detections/ai-security-for-apps/) did or did not flag a request.
15
+
16
+
Refer to [Endpoint labeling service](/api-shield/management-and-monitoring/endpoint-labels/#analytics) for GraphQL query examples.
API Shield's labeling service will help you organize your endpoints and address vulnerabilities in your API. The labeling service comes with managed and user-defined labels.
13
13
@@ -86,9 +86,9 @@ Cloudflare will only add authentication labels to endpoints with successful resp
86
86
How you address risks to your endpoints will depend on its label(s). The following steps provide you with general guidelines on how to take action on them.
87
87
88
88
<Steps>
89
-
1. Review risks to endpoints.
90
-
91
-
View the endpoints labeled as risks and identify if they have been labeled for other risks.
89
+
1. Review risks to endpoints.
90
+
91
+
View the endpoints labeled as risks and identify if they have been labeled for other risks.
92
92
93
93
For example, endpoints labeled `cf-risk-sensitive` and `cf-risk-missing-auth` or `cf-risk-mixed-auth` may contain sensitive data that is available to unauthenticated users.
94
94
@@ -98,7 +98,7 @@ How you address risks to your endpoints will depend on its label(s). The followi
98
98
99
99
2. Review traffic to these labeled endpoints in Security Analytics.
100
100
101
-
Check for unexpected traffic sources and note any irregular traffic patterns.
101
+
Check for unexpected traffic sources and note any irregular traffic patterns.
102
102
103
103
:::caution[Filtering]
104
104
Filtering by risk label includes all traffic to all endpoints labeled with that risk, not only the traffic that prompted Cloudflare to apply the label.
@@ -108,14 +108,59 @@ How you address risks to your endpoints will depend on its label(s). The followi
108
108
109
109
3. Review your origin's authorization and authentication policies with your development team.
110
110
111
-
Speak with your developers or application owners in your organization to understand whether or not all requests to these endpoints should be authenticated. Modify your application to consistently enforce the authentication requirement for all traffic accessing these endpoints.
111
+
Speak with your developers or application owners in your organization to understand whether or not all requests to these endpoints should be authenticated. Modify your application to consistently enforce the authentication requirement for all traffic accessing these endpoints.
112
112
113
113
Refer to [Authentication Posture](/api-shield/security/authentication-posture/) for more information.
114
-
114
+
115
115
</Steps>
116
116
117
117
---
118
118
119
+
## Analytics
120
+
121
+
### GraphQL Analytics API
122
+
123
+
You can query the matched operation and managed labels for individual requests using the [GraphQL Analytics API](/analytics/graphql-api/). The `webAssetsOperationId` and `webAssetsLabelsManaged` fields are available in the `httpRequestsAdaptive` and `httpRequestsAdaptiveGroups` datasets. Use [introspection](/analytics/graphql-api/features/discovery/introspection/) to explore the full schema and available filter operators.
124
+
125
+
`webAssetsLabelsManaged` returns at most 10 labels per request.
126
+
127
+
#### Example: query requests by managed label
128
+
129
+
The following query returns the count of requests per operation ID and managed label set, filtered to requests where the matched operation carries the `cf-log-in` managed label.
Replace `cf-log-in` with any [managed label](#managed-labels) or [risk label](#risk-labels). You can also omit the `webAssetsLabelsManaged_hasany` filter and use `webAssetsOperationId` as the sole dimension to group traffic by matched operation regardless of label.
157
+
158
+
### Logpush
159
+
160
+
You can export per-request Web Assets data to your storage or <GlossaryTooltipterm="SIEM">SIEM system</GlossaryTooltip> of choice using [Logpush](/logs/logpush/). The `WebAssetsOperationID` and `WebAssetsLabelsManaged` fields are available in the [HTTP requests dataset](/logs/logpush/logpush-job/datasets/zone/http_requests/#webassetslabelsmanaged).
Copy file name to clipboardExpand all lines: src/content/docs/logs/logpush/logpush-job/datasets/zone/http_requests.md
+15-3Lines changed: 15 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -247,7 +247,7 @@ List of content types.
247
247
248
248
Type: `object`
249
249
250
-
String key-value pairs for Cookies. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
250
+
String key-value pairs for cookies. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
251
251
252
252
## EdgeCFConnectingO2O
253
253
@@ -505,13 +505,13 @@ ID of the request.
505
505
506
506
Type: `object`
507
507
508
-
String key-value pairs for RequestHeaders. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
508
+
String key-value pairs for request headers. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
509
509
510
510
## ResponseHeaders
511
511
512
512
Type: `object`
513
513
514
-
String key-value pairs for ResponseHeaders. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
514
+
String key-value pairs for response headers. This field is populated based on [Logpush Custom fields](/logs/logpush/logpush-job/custom-fields/), which need to be configured.
515
515
516
516
## SecurityAction
517
517
@@ -603,6 +603,18 @@ Type: `int`
603
603
604
604
WAF score for an XSS attack.
605
605
606
+
## WebAssetsLabelsManaged
607
+
608
+
Type: `array[string]`
609
+
610
+
Cloudflare-defined labels matched for the request.
0 commit comments