## Acknowledge + Retry Queue Messages `client.Queues.Messages.Ack(ctx, queueID, params) (*MessageAckResponse, error)` **post** `/accounts/{account_id}/queues/{queue_id}/messages/ack` Acknowledge + Retry messages from a Queue ### Parameters - `queueID string` A Resource identifier. - `params MessageAckParams` - `AccountID param.Field[string]` Path param: A Resource identifier. - `Acks param.Field[[]MessageAckParamsAck]` Body param - `LeaseID 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 param.Field[[]MessageAckParamsRetry]` Body param - `DelaySeconds float64` The number of seconds to delay before making the message available for another attempt. - `LeaseID 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 - `type MessageAckResponse struct{…}` - `AckCount float64` The number of messages that were succesfully acknowledged. - `RetryCount float64` The number of messages that were succesfully retried. - `Warnings []string` ### Example ```go 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.Ack( context.TODO(), "023e105f4ecef8ad9ca31a8372d0c353", queues.MessageAckParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }, ) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", 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 } ```