Problem types
Every Konsol error is an RFC 7807 problem with a type. The type is a stable identifier: it does not change for the same error, and it resolves to the page here that explains it. See Errors for the full format.
Switch on the last segment of type, such as conflict. On staging, type starts with https://developers-staging.konsol.my/problems/ instead of https://developers.konsol.my/problems/. The last segment is the same.
API errors
The Integration API and Device API return these.
| Type | Status | Title |
|---|---|---|
| validation | 400 | Request validation failed |
| malformed-request | 400 | Malformed request |
| unauthorized | 401 | Unauthorized |
| forbidden | 403 | Forbidden |
| not-found | 404 | Resource not found |
| conflict | 409 | Conflict |
| payload-too-large | 413 | Payload too large |
| unprocessable | 422 | Unprocessable content |
| too-many-requests | 429 | Too many requests |
| internal | 500 | Internal server error |
| bad-gateway | 502 | Bad gateway |
| unavailable | 503 | Service unavailable |
| gateway-timeout | 504 | Gateway timeout |
Portal errors
Only the Konsol portal sees these.
| Type | Status | Title |
|---|---|---|
| outside-management-scope | 403 | Outside your management scope |
| tenant-administration-only | 403 | Tenant administration only |
| email-unavailable | 403 | Email unavailable |
| self-change | 409 | Cannot change your own account |
| last-tenant-administrator | 409 | Last tenant administrator |
| release-in-use | 409 | Release in use |
| last-cohort-member | 409 | Last cohort member |
| upload-missing | 409 | Upload missing |
| upload-size-mismatch | 409 | Upload size mismatch |
| artifact-already-uploaded | 409 | Artifact already uploaded |
| subject-taken | 409 | Subject taken |
| no-password-identity | 409 | No password identity |
| unknown-person | 409 | Unknown person |
| no-adapter | 409 | No assurance adapter |
| issuer-locked | 409 | Issuer locked |
| email-domain-taken | 409 | Email domain taken |
| no-client-secret | 409 | No client secret |
| issuer-unverified | 409 | Issuer unverified |
| person-revoked | 409 | Person access revoked |