Skip to content
Start here

Push Message

client.Queues.Messages.Push(ctx, queueID, params) (*MessagePushResponse, error)
POST/accounts/{account_id}/queues/{queue_id}/messages

Push a message to a Queue

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
Accepted Permissions (at least one required)
Queues WriteWorkers Scripts Write
ParametersExpand Collapse
queueID string

A Resource identifier.

maxLength32
params MessagePushParams
AccountID param.Field[string]Optional

Path param: A Resource identifier.

maxLength32
Body param.Field[string]Optional

Body param

ContentType param.Field[MessagePushParamsMqQueueMessageTextContentType]Optional

Body param

const MessagePushParamsMqQueueMessageTextContentTypeText MessagePushParamsMqQueueMessageTextContentType = "text"
DelaySeconds param.Field[float64]Optional

Body param: The number of seconds to wait for attempting to deliver this message to consumers

ReturnsExpand Collapse
type MessagePushResponse struct{…}
Metadata MessagePushResponseMetadataOptional
Metrics MessagePushResponseMetadataMetricsOptional

Best-effort metrics for the queue. Values may be approximate due to the distributed nature of queues.

BacklogBytes float64

The size in bytes of unacknowledged messages in the queue.

BacklogCount float64

The number of unacknowledged messages in the queue.

OldestMessageTimestampMs float64

Unix timestamp in milliseconds of the oldest unacknowledged message in the queue. Returns 0 if unknown.

Push Message

package main

import (
  "context"
  "fmt"

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

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Queues.Messages.Push(
    context.TODO(),
    "023e105f4ecef8ad9ca31a8372d0c353",
    queues.MessagePushParams{
      AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.Metadata)
}
{
  "errors": [
    {
      "code": 7003,
      "message": "No route for the URI",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    "string"
  ],
  "result": {
    "metadata": {
      "metrics": {
        "backlog_bytes": 1024,
        "backlog_count": 5,
        "oldest_message_timestamp_ms": 1710950954154
      }
    }
  },
  "success": true
}
Returns Examples
{
  "errors": [
    {
      "code": 7003,
      "message": "No route for the URI",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    "string"
  ],
  "result": {
    "metadata": {
      "metrics": {
        "backlog_bytes": 1024,
        "backlog_count": 5,
        "oldest_message_timestamp_ms": 1710950954154
      }
    }
  },
  "success": true
}