# Purge ## Get Queue Purge Status `queues.purge.status(strqueue_id, PurgeStatusParams**kwargs) -> PurgeStatusResponse` **get** `/accounts/{account_id}/queues/{queue_id}/purge` Get details about a Queue's purge status. ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. ### Returns - `class PurgeStatusResponse: …` - `completed: Optional[str]` Indicates if the last purge operation completed successfully. - `started_at: Optional[str]` Timestamp when the last purge operation started. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) response = client.queues.purge.status( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(response.completed) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "completed": "completed", "started_at": "started_at" }, "success": true } ``` ## Purge Queue `queues.purge.start(strqueue_id, PurgeStartParams**kwargs) -> Queue` **post** `/accounts/{account_id}/queues/{queue_id}/purge` Deletes all messages from the Queue. ### Parameters - `account_id: str` A Resource identifier. - `queue_id: str` A Resource identifier. - `delete_messages_permanently: Optional[bool]` Confimation that all messages will be deleted permanently. ### Returns - `class Queue: …` - `consumers: Optional[List[Consumer]]` - `class MqWorkerConsumerResponse: …` - `consumer_id: Optional[str]` A Resource identifier. - `created_on: Optional[datetime]` - `dead_letter_queue: Optional[str]` Name of the dead letter queue, or empty string if not configured - `queue_name: Optional[str]` - `script_name: Optional[str]` Name of a Worker - `settings: Optional[MqWorkerConsumerResponseSettings]` - `batch_size: Optional[float]` The maximum number of messages to include in a batch. - `max_concurrency: Optional[float]` Maximum number of concurrent consumers that may consume from this Queue. Set to `null` to automatically opt in to the platform's maximum (recommended). - `max_retries: Optional[float]` The maximum number of retries - `max_wait_time_ms: Optional[float]` The number of milliseconds to wait for a batch to fill up before attempting to deliver it - `retry_delay: Optional[float]` The number of seconds to delay before making the message available for another attempt. - `type: Optional[Literal["worker"]]` - `"worker"` - `class MqHTTPConsumerResponse: …` - `consumer_id: Optional[str]` A Resource identifier. - `created_on: Optional[datetime]` - `dead_letter_queue: Optional[str]` Name of the dead letter queue, or empty string if not configured - `queue_name: Optional[str]` - `settings: Optional[MqHTTPConsumerResponseSettings]` - `batch_size: Optional[float]` The maximum number of messages to include in a batch. - `max_retries: Optional[float]` The maximum number of retries - `retry_delay: Optional[float]` The number of seconds to delay before making the message available for another attempt. - `visibility_timeout_ms: Optional[float]` The number of milliseconds that a message is exclusively leased. After the timeout, the message becomes available for another attempt. - `type: Optional[Literal["http_pull"]]` - `"http_pull"` - `consumers_total_count: Optional[float]` - `created_on: Optional[str]` - `modified_on: Optional[str]` - `producers: Optional[List[Producer]]` - `class ProducerMqWorkerProducer: …` - `script: Optional[str]` - `type: Optional[Literal["worker"]]` - `"worker"` - `class ProducerMqR2Producer: …` - `bucket_name: Optional[str]` - `type: Optional[Literal["r2_bucket"]]` - `"r2_bucket"` - `producers_total_count: Optional[float]` - `queue_id: Optional[str]` - `queue_name: Optional[str]` - `settings: Optional[Settings]` - `delivery_delay: Optional[float]` Number of seconds to delay delivery of all messages to consumers. - `delivery_paused: Optional[bool]` Indicates if message delivery to consumers is currently paused. - `message_retention_period: Optional[float]` Number of seconds after which an unconsumed message will be delayed. ### Example ```python import os from cloudflare import Cloudflare client = Cloudflare( api_token=os.environ.get("CLOUDFLARE_API_TOKEN"), # This is the default and can be omitted ) queue = client.queues.purge.start( queue_id="023e105f4ecef8ad9ca31a8372d0c353", account_id="023e105f4ecef8ad9ca31a8372d0c353", ) print(queue.queue_id) ``` #### Response ```json { "errors": [ { "code": 7003, "message": "No route for the URI", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ "string" ], "result": { "consumers": [ { "consumer_id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2019-12-27T18:11:19.117Z", "dead_letter_queue": "dead_letter_queue", "queue_name": "example-queue", "script_name": "my-consumer-worker", "settings": { "batch_size": 50, "max_concurrency": 10, "max_retries": 3, "max_wait_time_ms": 5000, "retry_delay": 10 }, "type": "worker" } ], "consumers_total_count": 0, "created_on": "created_on", "modified_on": "modified_on", "producers": [ { "script": "script", "type": "worker" } ], "producers_total_count": 0, "queue_id": "queue_id", "queue_name": "example-queue", "settings": { "delivery_delay": 5, "delivery_paused": true, "message_retention_period": 345600 } }, "success": true } ``` ## Domain Types ### Purge Status Response - `class PurgeStatusResponse: …` - `completed: Optional[str]` Indicates if the last purge operation completed successfully. - `started_at: Optional[str]` Timestamp when the last purge operation started.