Skip to main content

Global

Bad Request

Type: bad-request

Detail: The request is invalid or malformed.

Resolution:

  • Check your requests against the Schema for problems.
  • Required properties/ headers/ parameters are provided.
  • Provided properties/ headers/ parameters are valid.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#bad-request",
    "title": "Bad Request",
    "detail": "The request is invalid or malformed.",
    "status": 400
}


Unauthorized

Type: unauthorized

Detail: The request could not be authorized.

Resolution:

  • Ensure an Authorization header is included in the request.
  • Verify a valid username and password pair has been converted to base64.
  • Verify credentials are valid.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#unauthorized",
    "title": "Unauthorized",
    "detail": "The request could not be authorized.",
    "status": 401,
    "errors": {
        "detail": "The Authorization header is either missing or invalid.",
        "header": "Authorization"
    }
}


Forbidden

Type: forbidden

Detail: The request was rejected due to insufficient permissions.

Resolution:

  • Your current user does not have permission to access this resource.
  • Contact support if you believe you require access.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#forbidden",
    "title": "Forbidden",
    "detail": "The request was rejected due to insufficient permissions.",
    "status": 403
}


Not Found

Type: not-found

Detail: The requested resource does not exist.

Resolution:

  • Double check the path and any provided path parameters.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#not-found",
    "title": "Not Found",
    "detail": "The requested resource does not exist.",
    "status": 404
}


Resource Conflict

Type: conflict

Detail: The request to create or update a resource cannot be completed.

Resolution:

  • Check if the resource already exists.
  • Check if the parent resource already exist.
  • Try again as an existing update request may have been processing.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#conflict",
    "title": "Resource Conflict",
    "detail": "The request to create or update a resource cannot be completed.",
    "status": 409
}


Unsupported Media Type

Type: unsupported-media-type

Detail: The requested media type is not supported.

Resolution:

  • Ensure body content is valid.
  • Ensure Accept header is valid.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#unsupported-media-type",
    "title": "Unsupported Media Type",
    "detail": "The requested media type is not supported.",
    "status": 415
}


I’m a Teapot

Type: im-a-teapot

Detail: This server is a teapot, not a coffee machine. It refuses to brew coffee.

Resolution:

  • If you were expecting coffee, you’ve made a mistake. This endpoint is for tea.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#im-a-teapot",
    "title": "I'm a Teapot",
    "detail": "Short and stout. Try a different request.",
    "status": 418
}


Unprocessable Entity

Type: unprocessable-entity

Detail: The request appears valid but cannot be processed, perhaps due to business rule violations.

Resolution:

  • Check the request sent against the schema.
  • Check the information sent for any data violations.
  • Check the response for pointers to any possible violations.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#unprocessable-entity",
    "title": "Unprocessable Entity",
    "detail": "The request appears valid but cannot be processed, perhaps due to business rule violations.",
    "status": 422
}


Too Many Requests

Type: too-many-requests

Detail: The client has sent too many requests within an alloted amount of time.

Resolution:

  • You must wait before sending more requests.
  • Please refer to REST Rate Limiting for more information.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#too-many-requests",
    "title": "Too Many Requests",
    "detail": "The client has sent too many requests within an alloted amount of time.",
    "status": 429
}


Internal Server Error

Type: internal-server-error

Detail: An unexpected problem has occurred.

Resolution:

  • Please wait and try again at a later time.
  • If this issue persists please contact support.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#internal-server-error",
    "title": "Internal Server Error",
    "detail": "An unexpected problem has occurred.",
    "status": 500
}


Service Unavailable

Type: service-unavailable

Detail: The server was unable to complete your request. Please try again later.

Resolution:

  • Please wait and try again at a later time.
  • If this issue persists please contact support.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#service-unavailable",
    "title": "Service Unavailable",
    "detail": "The server was unable to complete your request. Please try again later.",
    "status": 503
}


Gateway Timeout

Type: gateway-timeout

Detail: The server timed out waiting for a response. Your request may have been processed, but we cannot confirm. Please do not resubmit your request immediately.

Resolution:

  • Wait a few minutes and check if your request was successful.
  • If you are unsure if your request went through, please contact support.

Example:


{
    "type": "https://landregistry.github.io/bgtechdoc/problems/global#gateway-timeout",
    "title": "Gateway Timeout",
    "detail": "The server timed out waiting for a response. Your request may have been processed, but we cannot confirm.  Please do not resubmit your request immediately.",
    "status": 504
}