Troubleshooting
Look up a Veriom error code and fix it. Covers sign-in, tokens, plans and billing, connectors, repositories, CI, cloud connections, audits, and MCP.
This page is for anyone who hit an error in Veriom. Find the code in the tables below. Each row says what it means and how to fix it.
Read an error
Veriom's API answers errors in one shape:
{
"type": "https://api.veriom.ai/problems/not_found",
"title": "Resource Not Found",
"status": 404,
"code": "not_found",
"detail": "Not Found",
"hint": "Check the resource identifier and consult /v1/openapi.json for available operations.",
"instance": "/v1/auth/signup-options",
"request_id": "080a306f-5d54-454a-ab9a-95bacf386f70"
}codeis the stable value to look up below.hintoften says the fix.request_ididentifies the request. Include it when you contact Veriom support.
Sign-in and access
| Code | Status | What it means | Fix |
|---|---|---|---|
authentication_required | 401 | You are not signed in, or the email or password is wrong | Sign in again, or reset your password |
| (email verification is required) | 403 | You have not verified your email address | Open the link in the verification email. Request a new one from the sign-in page |
invitation_required | 403 | Veriom accepts invited users only | Ask a workspace admin to invite you |
step_up_required | 428 | This change needs a recent identity check | Confirm it's you when asked. It lasts 10 minutes |
mfa_enrollment_required | 428 | The workspace requires two-factor sign-in | Add an authenticator app or passkey under Settings → Security |
sso_required | 428 | The workspace enforces single sign-on | Click Continue with your company's provider, or Sign in with SSO on the sign-in page. See Enforce SSO |
session_idle_timeout | 428 | You were idle longer than the workspace allows | Sign in again |
ip_not_allowed | 403 | Your network is not on the workspace's allowlist | Connect from an allowed network, or ask an Admin to add yours |
workspace_deletion_scheduled | 409 | The workspace is being deleted and is read-only | An Owner can click Cancel deletion in Settings → General |
API tokens
| Code | Status | What it means | Fix |
|---|---|---|---|
| (invalid bearer token) | 401 | The token is missing, wrong, expired, or revoked | Send Authorization: Bearer vat_... with a valid token |
api_token_inactive | 401 | The token was deactivated | An Admin reactivates it in Settings → API tokens |
| (token lacks a scope) | 403 | The token does not have the permission this call needs | Create a token with that permission |
api_token_creator_inactive | 409 | The person who created the token left the workspace | Create a new token |
Plans and billing
| Code | Status | What it means | Fix |
|---|---|---|---|
plan_limit_reached | 402 | A plan limit is reached. detail.resource names it: repositories, api_tokens, processing_units, or subscription | Free up capacity, add processing units, wait for the monthly reset, or upgrade. See Plans and billing |
plan_feature_unavailable | 402 | Your plan does not include this feature | Upgrade to the plan the error names |
trial_workspace_limit | 402 | You already started a trial workspace | Upgrade it, or join an existing workspace |
billing_subscription_exists | 409 | The workspace already pays through Stripe | Use Manage billing |
billing_managed_by_veriom | 409 | Veriom invoices this workspace | Contact Veriom to change the plan |
promotion_code_invalid | 422 | The coupon is not valid | Check or remove the code |
billing_provider_unavailable | 502 | Stripe could not be reached | Try again in a moment |
Connectors and apps
| Code | Status | What it means | Fix |
|---|---|---|---|
browser_session_required | 403 | Connectors can only be added from a signed-in browser | Connect from the Veriom app, not with an API token |
connector_oauth_state_invalid | The consent link expired (10 minutes) or was used | Click Connect again | |
connector_oauth_browser_mismatch | Consent finished in a different browser | Start and finish in the same browser | |
connector_oauth_client_rejected | Veriom's app settings for that tool are wrong | Contact Veriom support | |
connector_oauth_wrong_host | 409 | You started from an address other than the Veriom app | Open https://veriom.io and connect from there |
connector_oauth_reconnect_required | The tool no longer accepts Veriom's access | Click Reconnect on the connector | |
connector_authorization_failed | 422 | The tool rejected the credentials | Reconnect, or paste a new token |
connector_rate_limited | 429 | The tool is rate-limiting Veriom | Wait, then click Sync now |
connector_circuit_open | 429 | Too many recent failures. Veriom paused retries | Wait for the retry window, then click Diagnose |
connector_revoked | 409 | The connector was revoked | Add it again from Add a connector |
More detail: Connect your team's tools.
CI
| Code | Status | What it means | Fix |
|---|---|---|---|
ci_setup_no_services | 409 | Veriom has not found a service in the repository yet | Run an audit first |
ci_setup_permission_missing | 409 | The GitHub App cannot write the workflow | Grant Contents, Workflows, and Pull requests write |
ci_setup_installation_unavailable | 409 | The GitHub App is suspended or removed | Reinstall the App |
ci_setup_github_only | 409 | The repository is not on GitHub | Use the GitLab or Bitbucket steps |
ci_oidc_token_invalid | 401 | GitHub's token failed verification | Check the job has id-token: write and uses the veriom audience |
ci_oidc_repository_not_connected | 403 | The repository is not connected, or is out of scope | Connect it and click Add to scope |
ci_oidc_workspace_ambiguous | 409 | The repository is in more than one workspace | Set workspace-id on the action |
ci_oidc_token_reused | 409 | The same GitHub token was used twice | Re-run the job |
ci_token_route_not_allowed | 403 | A CI token tried a call it cannot make | Use a workspace API token for that call |
More detail: Run Veriom in CI.
Cloud connections
| Code | Status | What it means | Fix |
|---|---|---|---|
cloud_connection_limit | 409 | The workspace has 25 cloud connections | Remove one you no longer use |
cloud_connect_callback_invalid | 401 | The setup link was used or expired | Click New setup links |
cloud_connection_outputs_invalid | 422 | An Azure output is not a valid ID | Copy the outputs again |
cloud_connection_subject_changed | 409 | The repository was renamed or its default branch changed | Start a new connection |
cloud_connection_required | 403 | A snapshot came without a ready connection for that repository and account | Finish the connection first |
More detail: Connect your cloud.
Audits and uploads
| Code | Status | What it means | Fix |
|---|---|---|---|
source_audit_already_active | 409 | This source already has an audit running | Wait for it, or cancel it from Audits |
plan_limit_reached with processing_units | 402 | Not enough processing units left to start | Add processing units or wait for the monthly reset |
malware_detected | The uploaded ZIP failed the malware scan | Check the archive and upload a clean one | |
upload_incomplete | The upload did not finish | Upload the file again |
An audit that shows Done, with gaps finished with missing evidence. See How audits work.
MCP
| Problem | Fix |
|---|---|
| The sign-in page says the request is invalid or expired | Start the connection again from your client. The consent page lasts 10 minutes |
invalid_redirect_uri | Your client's redirect address must use HTTPS, or HTTP on localhost |
ip_not_allowed | Connect from a network the workspace allows |
More detail: Use Veriom from an AI assistant.
Rate limits
The API allows 240 requests a minute by default, and 10 audit starts a minute. Above that it answers 429 rate_limited. Wait and retry. Honor the Retry-After header when it is present.
Was this guide useful?
Your response stays in this browser unless you open a GitHub issue.