← Fintech Docs
Error Codes
All AEVION fintech API errors follow this shape:{ error: "code", message?: "human text", ...extra }
| Code | HTTP | Module | Description | Resolution |
|---|---|---|---|---|
| auth_required | 401 | all | Bearer token missing or expired. Re-authenticate. | Refresh token and retry. |
| key_invalid | 401 | all | API key is revoked or malformed. | Generate a new key at /keys. |
| rate_limited | 429 | all | Exceeded requests-per-minute for your tier. | Implement exponential backoff; upgrade tier. |
| key_limit_reached | 429 | apiKeys | You already have 3 active API keys (Developer tier cap). | Revoke an existing key first. |
| wallet_not_found | 404 | qpaynet | Wallet ID does not exist or belongs to another user. | Verify wallet ID from GET /api/qpaynet/wallets. |
| wallet_inactive | 400 | qpaynet | Wallet is frozen or deleted. | Check wallet status; contact support if frozen. |
| insufficient_balance | 400 | qpaynet | Not enough funds including 0.1% transfer fee. | Deposit or reduce transfer amount. |
| request_paid | 400 | qpaynet | Payment request already fulfilled. | Create a new payment request. |
| request_expired | 400 | qpaynet | Payment request past expiresAt or max views reached. | Create a new request. |
| cannot_pay_own_request | 400 | qpaynet | Payer wallet == receiver wallet. | Use a different wallet. |
| reference_already_written | 409 | build | Employer already wrote a reference for this worker on this project. | One reference per (employer, worker, project). |
| plan_vacancy_limit_reached | 403 | build | QBuild plan vacancy slots exhausted. | Close existing vacancies or upgrade plan. |
| interview_not_found_or_slot_invalid | 404 | build | Slot not in proposedSlots array. | Use one of the slots from GET /interviews/my. |
| test_not_found | 404 | build | Skill test ID does not exist. | Use IDs from GET /api/build/skill-tests. |
| profile-not-found | 404 | healthai | HealthAI profile not found. | Create a profile first via POST /api/healthai/profile. |
| audit_required | 401 | qcoreai | QCoreAI endpoint requires authentication. | Pass Bearer token in Authorization header. |
| spend_limit_exceeded | 402 | qcoreai | Monthly AI spend cap reached. | Update limit at /qcoreai/budget or wait for month reset. |
| template_not_found | 404 | qcoreai | Prompt template ID does not exist. | List templates via GET /api/qcoreai/templates. |
| document_not_found | 404 | qcontract | QContract document not found or token expired. | Check the access token URL. |
| document_expired | 410 | qcontract | Document past expiresAt or maxViews limit. | Create a new document. |
| create_track_failed | 500 | qmedia | Internal error persisting track. | Retry. If persistent, contact support. |
| build_init_failed | 500 | build | QBuild DB bootstrap failed on cold start. | Retry after 5s; report if consistent. |