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. |