Skip to content
Start here

Update K2 stream

client.k2.streams.update(stringstreamID, StreamUpdateParams { account_id, http, retention_seconds, worker_binding } params, RequestOptionsoptions?): StreamUpdateResponse { id, created_at, endpoint, 5 more }
PATCH/accounts/{account_id}/k2/streams/{stream_id}

Update a K2 stream. Omitted http settings, such as authentication and cors, keep their current values. Disabling HTTP keeps them, so enabling HTTP again restores them. At least one input must remain enabled.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
ParametersExpand Collapse
streamID: string

Specifies the public ID of the K2 stream.

maxLength32
minLength32
params: StreamUpdateParams { account_id, http, retention_seconds, worker_binding }
account_id: string

Path param: Specifies the public ID of the account.

maxLength32
minLength32
http?: HTTP

Body param: Configures the HTTP endpoint. Disabling HTTP keeps authentication and cors, so enabling it again restores them.

enabled: boolean

Indicates whether the HTTP endpoint accepts records.

authentication?: boolean

Indicates whether the HTTP endpoint requires an API token with K2 produce permission. When false, the endpoint accepts unauthenticated records. Defaults to true when HTTP is enabled without a stored value.

cors?: CORS { origins }
origins?: Array<string>

Allows browser requests from these HTTP or HTTPS origins. Use a wildcard only as the sole origin. An empty list blocks cross-origin browser requests. Defaults to ['*'] when HTTP is enabled without stored origins.

retention_seconds?: number

Body param: Sets the record retention period from 1 hour (3600 seconds) to 30 days (2592000 seconds), inclusive.

maximum2592000
minimum3600
worker_binding?: Enabled { enabled } | Enabled { enabled }

Body param

One of the following:
Enabled { enabled }
enabled: false

Indicates whether Workers bindings can produce records to the stream.

Enabled { enabled }
enabled: true

Indicates whether Workers bindings can produce records to the stream.

ReturnsExpand Collapse
StreamUpdateResponse { id, created_at, endpoint, 5 more }
id: string

Specifies the public ID of the K2 stream.

maxLength32
minLength32
created_at: string
formatdate-time
endpoint: string

Indicates the base HTTP endpoint for producing and consuming records.

formaturi
http: HTTP { enabled, authentication, cors }

Configures the HTTP endpoint. Disabling HTTP keeps authentication and cors, so enabling it again restores them.

enabled: boolean

Indicates whether the HTTP endpoint accepts records.

authentication?: boolean

Indicates whether the HTTP endpoint requires an API token with K2 produce permission. When false, the endpoint accepts unauthenticated records. Defaults to true when HTTP is enabled without a stored value.

cors?: CORS { origins }
origins?: Array<string>

Allows browser requests from these HTTP or HTTPS origins. Use a wildcard only as the sole origin. An empty list blocks cross-origin browser requests. Defaults to ['*'] when HTTP is enabled without stored origins.

modified_at: string
formatdate-time
name: string

Indicates the name of the K2 stream.

maxLength128
minLength1
retention_seconds: number

Shows the configured record retention period from 1 hour (3600 seconds) to 30 days (2592000 seconds), inclusive.

maximum2592000
minimum3600
worker_binding: Enabled { enabled } | Enabled { enabled }
One of the following:
Enabled { enabled }
enabled: false

Indicates whether Workers bindings can produce records to the stream.

Enabled { enabled }
enabled: true

Indicates whether Workers bindings can produce records to the stream.

Update K2 stream

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const stream = await client.k2.streams.update('053e105f4ecef8ad9ca31a8372d0c353', {
  account_id: '0123105f4ecef8ad9ca31a8372d0c353',
});

console.log(stream.id);
{
  "errors": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "messages": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "result": {
    "id": "053e105f4ecef8ad9ca31a8372d0c353",
    "created_at": "2019-12-27T18:11:19.117Z",
    "endpoint": "https://053e105f4ecef8ad9ca31a8372d0c353.k2.cloudflarestorage.com",
    "http": {
      "enabled": true,
      "authentication": true,
      "cors": {
        "origins": [
          "string"
        ]
      }
    },
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "my_k2_stream",
    "retention_seconds": 604800,
    "worker_binding": {
      "enabled": false
    }
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "messages": [
    {
      "message": "message",
      "code": 0
    }
  ],
  "result": {
    "id": "053e105f4ecef8ad9ca31a8372d0c353",
    "created_at": "2019-12-27T18:11:19.117Z",
    "endpoint": "https://053e105f4ecef8ad9ca31a8372d0c353.k2.cloudflarestorage.com",
    "http": {
      "enabled": true,
      "authentication": true,
      "cors": {
        "origins": [
          "string"
        ]
      }
    },
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "my_k2_stream",
    "retention_seconds": 604800,
    "worker_binding": {
      "enabled": false
    }
  },
  "success": true
}