The standard OK response is response_code 200 and the return body is always either empty or a valid JSON object
For all errors the following codes are used throughout the REST interface:
| Code | Description |
| Successful | |
| 200 | Successful operation. |
| 201 | Successful operation. Object is created. |
| 202 | Successful operation. Task is accepted and will be processed. |
| 204 | Successful operation. No response value. |
| Client Error | |
| 400 | Bad request. Typically syntax error or missing input parameter. |
| 401 | Unauthorized. Correct credentials were not provided. |
| 403 | No access. Credentials are ok, but you are not allowed to perform the requested operation. |
| 404 | Unknown URL. The operation requested does not exist. |
| 408 | Timeout. An internal operation timed out. You may try again later. |
| 409 | Conflict. A parameter is in conflict with an existing condition and cannot be updated. Typically with PUT and POST. |
| 412 | Precondition failed. Typically missing “accept application/json” or “accept **/**“. The system does currently not understand “application/*” or “*/json“. |
| 422 | Request syntax ok, but no data was available for the requested input parameters. Could be asking for too old data or a ship that does not exist. |
| 429 | Too many requests. Each user can have only one outstanding operation. Also a limit may be imposed on the number of completed jobs in the database due to size restrictions. Contact GateHouse if this is a serious issue for your operation. |
| Server Error | |
| 500 | Internal error in the system. Contact GateHouse with the username and a timestamp of the incident (as precise as possible). |