InstafuelInstafuel
FREN
  • Guides
  • Référence
  • Référence API
Guides
  • Démarrage rapide
  • Clés d'API
  • Référence API
Référence
  • Codes d'erreur
  • Glossaire
  • English
Environnement
  • Staging — instafuel-backend-staging.up.railway.app

© Instafuel — Abidjan, Côte d'Ivoire

Error codesRolesGlossary
powered by Zudoku
Reference

Error codes

The error.code field is stable: branch your logic on it. The message is meant for display, is written in French, and may change without notice.

The format and the retry policy are covered in Errors and idempotency.

Authentication and keys

CodeHTTPMeaning
PAPI_KEY_MISSING401Authorization header absent or malformed
PAPI_KEY_INVALID401unknown key, wrong secret, or a prefix from another surface
PAPI_KEY_REVOKED401key revoked — it will not come back, create a new one
PAPI_KEY_EXPIRED401key past its expiry
PAPI_IP_FORBIDDEN403calling address outside this key's allow list
PAPI_SCOPE_MISSING403the key lacks the required scope — the message names it
PAPI_NOT_ENABLED403API access is not open on your account
RESELLER_INACTIVE403introducer account inactive or terminated
FEATURE_DISABLED404surface not opened — it does not exist for you yet
RATE_LIMIT_EXCEEDED429rate limit exceeded — see the X-RateLimit-* headers

Scope

A resource outside your portfolio is not found, never "forbidden": the API does not confirm the existence of what is none of your business.

CodeHTTPMeaning
COMPANY_NOT_FOUND404company does not exist, or is outside your portfolio
TRANSACTION_NOT_FOUND404transaction does not exist, or is outside your portfolio
WALLET_NOT_FOUND404no wallet for this company
USER_NOT_FOUND404account does not exist, or is outside the target company
CREDIT_REQUEST_NOT_FOUND404request does not exist, or was filed by another introducer
ENDPOINT_NOT_FOUND404no endpoint at this URL on the partner API
RESELLER_NOT_FOUND404introducer account not found — valid key on an account that no longer exists

Portfolio and client accounts

CodeHTTPMeaning
COMPANY_ALREADY_EXISTS409a company already carries this name, RCCM or NIF
COMPANY_REQUEST_ALREADY_PENDING409an onboarding request is already pending for this registration
ACCOUNT_ALREADY_EXISTS409an account already exists with the given email or phone
EMAIL_ALREADY_EXISTS409an account already exists with this email
PHONE_ALREADY_EXISTS409an account already exists with this phone number
RESELLER_SELF_ASSIGNMENT422these are an introducer account's details — a client account belongs to the client
RESELLER_COMPANY_QUOTA_EXCEEDED422portfolio company cap reached
RESELLER_USER_QUOTA_EXCEEDED422per-company account cap reached
ROLE_NOT_ALLOWED422role outside the two accepted values (FLEET_ADMINISTRATOR, DAF)
NO_UPDATABLE_FIELD422no updatable field in the body

Wallet and credit

CodeHTTPMeaning
RESELLER_CREDIT_DISABLED403payment declaration not open on your account
WALLET_BLOCKED400wallet blocked, no movement possible
RESELLER_CREDIT_CAP_EXCEEDED422per-operation cap exceeded
RESELLER_DAILY_CAP_EXCEEDED422daily cap exceeded, pending requests included
PROOF_REQUIRED400proof of payment is mandatory on every declaration
PROOF_NO_FILE400no file received under the files multipart field
PROOF_TOO_MANY400more than 3 proofs
PROOF_TOO_LARGE413file above 10 MB
PROOF_INVALID_MIME400file type not accepted
PROOF_MIME_MISMATCH400file content does not match the declared type
PROOF_INVALID422proof missing, deleted, already linked, or from another company
PROOF_NOT_FOUND404proof not found or deleted

Request

CodeHTTPMeaning
VALIDATION_ERROR422validation failed — details names the offending fields
INVALID_PATH_PARAM400path identifier is not an integer
INVALID_QUERY_PARAM400malformed query parameter
IDEMPOTENCY_KEY_MISSING400X-Idempotency-Key header absent on a write
IDEMPOTENCY_KEY_TOO_LONG422idempotency key above 200 characters
IDEMPOTENCY_CONFLICT409same idempotency key, different body
INTERNAL_ERROR500server error — retry with backoff and the same idempotency key

Unknown codes

This list covers the codes met in day-to-day integration. A code missing from here is handled generically, based on its HTTP status — never silently.

Last modified on September 2, 2026
Roles
On this page
  • Authentication and keys
  • Scope
  • Portfolio and client accounts
  • Wallet and credit
  • Request