---
title: Messages
---

[Skip to content](#%5Ftop) 

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

[Queues](https://developers.cloudflare.com/api/typescript/resources/queues)

Copy Markdown

Open in **Claude**

Open in **ChatGPT**

Open in **Cursor**

---

**Copy Markdown**

**View as Markdown**

# Messages

##### [Push Message](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/push)

client.queues.messages.push(stringqueueID, MessagePushParamsparams, RequestOptionsoptions?): [MessagePushResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fpush%5Fresponse%20%3E%20%28schema%29) { metadata } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages

##### [Acknowledge + Retry Queue Messages](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/ack)

client.queues.messages.ack(stringqueueID, MessageAckParams { account\_id, acks, retries } params, RequestOptionsoptions?): [MessageAckResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fack%5Fresponse%20%3E%20%28schema%29) { ackCount, retryCount, warnings } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages/ack

##### [Pull Queue Messages](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/pull)

client.queues.messages.pull(stringqueueID, MessagePullParams { account\_id, batch\_size, visibility\_timeout\_ms } params, RequestOptionsoptions?): [MessagePullResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fpull%5Fresponse%20%3E%20%28schema%29) { message\_backlog\_count, messages, metadata } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages/pull

##### [Push Message Batch](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/bulk%5Fpush)

client.queues.messages.bulkPush(stringqueueID, MessageBulkPushParams { account\_id, delay\_seconds, messages } params, RequestOptionsoptions?): [MessageBulkPushResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fbulk%5Fpush%5Fresponse%20%3E%20%28schema%29) { metadata } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages/batch

##### [Peek Queue Messages](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/peek)

client.queues.messages.peek(stringqueueID, MessagePeekParams { account\_id, batch\_size } params, RequestOptionsoptions?): [MessagePeekResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fpeek%5Fresponse%20%3E%20%28schema%29) { messages } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages/peek

##### [Purge Peeked Queue Messages](https://developers.cloudflare.com/api/typescript/resources/queues/subresources/messages/methods/purge)

client.queues.messages.purge(stringqueueID, MessagePurgeParams { account\_id, refs } params, RequestOptionsoptions?): [MessagePurgeResponse](https://developers.cloudflare.com/api/typescript/resources/queues#%28resource%29%20queues.messages%20%3E%20%28model%29%20message%5Fpurge%5Fresponse%20%3E%20%28schema%29) { errors, warnings } 

POST/accounts/{account\_id}/queues/{queue\_id}/messages/purge

##### ModelsExpand Collapse 

MessagePushResponse { metadata } 

metadata?: Metadata { metrics } 

metrics?: Metrics { backlog\_bytes, backlog\_count, oldest\_message\_timestamp\_ms } 

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

backlog\_bytes: number

The size in bytes of unacknowledged messages in the queue.

backlog\_count: number

The number of unacknowledged messages in the queue.

oldest\_message\_timestamp\_ms: number

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

MessageAckResponse { ackCount, retryCount, warnings } 

ackCount?: number

The number of messages that were succesfully acknowledged.

retryCount?: number

The number of messages that were succesfully retried.

warnings?: Record<string, string\>

Map of lease IDs to warning messages encountered during acknowledgement.

MessagePullResponse { message\_backlog\_count, messages, metadata } 

message\_backlog\_count?: number

The number of unacknowledged messages in the queue.

messages?: Array<Message\>

id?: string

attempts?: number

body?: string

lease\_id?: string

An ID that represents an “in-flight” message that has been pulled from a Queue. You must hold on to this ID and use it to acknowledge this message.

metadata?: unknown

timestamp\_ms?: number

metadata?: Metadata { metrics } 

metrics?: Metrics { backlog\_bytes, backlog\_count, oldest\_message\_timestamp\_ms } 

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

backlog\_bytes: number

The size in bytes of unacknowledged messages in the queue.

backlog\_count: number

The number of unacknowledged messages in the queue.

oldest\_message\_timestamp\_ms: number

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

MessageBulkPushResponse { metadata } 

metadata?: Metadata { metrics } 

metrics?: Metrics { backlog\_bytes, backlog\_count, oldest\_message\_timestamp\_ms } 

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

backlog\_bytes: number

The size in bytes of unacknowledged messages in the queue.

backlog\_count: number

The number of unacknowledged messages in the queue.

oldest\_message\_timestamp\_ms: number

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

MessagePeekResponse { messages } 

messages?: Array<Message\>

id?: string

attempts?: number

body?: string

metadata?: unknown

ref?: string

An opaque reference to a peeked message. You must hold on to this value and use it to purge the message.

timestamp\_ms?: number

MessagePurgeResponse { errors, warnings } 

errors?: Array<Error\>

Errors encountered while purging messages.

message?: string

warnings?: Record<string, string\>

Map of refs to warning messages encountered during purge.