Goals of new API:
- Better conventions (ReST)
- More generic (not tied to ruby at all)
- Most UI functions should also be available via API
Authentication
All methods require authentication unless specified otherwise.
Authentication will be done via an Oauth2 token using Authorization header, eg:
Authorization: OAuth abc4c7c627376858
or in parameters:
?oauth=abc4c7c627376858
Requests
All request bodies should be in JSON format, with Content-Type application/json.
Base URL (all endpoints are prefixed with this):
https://worker-aws-us-east-1.iron.io/1
Responses
All responses are in JSON, with Content-Type application/json.
Common response:
{ "status_code": 200, "msg": "some success or error message" }
Status Codes:
- All successful GET requests return 200 OK
-
All successful POST requests return 201 Created
-
Invalid JSON (can't be parsed or has wrong types) results in 400 Bad Request
-
Failure to authenticate results in 401 Unauthorized
-
Bad project ID/task ID/etc. results in 404 Not Found
-
Bad request methods result in 405 Method Not Allowed. More specifically, the URL may be ok, but not for the method invoked (e.g. ok for GET, not ok to DELETE)
-
Bad Content-Type in a POST request results in 406 Not Acceptable
Specific endpoints may provide other errors in other situations.
When there's an error, the response body contains a JSON object something like:
{ "status_code": 400, "msg": "reason for error" }
Date / Time Format
All date/time/timestamps will use the ISO 8601 / RFC 3339 format.
Methods
Codes
Tasks
Schedules
|