Cloudflare Docs
Edit this page on GitHub
Set theme to dark (⇧+D)

HTTP requests

The descriptions below detail the fields available for http_requests.

BotDetectionIDsList of IDs that correlate to the Bot Management Heuristic detections made on a request. Available only for Bot Management customers. To enable this feature, contact your account team.array[int]
BotScoreCloudflare Bot Score. Scores below 30 are commonly associated with automated traffic. Available only for Bot Management customers. To enable this feature, contact your account
BotScoreSrcDetection engine responsible for generating the Bot Score.
Possible values are Not Computed | Heuristics | Machine Learning | Behavioral Analysis | Verified Bot | JS Fingerprinting | Cloudflare Service. Available only for Bot Management customers. To enable this feature, contact your account team.
BotTagsType of bot traffic (if available). Refer to Bot Tags for the list of potential values. Available only for Bot Management customers. To enable this feature, contact your account team.array[string]
CacheCacheStatusCache status.
Possible values are unknown | miss | expired | updating | stale | hit | ignored | bypass | revalidated | dynamic | stream_hit | deferred
“dynamic” means that a request is not eligible for cache. This can mean, for example that it was blocked by the firewall. Refer to Cloudflare cache responses for more details.
CacheReserveUsedCache Reserve was used to serve this request.bool
CacheResponseBytesNumber of bytes returned by the
CacheResponseStatus (deprecated)HTTP status code returned by the cache to the edge. All requests (including non-cacheable ones) go through the cache. Refer also to CacheCacheStatus
CacheTieredFillTiered Cache was used to serve this request.bool
ClientASNClient AS
ClientCountry2-letter ISO-3166 country code of the client IP address.string
ClientDeviceTypeClient device type.string
ClientIPIP address of the client.string
ClientIPClassClient IP class.
Possible values are unknown | badHost | searchEngine | allowlist | monitoringService | noRecord | scan | tor.
ClientMTLSAuthCertFingerprintThe SHA256 fingerprint of the certificate presented by the client during mTLS authentication. Only populated on the first request on an mTLS connection.string
ClientMTLSAuthStatusThe status of mTLS authentication. Only populated on the first request on an mTLS connection.
Possible values are unknown | ok | absent | untrusted | notyetvalid | expired.
ClientRegionCodeThe ISO-3166-2 region code of the client IP address.string
ClientRequestBytesNumber of bytes in the client
ClientRequestHostHost requested by the client.string
ClientRequestMethodHTTP method of client request.string
ClientRequestPathURI path requested by the client.string
ClientRequestProtocolHTTP protocol of client request.string
ClientRequestRefererHTTP request referrer.string
ClientRequestSchemeThe URL scheme requested by the visitor.string
ClientRequestSourceIdentifies requests as coming from an external source or another service within Cloudflare. Refer to ClientRequestSource field for the list of potential values.string
ClientRequestURIURI requested by the client.string
ClientRequestUserAgentUser agent reported by the client.string
ClientSSLCipherClient SSL cipher.string
ClientSSLProtocolClient SSL (TLS) protocol. The value “none” means that SSL was not used.string
ClientSrcPortClient source
ClientTCPRTTMsThe smoothed average of TCP round-trip time (SRTT). For the initial request on a connection, this is measured only during connection setup. For a subsequent request on the same connection, it is measured over the entire connection lifetime up until the time that request is
ClientXRequestedWithX-Requested-With HTTP header.string
ContentScanObjResultsList of content scan results.array[string]
ContentScanObjTypesList of content types.array[string]
CookiesString key-value pairs for Cookies.object
EdgeCFConnectingO2OTrue if the request looped through multiple zones on the Cloudflare edge. This is considered an orange to orange (o2o) request.bool
EdgeColoCodeIATA airport code of data center that received the request.string
EdgeColoIDCloudflare edge colo
EdgeEndTimestampTimestamp at which the edge finished sending response to the or string
EdgePathingOpIndicates what type of response was issued for this request (unknown = no specific action).string
EdgePathingSrcDetails how the request was classified based on security checks (unknown = no specific classification).string
EdgePathingStatusIndicates what data was used to determine the handling of this request (unknown = no data).string
EdgeRequestHostHost header on the request from the edge to the origin.string
EdgeResponseBodyBytesSize of the HTTP response body returned to
EdgeResponseBytesNumber of bytes returned by the edge to the
EdgeResponseCompressionRatioThe edge response compression ratio is calculated as the ratio between the sizes of the original and compressed responses.float
EdgeResponseContentTypeEdge response Content-Type header value.string
EdgeResponseStatusHTTP status code returned by Cloudflare to the
EdgeServerIPIP of the edge server making a request to the origin. Possible responses are string in IPv4 or IPv6 format, or empty string. Empty string means that there was no request made to the origin server.string
EdgeStartTimestampTimestamp at which the edge received request from the or string
EdgeTimeToFirstByteMsTotal view of Time To First Byte as measured at Cloudflare’s edge. Starts after a TCP connection is established and ends when Cloudflare begins returning the first byte of a response to eyeballs. Includes TLS handshake time (for new connections) and origin response
JA3HashThe MD5 hash of the JA3 fingerprint used to profile SSL/TLS clients. Available only for Bot Management customers. To enable this feature, contact your account team.string
LeakedCredentialCheckResultResult of the check for leaked credentials.string
OriginDNSResponseTimeMsTime taken to receive a DNS response for an origin name. Usually takes a few milliseconds, but may be longer if a CNAME record is
OriginIPIP of the origin server.string
OriginRequestHeaderSendDurationMsTime taken to send request headers to origin after establishing a connection. Note that this value is usually
OriginResponseBytes (deprecated)Number of bytes returned by the origin
OriginResponseDurationMsUpstream response time, measured from the first datacenter that receives a request. Includes time taken by Argo Smart Routing and Tiered Cache, plus time to connect and receive a response from origin servers. This field replaces
OriginResponseHTTPExpiresValue of the origin ’expires’ header in RFC1123 format.string
OriginResponseHTTPLastModifiedValue of the origin ’last-modified’ header in RFC1123 format.string
OriginResponseHeaderReceiveDurationMsTime taken for origin to return response headers after Cloudflare finishes sending request
OriginResponseStatusStatus returned by the upstream server. The value 0 means that there was no request made to the origin server and the response was served by Cloudflare’s Edge. However, if the zone has a Worker running on it, the value 0 could be the result of a Workers subrequest made to the
OriginResponseTime (deprecated)Number of nanoseconds it took the origin to return the response to
OriginSSLProtocolSSL (TLS) protocol used to connect to the origin.string
OriginTCPHandshakeDurationMsTime taken to complete TCP handshake with origin. This will be 0 if an origin connection is
OriginTLSHandshakeDurationMsTime taken to complete TLS handshake with origin. This will be 0 if an origin connection is
ParentRayIDRay ID of the parent request if this request was made using a Worker script.string
RayIDID of the request.string
RequestHeadersString key-value pairs for RequestHeaders.object
ResponseHeadersString key-value pairs for ResponseHeaders.object
SecurityActionAction of the security rule that triggered a terminating action, if any.string
SecurityActionsArray of actions the Cloudflare security products performed on this request. The individual security products associated with this action be found in SecuritySources and their respective rule Ids can be found in SecurityRuleIDs. The length of the array is the same as SecurityRuleIDs and SecuritySources.
Possible actions are unknown | allow | block | challenge | jschallenge | log | connectionClose | challengeSolved | challengeFailed | challengeBypassed | jschallengeSolved | jschallengeFailed | jschallengeBypassed | bypass | managedChallenge | managedChallengeSkipped | managedChallengeNonInteractiveSolved | managedChallengeInteractiveSolved | managedChallengeBypassed | rewrite | forceConnectionClose | skip | managedChallengeFailed.
SecurityRuleDescriptionDescription of the security rule that triggered a terminating action, if any.string
SecurityRuleIDRule ID of the security rule that triggered a terminating action, if any.string
SecurityRuleIDsArray of rule IDs of the security product that matched the request. The security product associated with the rule ID can be found in SecuritySources. The length of the array is the same as SecurityActions and SecuritySources.array[string]
SecuritySourcesArray of security products that matched the request. The same product can appear multiple times, which indicates different rules or actions that were activated. The rule IDs can be found in SecurityRuleIDs, and the actions can be found in SecurityActions. The length of the array is the same as SecurityRuleIDs and SecurityActions.
Possible sources are unknown | asn | country | ip | ipRange | securityLevel | zoneLockdown | waf | firewallRules | uaBlock | rateLimit | bic | hot | l7ddos | validation | botFight | apiShield | botManagement | dlp | firewallManaged | firewallCustom | apiShieldSchemaValidation | apiShieldTokenValidation | apiShieldSequenceMitigation.
SmartRouteColoIDThe Cloudflare datacenter used to connect to the origin server if Argo Smart Routing is
UpperTierColoIDThe “upper tier” datacenter that was checked for a cached copy if Tiered Cache is
WAFAttackScoreOverall request score generated by the WAF detection
WAFFlags (deprecated)Additional configuration flags: simulate (0x1) | null.string
WAFMatchedVar (deprecated)The full name of the most-recently matched variable.string
WAFRCEAttackScoreWAF score for an RCE
WAFSQLiAttackScoreWAF score for an SQLi
WAFXSSAttackScoreWAF score for an XSS
WorkerCPUTimeAmount of time in microseconds spent executing a worker, if
WorkerStatusStatus returned from worker daemon.string
WorkerSubrequestWhether or not this request was a worker subrequest.bool
WorkerSubrequestCountNumber of subrequests issued by a worker when handling this
WorkerWallTimeUsThe elapsed time in microseconds between the start of a Worker invocation, and when the Workers Runtime determines that no more JavaScript needs to run. Specifically, this measures the wall-clock time that the JavaScript context remained open. For example, when returning a response with a large body, the Workers runtime can, in some cases, determine that no more JavaScript needs to run, and closes the JS context before all the bytes have passed through and been sent. Alternatively, if you use the waitUntil() API to perform work without blocking the return of a response, this work may continue executing after the response has been returned, and will be included in
ZoneNameThe human-readable name of the zone (e.g. ‘’).string