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.
| Type | Status | Meaning |
|---|---|---|
authorization-pending | 428 | The CLI's device sign-in is waiting: approve the code in the portal, then poll again. |
billing-disabled | 503 | Payments are not set up on this server; only the Free plan is available. |
billing-profile-required | 409 | Fill in the billing details (company, address, VAT ID) before choosing a paid plan. |
captcha | 400 | The CAPTCHA check failed or is missing; reload the page and try again. |
conflict | 409 | The request conflicts with the current state, for example a name that is already taken. |
email-not-verified | 403 | Confirm your e-mail address first (the link in the mail we sent). |
expired | 400 | The link or code has expired; ask for a new one. |
forbidden | 403 | You are signed in but not allowed to do this. |
hailer-error | 502 | Hailer refused or failed the request; the detail has Hailer's message. |
insufficient-scope | 403 | The access token lacks a scope this request needs; create a token with that scope. |
internal | 500 | Something went wrong on our side. It is logged; try again, and contact support if it keeps happening. |
invalid-code | 400 | The two-step sign-in or verification code is wrong (401 when it is part of signing in). |
invalid-name | 400 | Names are 4–32 characters: lowercase letters, digits and dashes, starting with a letter. |
invalid-python | 400 | The code does not parse or does not define the functions the deployment needs. |
invalid-request | 400 | A field is missing or not valid (422 when the body is well-formed but its values are not); the detail says which. |
invalid-token | 400 | The token in the link or request is not valid. |
invalid-workflow | 400 | The workflow graph is not valid, for example a step without its function or a cycle. |
invoice-not-open | 409 | The invoice is already paid or void. |
mfa-enrollment-required | 403 | Your account must set up two-step sign-in before continuing. |
mfa-required | 401 | Enter the code from your authenticator app to finish signing in. |
no-secrets | 503 | The server cannot decrypt secret settings at the moment; try again shortly. |
not-configured | 409 | This feature needs configuration first; the detail says what. |
not-found | 404 | The resource does not exist, or it is not yours. |
payload-too-large | 413 | The request body is larger than allowed. |
payment-provider | 502 | The payment provider (Mollie) did not answer as expected; try again shortly. |
phase-hook-taken | 409 | This Hailer phase already starts another workflow. |
quota | 403 | Your plan's limit is reached (apps, invocations or another quota); see Quotas and Billing. |
rate-limited | 429 | Too many requests in a short time; wait a moment and try again (see Retry-After). |
secrets-missing | 409 | Secret settings this action needs are not set. |
session-required | 403 | This action is only available in the portal, signed in, not with an access token. |
slow-down | 429 | The CLI polls too often during device sign-in; wait longer between polls. |
step-up-required | 403 | Confirm it is you (your password or two-step code) before this sensitive action. |
suspended | 403 | The account or app is suspended; contact support. |
too-large | 413 | The upload or value is too large. |
too-many-runs | 429 | Too many workflow runs at the same time; wait for some to finish. |
unauthorized | 401 | Sign in, or send a valid access token. |
unavailable | 503 | A part of the platform is briefly unavailable; try again shortly. |
unreadable | 422 | The upload could not be read, for example a damaged zip file. |
unsupported-media-type | 415 | Send the body with a supported Content-Type, such as application/json or application/zip. |
vat-invalid | 422 | The EU VIES service says the VAT ID is not valid. |
vies-unavailable | 503 | The EU VAT check (VIES) does not answer; try again later. |
weak-password | 400 | Choose a longer or less common password. |