Method for setting the visibility timeout for a message that is being processed. The total timeout of a message cannot exceed 12 hours.

Example: there is a message with a visibility timeout of 5 minutes. After 3 minutes, ChangeMessageVisibility is called with a timeout of 10 minutes. You can extend the visibility timeout by gradually increasing the value of MessageVisibility until the allowed maximum is reached. If the total timeout exceeds 12 hours, the request is rejected.

If you attempt to set the visibility timeout to a value greater than the maximum time left, Message Queue returns an error.

The timeout value set for a message using ChangeMessageVisibility is not saved in memory forever. If you don't delete a message after it is received, the visibility timeout for the message reverts to the original timeout value the next time the message is received.

For more information about message visibility, see Messages and Visibility timeout.


Request parameters

Parameter Type Required parameter Description
QueueUrl string Yes URL of the queue where the message is placed.
ReceiptHandle string Yes ReceiptHandle from the ReceiveMessage request.
VisibilityTimeout integer Yes New value of a visibility timeout for the queue, specified in seconds. Valid values: from 0 to 43200 seconds. Default: 30.


Successful response fields

The response does not contain any fields.

ChangeMessageVisibility errors

For a list of errors common for all methods, see Common errors.

HTTP code Error ID Description
400 MessageNotInflight The message is not being processed.
400 ReceiptHandleIsInvalid The specified ReceiptHandle is invalid.

Sample request


For more information about forming requests, see General API request format.

Response example