In all cases, the response body will have an error message appropriate to the scenario
Create Queue
Error Scenario |
HTTP Response Code
|
Request Body is Empty |
400
|
Request Body has toplevel field starting with underscore |
400
|
Request header has missing fields |
400
|
Request header has invalid auth token |
401
|
Request header has Accept != "application/json" |
406
|
Request body is >4KB |
400
|
Request body has malformed JSON |
400
|
Queue has a long name (>512 bytes) |
400
|
List Queues
Error Scenario |
HTTP Response Code |
Notes
|
Request a non existing queue |
404 |
|
URL has invalid param (something other than limit,marker,metadata) |
200 |
Extra params are ignored.
|
Request with negative value for limit |
400 |
|
Request with zero value for limit |
400 |
|
Request with non existing value of marker |
204 [1] |
What does Swift do?
|
Request with non boolean value for metadata |
400 |
lowercase true/false?
|
Set Queue Metadata
same as create queue ?
Yes, it's the same. (kgriffs)
Get Queue Metadata
Error Scenario |
HTTP Response Code
|
Request metadata for a non existing queue |
404
|
Get Queue Stats
Error Scenario |
HTTP Response Code
|
Request stats for a non existing queue |
404
|
Delete Queue
Error Scenario |
HTTP Response Code
|
Delete a non existing queue |
204 [2]
|
Get Messages
Error Scenario |
HTTP Response Code
|
Request message from a non existing queue |
404
|
Request message with invalid param (something other than marker,limit,echo) |
400
|
Request message with limit >100 |
|
Request message with limit <= 0 |
400
|
Request message with non existing marker |
204 [1]
|
Request message with non boolean value for echo |
400
|
Get Actions
Error Scenario |
HTTP Response Code
|
Request actions for a non existing queue |
404
|
Request actions with invalid param (something other than marker,limit) |
400
|
Request message with limit >100 |
|
Request message with limit <= 0 |
400
|
Request message with non existing marker |
204 [1]
|
Get a Specific Message
Error Scenario |
HTTP Response Code
|
Request message from a non existing queue |
404
|
Request a non existing message |
404
|
Request an expired message |
404
|
Post Message(s)
Error Scenario |
HTTP Response Code
|
Post message to a non existing queue |
404
|
Post > 100 messages with a single request |
|
Post with request body > 4KB |
|
Post with invalid JSON request body |
400
|
Post with non-JSON request body |
|
Post with TTL < 60 |
|
Post with TTL > 1209600 |
|
Post with non int value of TTL |
|
Post with negative value of TTL |
same as < 60
|
Post without TTL in request body |
400
|
Post without body in request body |
400
|
Post with no request body |
400
|
Delete Messages
Error Scenario |
HTTP Response Code
|
Delete message from a non existing queue |
204
|
Delete a non existing message |
204
|
Delete with non expired claim_id |
|
Delete with non existing claim_id |
|
Delete with url param other than claim_id |
|
Claim Messages
Error Scenario |
HTTP Response Code
|
Claim message from a non existing queue |
404
|
Claim message with invalid value for limit (nonint, <=0, >100) |
|
Claim message with no request body |
400
|
Claim message with no TTL field |
|
Claim message with invalid TTL value (non int, <=0) |
|
Claim message with invalid JSON |
|
Claim message with non JSON request body |
|
Claim message with invalid auth token |
401
|
Claim message with missing header fields |
400
|
Query Claim
Error Scenario |
HTTP Response Code
|
Query Claim from a non existing queue |
404
|
Query Claim with invalid auth token |
401
|
Query Claim with missing header fields |
400
|
Query Claim with invalid URL params |
|
Query Claim with non existing claim_id |
|
- ↑ 1.0 1.1 1.2 A marker is an opaque string which relates to no resource
from the user's point of view, so markers are not differentiated by "existing"
or "non existing", they are either "giving more messages" and "giving no
messages".
- ↑ DELETE is an idempotent operation.