Errors
Given that status codes are sometimes not sufficient to convey enough information about an error to be helpful, the Morio Management API and the Morio Core API implement the Problem Details for HTTP APIs specification (RFC7807).
Here is an example of such an error response:
{
"type": "https://morio.it/docs/reference/errors/morio.api.schema.violation",
"status": 400,
"title": "This request violates the data schema",
"detail": "The request data failed validation against the Morio data schema. This means the request is invalid."
}
As you can see, the type
field of the error response is a URL, which leads to
the error’s documentation
page.
This is rather helpful when troubleshooting, so where possible — even outside API responses — Morio will make errors a URL that leads to the relevant documentation page.
List of Morio Error Types
- morio.api.404
- morio.api.account.credentials.mismatch
- morio.api.account.exists
- morio.api.account.invite.mismatch
- morio.api.account.role.insufficient
- morio.api.account.role.unavailable
- morio.api.account.state.invalid
- morio.api.account.unknown
- morio.api.apikeys.list.failed
- morio.api.authentication.required
- morio.api.core.status.503
- morio.api.core.status.false
- morio.api.core.status.undefined
- morio.api.db.failure
- morio.api.ephemeral.prohibited
- morio.api.ephemeral.required
- morio.api.idp.disabled
- morio.api.idp.failure
- morio.api.idp.unknown
- morio.api.info.unavailable
- morio.api.input.malformed
- morio.api.internal.error
- morio.api.kv.404
- morio.api.nominative.account.required
- morio.api.preseed.failed
- morio.api.ratelimit.exceeded
- morio.api.rbac.denied
- morio.api.reloading.prohibited
- morio.api.schema.violation
- morio.api.settings.invalid
- morio.api.settings.undeployable
- morio.core.404
- morio.core.checksum.mismatch
- morio.core.ephemeral.prohibited
- morio.core.ephemeral.required
- morio.core.fs.write.failed
- morio.core.reloading.prohibited
- morio.core.schema.violation
- morio.core.settings.fqdn.mismatch
- morio.core.settings.invalid