---
title: Logs
---

[Skip to content](#%5Ftop) 

[API Reference](https://developers.cloudflare.com/api/typescript)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Logs

#### LogsLog Explorer

#### LogsLog ExplorerQuery

##### [Run a log query](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/query/methods/sql)

client.logs.logExplorer.query.sql(QuerySqlParams { body, account\_id, zone\_id } params, RequestOptionsoptions?): SinglePage<[QuerySqlResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.query%20%3E%20%28model%29%20query%5Fsql%5Fresponse%20%3E%20%28schema%29)\>

POST/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/query/sql

##### ModelsExpand Collapse 

QuerySqlResponse \= Record<string, unknown\>

#### LogsLog ExplorerDatasets

##### [List account or zone datasets](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/methods/list)

client.logs.logExplorer.datasets.list(DatasetListParams { account\_id, zone\_id, include\_zones } params?, RequestOptionsoptions?): SinglePage<[DatasetSummary](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets%20%3E%20%28model%29%20dataset%5Fsummary%20%3E%20%28schema%29) { created\_at, dataset, dataset\_id, 5 more } \>

GET/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets

##### [Get an account or zone dataset](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/methods/get)

client.logs.logExplorer.datasets.get(stringdatasetID, DatasetGetParams { account\_id, zone\_id } params?, RequestOptionsoptions?): [Dataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets%20%3E%20%28model%29%20dataset%20%3E%20%28schema%29) { created\_at, dataset, dataset\_id, 7 more } 

GET/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets/{dataset\_id}

##### [Create an account or zone dataset](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/methods/create)

client.logs.logExplorer.datasets.create(DatasetCreateParams { dataset, account\_id, zone\_id, 2 more } params, RequestOptionsoptions?): [Dataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets%20%3E%20%28model%29%20dataset%20%3E%20%28schema%29) { created\_at, dataset, dataset\_id, 7 more } 

POST/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets

##### [Update an account or zone dataset](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/methods/update)

client.logs.logExplorer.datasets.update(stringdatasetID, DatasetUpdateParams { enabled, account\_id, zone\_id, 3 more } params, RequestOptionsoptions?): [Dataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets%20%3E%20%28model%29%20dataset%20%3E%20%28schema%29) { created\_at, dataset, dataset\_id, 7 more } 

PUT/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets/{dataset\_id}

##### [Delete an account or zone dataset](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/methods/delete)

client.logs.logExplorer.datasets.delete(stringdatasetID, DatasetDeleteParams { account\_id, zone\_id } params?, RequestOptionsoptions?): [Dataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets%20%3E%20%28model%29%20dataset%20%3E%20%28schema%29) { created\_at, dataset, dataset\_id, 7 more } 

DELETE/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets/{dataset\_id}

##### ModelsExpand Collapse 

CreateRequest { dataset, fields, filter } 

dataset: string

Dataset type name to create (e.g. `http_requests`).

fields?: Array<Field\>

Controls which fields the API ingests. Defaults to all available fields when absent.

enabled: boolean

Whether the API includes this field in log ingest.

name: string

Field name in lowercase.

filter?: string

Optional Logpush filter predicate to restrict which events are ingested. If provided, replaces the dataset’s default filter entirely. See [Logpush filters](https://developers.cloudflare.com/logs/reference/filters/)for syntax and examples.

Dataset { created\_at, dataset, dataset\_id, 7 more } 

A Log Explorer dataset summary. List endpoints return this type and omit field configuration; use the single-dataset endpoint to retrieve it.

created\_at: string

RFC3339 timestamp recording when the API created this dataset.

formatdate-time

dataset: string

Dataset type name (e.g. `http_requests`).

dataset\_id: string

Unique dataset ID.

deletion\_protection: boolean

Whether deletion is blocked. Set to `false` before deleting the dataset.

enabled: boolean

Whether log ingest is currently active for this dataset.

fields: Array<Field\>

The field configuration for this dataset.

enabled: boolean

Whether the API includes this field in log ingest.

name: string

Field name in lowercase.

object\_id: string

Public ID of the account or zone that owns this dataset.

object\_type: "account" | "zone"

Whether this dataset belongs to an account or a zone.

One of the following:

"account"

"zone"

updated\_at: string

RFC3339 timestamp recording when the API last updated this dataset.

formatdate-time

filter?: string

The Logpush filter predicate applied to this dataset. Omitted when no filter is set.

DatasetSummary { created\_at, dataset, dataset\_id, 5 more } 

A Log Explorer dataset summary. List endpoints return this type and omit field configuration; use the single-dataset endpoint to retrieve it.

created\_at: string

RFC3339 timestamp recording when the API created this dataset.

formatdate-time

dataset: string

Dataset type name (e.g. `http_requests`).

dataset\_id: string

Unique dataset ID.

deletion\_protection: boolean

Whether deletion is blocked. Set to `false` before deleting the dataset.

enabled: boolean

Whether log ingest is currently active for this dataset.

object\_id: string

Public ID of the account or zone that owns this dataset.

object\_type: "account" | "zone"

Whether this dataset belongs to an account or a zone.

One of the following:

"account"

"zone"

updated\_at: string

RFC3339 timestamp recording when the API last updated this dataset.

formatdate-time

UpdateRequest { enabled, deletion\_protection, fields, filter } 

enabled: boolean

Whether to enable or disable log ingest for this dataset.

deletion\_protection?: boolean

Set to `false` to allow deletion of this dataset.

fields?: Array<Field\>

Controls which fields the API ingests after the update. Defaults to all available fields when absent.

enabled: boolean

Whether the API includes this field in log ingest.

name: string

Field name in lowercase.

filter?: string | null

Optional Logpush filter predicate to restrict which events are ingested. If omitted, the existing filter is left unchanged. Set to an empty string (`""`) to clear the filter. Otherwise, replaces the dataset’s filter entirely. See [Logpush filters](https://developers.cloudflare.com/logs/reference/filters/)for syntax and examples.

#### LogsLog ExplorerDatasetsAvailable

##### [List available account or zone datasets](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/log%5Fexplorer/subresources/datasets/subresources/available/methods/list)

client.logs.logExplorer.datasets.available.list(AvailableListParams { account\_id, zone\_id } params?, RequestOptionsoptions?): SinglePage<[AvailableDataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets.available%20%3E%20%28model%29%20available%5Fdataset%20%3E%20%28schema%29) { dataset, object\_type, schema, timestamp\_field } \>

GET/{accounts\_or\_zones}/{account\_or\_zone\_id}/logs/explorer/datasets/available

##### ModelsExpand Collapse 

AvailableDataset { dataset, object\_type, schema, timestamp\_field } 

A dataset type that the account or zone can create.

dataset: string

Dataset type name (e.g. `http_requests`).

object\_type: "account" | "zone"

Whether this dataset type is account-scoped or zone-scoped.

One of the following:

"account"

"zone"

schema: Schema { properties, required, type } 

JSON Schema that describes the fields this dataset exposes.

properties?: Record<string, unknown\>

required?: Array<string\>

type?: "object"

timestamp\_field: string

The primary timestamp field name for this dataset.

AvailableList { errors, messages, success, result } 

errors: Array<[ResponseInfo](https://developers.cloudflare.com/api/typescript/resources/$shared#%28resource%29%20%24shared%20%3E%20%28model%29%20response%5Finfo%20%3E%20%28schema%29) { code, message, documentation\_url, source } \>

code: number

minimum1000

message: string

documentation\_url?: string

source?: Source { pointer } 

pointer?: string

messages: Array<string\>

success: boolean

result?: Array<[AvailableDataset](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.log%5Fexplorer.datasets.available%20%3E%20%28model%29%20available%5Fdataset%20%3E%20%28schema%29) { dataset, object\_type, schema, timestamp\_field } \> | null

dataset: string

Dataset type name (e.g. `http_requests`).

object\_type: "account" | "zone"

Whether this dataset type is account-scoped or zone-scoped.

One of the following:

"account"

"zone"

schema: Schema { properties, required, type } 

JSON Schema that describes the fields this dataset exposes.

properties?: Record<string, unknown\>

required?: Array<string\>

type?: "object"

timestamp\_field: string

The primary timestamp field name for this dataset.

#### LogsControl

#### LogsControlRetention

##### [Get log retention flag](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/control/subresources/retention/methods/get)

client.logs.control.retention.get(RetentionGetParams { zone\_id } params, RequestOptionsoptions?): [RetentionGetResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.control.retention%20%3E%20%28model%29%20retention%5Fget%5Fresponse%20%3E%20%28schema%29) { flag } | null

GET/zones/{zone\_id}/logs/control/retention/flag

##### [Update log retention flag](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/control/subresources/retention/methods/create)

client.logs.control.retention.create(RetentionCreateParams { zone\_id, flag } params, RequestOptionsoptions?): [RetentionCreateResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.control.retention%20%3E%20%28model%29%20retention%5Fcreate%5Fresponse%20%3E%20%28schema%29) { flag } | null

POST/zones/{zone\_id}/logs/control/retention/flag

##### ModelsExpand Collapse 

RetentionGetResponse { flag } 

flag?: boolean

The log retention flag for Logpull API.

RetentionCreateResponse { flag } 

flag?: boolean

The log retention flag for Logpull API.

#### LogsControlCmb

#### LogsControlCmbConfig

##### [Get CMB config](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/control/subresources/cmb/subresources/config/methods/get)

client.logs.control.cmb.config.get(ConfigGetParams { account\_id } params, RequestOptionsoptions?): [CmbConfig](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.control.cmb.config%20%3E%20%28model%29%20cmb%5Fconfig%20%3E%20%28schema%29) { allow\_out\_of\_region\_access, regions } | null

GET/accounts/{account\_id}/logs/control/cmb/config

##### [Update CMB config](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/control/subresources/cmb/subresources/config/methods/create)

client.logs.control.cmb.config.create(ConfigCreateParams { account\_id, allow\_out\_of\_region\_access, regions } params, RequestOptionsoptions?): [CmbConfig](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.control.cmb.config%20%3E%20%28model%29%20cmb%5Fconfig%20%3E%20%28schema%29) { allow\_out\_of\_region\_access, regions } | null

POST/accounts/{account\_id}/logs/control/cmb/config

##### [Delete CMB config](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/control/subresources/cmb/subresources/config/methods/delete)

client.logs.control.cmb.config.delete(ConfigDeleteParams { account\_id } params, RequestOptionsoptions?): [ConfigDeleteResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.control.cmb.config%20%3E%20%28model%29%20config%5Fdelete%5Fresponse%20%3E%20%28schema%29) | null

DELETE/accounts/{account\_id}/logs/control/cmb/config

##### ModelsExpand Collapse 

CmbConfig { allow\_out\_of\_region\_access, regions } 

allow\_out\_of\_region\_access?: boolean

Allow out of region access

regions?: string

Name of the region.

maxLength256

ConfigDeleteResponse \= unknown

#### LogsRayID

##### [Get logs RayIDs](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/rayid/methods/get)

client.logs.RayID.get(stringRayID, RayIDGetParams { zone\_id, fields, timestamps } params, RequestOptionsoptions?): [RayIDGetResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.rayid%20%3E%20%28model%29%20rayid%5Fget%5Fresponse%20%3E%20%28schema%29)

GET/zones/{zone\_id}/logs/rayids/{ray\_id}

##### ModelsExpand Collapse 

RayIDGetResponse \= string | unknown

One of the following:

string

unknown

#### LogsReceived

##### [Get logs received](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/received/methods/get)

client.logs.received.get(ReceivedGetParams { zone\_id, end, count, 4 more } params, RequestOptionsoptions?): [ReceivedGetResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.received%20%3E%20%28model%29%20received%5Fget%5Fresponse%20%3E%20%28schema%29)

GET/zones/{zone\_id}/logs/received

##### ModelsExpand Collapse 

ReceivedGetResponse \= string | unknown

One of the following:

string

unknown

#### LogsReceivedFields

##### [List fields](https://developers.cloudflare.com/api/typescript/resources/logs/subresources/received/subresources/fields/methods/get)

client.logs.received.fields.get(FieldGetParams { zone\_id } params, RequestOptionsoptions?): [FieldGetResponse](https://developers.cloudflare.com/api/typescript/resources/logs#%28resource%29%20logs.received.fields%20%3E%20%28model%29%20field%5Fget%5Fresponse%20%3E%20%28schema%29) { key } 

GET/zones/{zone\_id}/logs/received/fields

##### ModelsExpand Collapse 

FieldGetResponse { key } 

key?: string