errHTTPBadRequestEmailDisabled=&errHTTP{40001,http.StatusBadRequest,"e-mail notifications are not enabled","https://ntfy.sh/docs/config/#e-mail-notifications",nil}
errHTTPBadRequestDelayNoCache=&errHTTP{40002,http.StatusBadRequest,"cannot disable cache for delayed message","",nil}
errHTTPBadRequestDelayNoEmail=&errHTTP{40003,http.StatusBadRequest,"delayed e-mail notifications are not supported","",nil}
errHTTPBadRequestDelayCannotParse=&errHTTP{40004,http.StatusBadRequest,"invalid delay parameter: unable to parse delay","https://ntfy.sh/docs/publish/#scheduled-delivery",nil}
errHTTPBadRequestDelayTooSmall=&errHTTP{40005,http.StatusBadRequest,"invalid delay parameter: too small, please refer to the docs","https://ntfy.sh/docs/publish/#scheduled-delivery",nil}
errHTTPBadRequestDelayTooLarge=&errHTTP{40006,http.StatusBadRequest,"invalid delay parameter: too large, please refer to the docs","https://ntfy.sh/docs/publish/#scheduled-delivery",nil}
errHTTPBadRequestSinceInvalid=&errHTTP{40008,http.StatusBadRequest,"invalid since parameter","https://ntfy.sh/docs/subscribe/api/#fetch-cached-messages",nil}
errHTTPBadRequestAttachmentURLInvalid=&errHTTP{40013,http.StatusBadRequest,"invalid request: attachment URL is invalid","https://ntfy.sh/docs/publish/#attachments",nil}
errHTTPBadRequestAttachmentsDisallowed=&errHTTP{40014,http.StatusBadRequest,"invalid request: attachments not allowed","https://ntfy.sh/docs/config/#attachments",nil}
errHTTPBadRequestAttachmentsExpiryBeforeDelivery=&errHTTP{40015,http.StatusBadRequest,"invalid request: attachment expiry before delayed delivery date","https://ntfy.sh/docs/publish/#scheduled-delivery",nil}
errHTTPBadRequestWebSocketsUpgradeHeaderMissing=&errHTTP{40016,http.StatusBadRequest,"invalid request: client not using the websocket protocol","https://ntfy.sh/docs/subscribe/api/#websockets",nil}
errHTTPBadRequestMessageJSONInvalid=&errHTTP{40017,http.StatusBadRequest,"invalid request: request body must be message JSON","https://ntfy.sh/docs/publish/#publish-as-json",nil}
errHTTPBadRequestPhoneCallsDisabled=&errHTTP{40032,http.StatusBadRequest,"invalid request: calling is disabled","https://ntfy.sh/docs/config/#phone-calls",nil}
errHTTPBadRequestPhoneNumberInvalid=&errHTTP{40033,http.StatusBadRequest,"invalid request: phone number invalid","https://ntfy.sh/docs/publish/#phone-calls",nil}
errHTTPBadRequestPhoneNumberNotVerified=&errHTTP{40034,http.StatusBadRequest,"invalid request: phone number not verified, or no matching verified numbers found","https://ntfy.sh/docs/publish/#phone-calls",nil}
errHTTPBadRequestAnonymousCallsNotAllowed=&errHTTP{40035,http.StatusBadRequest,"invalid request: anonymous phone calls are not allowed","https://ntfy.sh/docs/publish/#phone-calls",nil}
errHTTPBadRequestPhoneNumberVerifyChannelInvalid=&errHTTP{40036,http.StatusBadRequest,"invalid request: verification channel must be 'sms' or 'call'","https://ntfy.sh/docs/publish/#phone-calls",nil}
errHTTPBadRequestTemplateMessageTooLarge=&errHTTP{40041,http.StatusBadRequest,"invalid request: message or title is too large after replacing template","https://ntfy.sh/docs/publish/#message-templating",nil}
errHTTPBadRequestTemplateMessageNotJSON=&errHTTP{40042,http.StatusBadRequest,"invalid request: message body must be JSON if templating is enabled","https://ntfy.sh/docs/publish/#message-templating",nil}
errHTTPBadRequestTemplateInvalid=&errHTTP{40043,http.StatusBadRequest,"invalid request: could not parse template","https://ntfy.sh/docs/publish/#message-templating",nil}
errHTTPBadRequestTemplateDisallowedFunctionCalls=&errHTTP{40044,http.StatusBadRequest,"invalid request: template contains disallowed function calls, e.g. template, call, or define","https://ntfy.sh/docs/publish/#message-templating",nil}
errHTTPEntityTooLargeAttachment=&errHTTP{41301,http.StatusRequestEntityTooLarge,"attachment too large, or bandwidth limit reached","https://ntfy.sh/docs/publish/#limitations",nil}
errHTTPEntityTooLargeMatrixRequest=&errHTTP{41302,http.StatusRequestEntityTooLarge,"Matrix request is larger than the max allowed length","",nil}
errHTTPEntityTooLargeJSONBody=&errHTTP{41303,http.StatusRequestEntityTooLarge,"JSON body too large","",nil}
errHTTPTooManyRequestsLimitRequests=&errHTTP{42901,http.StatusTooManyRequests,"limit reached: too many requests","https://ntfy.sh/docs/publish/#limitations",nil}
errHTTPTooManyRequestsLimitEmails=&errHTTP{42902,http.StatusTooManyRequests,"limit reached: too many emails","https://ntfy.sh/docs/publish/#limitations",nil}
errHTTPTooManyRequestsLimitSubscriptions=&errHTTP{42903,http.StatusTooManyRequests,"limit reached: too many active subscriptions","https://ntfy.sh/docs/publish/#limitations",nil}
errHTTPTooManyRequestsLimitTotalTopics=&errHTTP{42904,http.StatusTooManyRequests,"limit reached: the total number of topics on the server has been reached, please contact the admin","https://ntfy.sh/docs/publish/#limitations",nil}
errHTTPTooManyRequestsLimitAccountCreation=&errHTTP{42906,http.StatusTooManyRequests,"limit reached: too many accounts created","https://ntfy.sh/docs/publish/#limitations",nil}// FIXME document limit
errHTTPTooManyRequestsLimitReservations=&errHTTP{42907,http.StatusTooManyRequests,"limit reached: too many topic reservations for this user","",nil}
errHTTPTooManyRequestsLimitAuthFailure=&errHTTP{42909,http.StatusTooManyRequests,"limit reached: too many auth failures","https://ntfy.sh/docs/publish/#limitations",nil}// FIXME document limit
errHTTPInternalError=&errHTTP{50001,http.StatusInternalServerError,"internal server error","",nil}
errHTTPInternalErrorInvalidPath=&errHTTP{50002,http.StatusInternalServerError,"internal server error: invalid path","",nil}
errHTTPInternalErrorMissingBaseURL=&errHTTP{50003,http.StatusInternalServerError,"internal server error: base-url must be be configured for this feature","https://ntfy.sh/docs/config/",nil}
errHTTPInternalErrorWebPushUnableToPublish=&errHTTP{50004,http.StatusInternalServerError,"internal server error: unable to publish web push message","",nil}
errHTTPInsufficientStorageUnifiedPush=&errHTTP{50701,http.StatusInsufficientStorage,"cannot publish to UnifiedPush topic without previously active subscriber","",nil}