ULM HTTP Status Codes

Content

Overview

ULM responds to API requests with standard HTTP status codes. If the API fails to validate a request, it will also respond with a ULM business error code in the response payload.

Classifications

HTTP response codes are grouped into five different classes. Each class represents an overarching response type (e.g. "server error"), and each individual status code denotes a particular type of response that is occurring.

  • 100-199: Informational responses
  • 200-299: Successful responses
  • 300-399: Redirects
  • 400-499: Client errors
  • 500-599: Server errors

The following sections list and describe the response codes specifically used by ULM.

Successful Responses

Status Message Description
200 OK GET Response contains an entity corresponding to the request. If the response contains multiple entities, then it may or may not include the original entity used in the request.
Many ULM APIs are used to retrieve a list of entities associated to the entity specified in the request. For example, GET /user/{userId}/runtime will retrieve all runtimes associated the specified user. Most APIs of this type will include the original entity specified in the request, but some will not.
    POST Response contains and entity describing or containing the result of the successful action. For example, a successful POST /user will return the newly created user entity, along with any additional properties or attributes not originally supplied in the request, such as createdDate and status data fields.
PUT and PATCH requests generally do not return anything other than the "OK" or "Successful" message, but there may be exceptions.
    DELETE The request was successful, and the target resource is now deleted or deactivated. No additional content is returned.
201 Success The request has been fulfilled, typically resulting in the creation of a new resource. Usually does not include any additional content in the payload.
204 No Content The request was successful, but there is no content in the response.

Redirect Responses

Status Message Description
301 Moved Permanently The URL servicing the request has permanently moved; the new URL is included as part of the response.
302 Found The URL servicing the request has temporarily moved. Clients should continue using the same URL to appropriately redirect to new locations in the future. Most often used by the social login/association flows (to redirect to a social provider), or during OIDC login flows.

Failed or Denied Responses

Failed or denied requests are categorized as either client-driven or server-driven errors.

Client Errors

Status Message Description
400 Bad Request General user input error (e.g., field validation error).
401 Unauthorized The request fails due to missing authorization.
403 Forbidden Existing authorization does not allow user to access a protected resource.
404 Not Found The requested resource was not found.
405 Method Not Allowed Incorrect HTTP method used for the request.
406 Not Acceptable Incorrect media type or content type in the request.
409 Conflict Data supplied in the request conflicts with existing data in the ULM database.

Server Errors

Status Message Description
500 Internal Server Error General server error.
501 Not Implemented The server does not support the functionality required to fulfill the request.
502 Bad Gateway The server, while acting as a gateway or proxy, received an invalid response from an inbound server it accessed while attempting to fulfill the request.
503 Service Unavailable The server is currently unable to handle the request due to a temporary overload or scheduled maintenance.