Tamr API returns conventional HTTP success or error status codes. For errors, we will also include extra information about what went wrong. The various HTTP status codes we might return and metadata included in error messages can be found below.
HTTP Status Codes
Status Code | Text |
---|---|
400 | Bad Request |
401 | Unauthorized |
404 | Not Found |
409 | Conflict |
422 | Unprocessable Entity |
500 | Internal Server Error |
Error Types
All errors are returned as JSON with a status, class, message, and other metadata. An example error response is below:
{
"status": 404,
"class": "com.tamr.common.except.ResourceNotFoundException",
"message": "No Operation found with ID [1000000]",
"stackTrace": [
"com.tamr.common.except.ResourceNotFoundException::withFormattedMessage::14",
"com.tamr.unify.pub.api.services.OperationService::fetchOperation::37",
"com.tamr.unify.pub.api.v1.resources.OperationResource::getOperation::68",
"sun.reflect.NativeMethodAccessorImpl::invoke0::-2"
],
"causedBy": null,
"service": "Public API"
}
Error Attributes | |
---|---|
status | The HTTP status code of the error returned. |
class | The class the error was thrown by. |
message | A human-readable message detailing a short description of the error. |
stackTrace | The series of calls made by the endpoint. |
causedBy | A short message indicating why the error occured. |
service | Which microservice caused the error. |