Skip to content
Start here

Create K2 stream

client.K2.Streams.New(ctx, params) (*StreamNewResponse, error)
POST/accounts/{account_id}/k2/streams

Create a new K2 stream.

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
params StreamNewParams
AccountID param.Field[string]

Path param: Specifies the public ID of the account.

maxLength32
minLength32
HTTP param.Field[StreamNewParamsHTTP]

Body param

type StreamNewParamsHTTPEnabled struct{…}
Enabled StreamNewParamsHTTPEnabledEnabled

Indicates whether the HTTP endpoint accepts records.

type StreamNewParamsHTTPObject struct{…}
Enabled StreamNewParamsHTTPObjectEnabled

Indicates whether the HTTP endpoint accepts records.

Authentication boolOptional

Indicates whether the HTTP endpoint requires an API token with K2 produce permission. When false or omitted, the endpoint accepts unauthenticated records.

CORS StreamNewParamsHTTPObjectCORSOptional
Origins StreamNewParamsHTTPObjectCORSOriginsUnionOptional

Allows requests from these HTTP or HTTPS origins. Use a wildcard only as the sole origin.

One of the following:
type StreamNewParamsHTTPObjectCORSOriginsArray []StreamNewParamsHTTPObjectCORSOriginsArray
type StreamNewParamsHTTPObjectCORSOriginsArray []string
Name param.Field[string]

Body param: Specifies the name of the K2 stream.

maxLength128
minLength1
RetentionSeconds param.Field[int64]Optional

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

maximum2592000
minimum3600
WorkerBinding param.Field[StreamNewParamsWorkerBinding]Optional

Body param

type StreamNewParamsWorkerBindingEnabled struct{…}
Enabled StreamNewParamsWorkerBindingEnabledEnabled

Indicates whether Workers bindings can produce records to the stream.

type StreamNewParamsWorkerBindingEnabled struct{…}
Enabled StreamNewParamsWorkerBindingEnabledEnabled

Indicates whether Workers bindings can produce records to the stream.

ReturnsExpand Collapse
type StreamNewResponse struct{…}
ID string

Specifies the public ID of the K2 stream.

maxLength32
minLength32
CreatedAt Time
formatdate-time
Endpoint string

Indicates the base HTTP endpoint for producing and consuming records.

formaturi
HTTP StreamNewResponseHTTP
One of the following:
type StreamNewResponseHTTPEnabled struct{…}
Enabled StreamNewResponseHTTPEnabledEnabled

Indicates whether the HTTP endpoint accepts records.

type StreamNewResponseHTTPObject struct{…}
Enabled StreamNewResponseHTTPObjectEnabled

Indicates whether the HTTP endpoint accepts records.

Authentication boolOptional

Indicates whether the HTTP endpoint requires an API token with K2 produce permission. When false or omitted, the endpoint accepts unauthenticated records.

CORS StreamNewResponseHTTPObjectCORSOptional
Origins StreamNewResponseHTTPObjectCORSOriginsUnionOptional

Allows requests from these HTTP or HTTPS origins. Use a wildcard only as the sole origin.

One of the following:
type StreamNewResponseHTTPObjectCORSOriginsArray []StreamNewResponseHTTPObjectCORSOriginsArrayItem
type StreamNewResponseHTTPObjectCORSOriginsArray []string
ModifiedAt Time
formatdate-time
Name string

Indicates the name of the K2 stream.

maxLength128
minLength1
RetentionSeconds int64

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

maximum2592000
minimum3600
WorkerBinding StreamNewResponseWorkerBinding
One of the following:
type StreamNewResponseWorkerBindingEnabled struct{…}
Enabled StreamNewResponseWorkerBindingEnabledEnabled

Indicates whether Workers bindings can produce records to the stream.

type StreamNewResponseWorkerBindingEnabled struct{…}
Enabled StreamNewResponseWorkerBindingEnabledEnabled

Indicates whether Workers bindings can produce records to the stream.

Create K2 stream

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/k2"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  stream, err := client.K2.Streams.New(context.TODO(), k2.StreamNewParams{
    AccountID: cloudflare.F("0123105f4ecef8ad9ca31a8372d0c353"),
    HTTP: cloudflare.F[k2.StreamNewParamsHTTPUnion](k2.StreamNewParamsHTTPEnabled{
      Enabled: cloudflare.F(k2.StreamNewParamsHTTPEnabledEnabledFalse),
    }),
    Name: cloudflare.F("my_k2_stream"),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", stream.ID)
}
{
  "result": {
    "id": "053e105f4ecef8ad9ca31a8372d0c353",
    "created_at": "2019-12-27T18:11:19.117Z",
    "endpoint": "https://053e105f4ecef8ad9ca31a8372d0c353.k2.cloudflarestorage.com",
    "http": {
      "enabled": false
    },
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "my_k2_stream",
    "retention_seconds": 604800,
    "worker_binding": {
      "enabled": false
    }
  },
  "success": true
}
Returns Examples
{
  "result": {
    "id": "053e105f4ecef8ad9ca31a8372d0c353",
    "created_at": "2019-12-27T18:11:19.117Z",
    "endpoint": "https://053e105f4ecef8ad9ca31a8372d0c353.k2.cloudflarestorage.com",
    "http": {
      "enabled": false
    },
    "modified_at": "2019-12-27T18:11:19.117Z",
    "name": "my_k2_stream",
    "retention_seconds": 604800,
    "worker_binding": {
      "enabled": false
    }
  },
  "success": true
}