# Messages ## Push Message `client.queues.messages.push(stringqueueId, MessagePushParamsparams, RequestOptionsoptions?): MessagePushResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages` Push a message to a Queue ### Parameters - `queueId: string` A Resource identifier. - `MessagePushParams = MqQueueMessageText | MqQueueMessageJson` - `MessagePushParamsBase` - `MqQueueMessageText extends MessagePushParamsBase` - `MqQueueMessageJson extends MessagePushParamsBase` ### Returns - `MessagePushResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.queues.messages.push('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "success": true } ``` ## Acknowledge + Retry Queue Messages `client.queues.messages.ack(stringqueueId, MessageAckParamsparams, RequestOptionsoptions?): MessageAckResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/ack` Acknowledge + Retry messages from a Queue ### Parameters - `queueId: string` A Resource identifier. - `params: MessageAckParams` - `account_id: string` Path param: A Resource identifier. - `acks?: Array` Body param - `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. - `retries?: Array` Body param - `delay_seconds?: number` The number of seconds to delay before making the message available for another attempt. - `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. ### Returns - `MessageAckResponse` - `ackCount?: number` The number of messages that were succesfully acknowledged. - `retryCount?: number` The number of messages that were succesfully retried. - `warnings?: Array` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.queues.messages.ack('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.ackCount); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "ackCount": 5, "retryCount": 5, "warnings": [ "string" ] }, "success": true } ``` ## Pull Queue Messages `client.queues.messages.pull(stringqueueId, MessagePullParamsparams, RequestOptionsoptions?): MessagePullResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/pull` Pull a batch of messages from a Queue ### Parameters - `queueId: string` A Resource identifier. - `params: MessagePullParams` - `account_id: string` Path param: A Resource identifier. - `batch_size?: number` Body param: The maximum number of messages to include in a batch. - `visibility_timeout_ms?: number` Body param: The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. ### Returns - `MessagePullResponse` - `message_backlog_count?: number` The number of unacknowledged messages in the queue - `messages?: Array` - `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` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.queues.messages.pull('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.message_backlog_count); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "message_backlog_count": 5, "messages": [ { "id": "b01b5594f784d0165c2985833f5660dd", "attempts": 1, "body": "hello world", "lease_id": "eyJhbGciOiJkaXIiLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIn0..Q8p21d7dceR6vUfwftONdQ.JVqZgAS-Zk7MqmqccYtTHeeMElNHaOMigeWdb8LyMOg.T2_HV99CYzGaQuhTyW8RsgbnpTRZHRM6N7UoSaAKeK0", "metadata": { "CF-Content-Type": "text", "CF-sourceMessageSource": "dash" }, "timestamp_ms": 1710950954154 } ] }, "success": true } ``` ## Push Message Batch `client.queues.messages.bulkPush(stringqueueId, MessageBulkPushParamsparams, RequestOptionsoptions?): MessageBulkPushResponse` **post** `/accounts/{account_id}/queues/{queue_id}/messages/batch` Push a batch of message to a Queue ### Parameters - `queueId: string` A Resource identifier. - `params: MessageBulkPushParams` - `account_id: string` Path param: A Resource identifier. - `delay_seconds?: number` Body param: The number of seconds to wait for attempting to deliver this batch to consumers - `messages?: Array` Body param - `MqQueueMessageText` - `body?: string` - `content_type?: "text"` - `"text"` - `delay_seconds?: number` The number of seconds to wait for attempting to deliver this message to consumers - `MqQueueMessageJson` - `body?: unknown` - `content_type?: "json"` - `"json"` - `delay_seconds?: number` The number of seconds to wait for attempting to deliver this message to consumers ### Returns - `MessageBulkPushResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.queues.messages.bulkPush('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "success": true } ``` ## Domain Types ### Message Push Response - `MessagePushResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true` ### Message Ack Response - `MessageAckResponse` - `ackCount?: number` The number of messages that were succesfully acknowledged. - `retryCount?: number` The number of messages that were succesfully retried. - `warnings?: Array` ### Message Pull Response - `MessagePullResponse` - `message_backlog_count?: number` The number of unacknowledged messages in the queue - `messages?: Array` - `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` ### Message Bulk Push Response - `MessageBulkPushResponse` - `errors?: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages?: Array` - `success?: true` Indicates if the API call was successful or not. - `true`