Jump to: navigation, search

Zaqar/specs/api/v1/responsecodes

< Zaqar‎ | specs/api/v1
Revision as of 15:09, 26 March 2013 by Malini (talk | contribs)
  • In all cases, the response body will have an error message appropriate to the scenario
  • Any http operation , other than the specified will return a 404 (?)

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

Update Claim

Error Scenario HTTP Response Code
Update Claim on a non existing queue 404
Update a non existing claim 404
Update claim with invalid URL params
Update claim with content-type != application/json-patch
Update claim with no request body 400
Update claim with invalid JSON in request body 400
Update claim with non JSON request body
Update Claim with invalid auth token 401
Update Claim with missing header fields 400
Update Claim with invalid URL params

Release Claim

Error Scenario HTTP Response Code
Release Claim from a non existing queue 404
Release a non existing claim 204
Release claim with invalid URL params
Release Claim with invalid auth token 401
Release Claim with missing header fields 400
  1. 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".
  2. DELETE is an idempotent operation.