API error types

Errors from the wemovedata API are problem documents (application/problem+json) with a type such as https://wemovedata.eu/docs/problems/not-found, the HTTP status, a title and a detail that says what to do. Match on the last part of type.

TypeStatusMeaning
authorization-pending428The CLI's device sign-in is waiting: approve the code in the portal, then poll again.
billing-disabled503Payments are not set up on this server; only the Free plan is available.
billing-profile-required409Fill in the billing details (company, address, VAT ID) before choosing a paid plan.
captcha400The CAPTCHA check failed or is missing; reload the page and try again.
conflict409The request conflicts with the current state, for example a name that is already taken.
email-not-verified403Confirm your e-mail address first (the link in the mail we sent).
expired400The link or code has expired; ask for a new one.
forbidden403You are signed in but not allowed to do this.
hailer-error502Hailer refused or failed the request; the detail has Hailer's message.
insufficient-scope403The access token lacks a scope this request needs; create a token with that scope.
internal500Something went wrong on our side. It is logged; try again, and contact support if it keeps happening.
invalid-code400The two-step sign-in or verification code is wrong (401 when it is part of signing in).
invalid-name400Names are 4–32 characters: lowercase letters, digits and dashes, starting with a letter.
invalid-python400The code does not parse or does not define the functions the deployment needs.
invalid-request400A field is missing or not valid (422 when the body is well-formed but its values are not); the detail says which.
invalid-token400The token in the link or request is not valid.
invalid-workflow400The workflow graph is not valid, for example a step without its function or a cycle.
invoice-not-open409The invoice is already paid or void.
mfa-enrollment-required403Your account must set up two-step sign-in before continuing.
mfa-required401Enter the code from your authenticator app to finish signing in.
no-secrets503The server cannot decrypt secret settings at the moment; try again shortly.
not-configured409This feature needs configuration first; the detail says what.
not-found404The resource does not exist, or it is not yours.
payload-too-large413The request body is larger than allowed.
payment-provider502The payment provider (Mollie) did not answer as expected; try again shortly.
phase-hook-taken409This Hailer phase already starts another workflow.
quota403Your plan's limit is reached (apps, invocations or another quota); see Quotas and Billing.
rate-limited429Too many requests in a short time; wait a moment and try again (see Retry-After).
secrets-missing409Secret settings this action needs are not set.
session-required403This action is only available in the portal, signed in, not with an access token.
slow-down429The CLI polls too often during device sign-in; wait longer between polls.
step-up-required403Confirm it is you (your password or two-step code) before this sensitive action.
suspended403The account or app is suspended; contact support.
too-large413The upload or value is too large.
too-many-runs429Too many workflow runs at the same time; wait for some to finish.
unauthorized401Sign in, or send a valid access token.
unavailable503A part of the platform is briefly unavailable; try again shortly.
unreadable422The upload could not be read, for example a damaged zip file.
unsupported-media-type415Send the body with a supported Content-Type, such as application/json or application/zip.
vat-invalid422The EU VIES service says the VAT ID is not valid.
vies-unavailable503The EU VAT check (VIES) does not answer; try again later.
weak-password400Choose a longer or less common password.