The Wunder Mobility API uses standardized error codes to communicate issues. This reference helps you understand what went wrong and how to fix it.
| Related Documentation: API Basics | Authentication | MaaS Guide |
When an error occurs, the API returns a JSON response with the following structure:
{
"errorCode": "R102.1",
"userMessage": "you've already got an active rental",
"httpStatus": 400,
"traceId": "0ad1348f1403169275002100356696"
}
Structure:
Error codes consist of:
R = Rental, U = User, P = Payment)102).1, .2)Examples:
R102 - General error: active rental existsR102.1 - Active rental exists (with additional context about the specific scenario)U141.1 - Duplicate email when creating user by adminU141.2 - Duplicate email when adding email sign-in to existing userFor lookups: Search for the base code without the suffix (e.g., search for R102 to understand R102.1).
| Category | Error Codes | Common Scenarios |
|---|---|---|
| Authentication | AUTH*, A2XX | Login failures, token issues |
| User Management | U1XX | User creation, profile updates |
| Phone Verification | U3XX | SMS verification failures |
| Email Verification | U4XX | Email verification failures |
| License Verification | U5XX | License verification status |
| ID Document Verification | U516-U540 | Identity document checks |
| Credit Rating | U7XX | Credit rating checks |
| Terms & Conditions | U6XX | T&C acceptance required |
| User Groups | UG* | Group management |
| Branches & Config | U8XX, B* | Branch setup, location issues |
| Rentals - Creation | R1XX | Starting/reserving rentals |
| Rentals - Operations | R2XX | Ending, parking, admin actions |
| Vehicle Communication | V*, R17X | IoT communication failures |
| Bookings | S*, B3XX | Vehicle reservations |
| Payments | P* | Payment method issues |
| Packages & Invoices | I*, C1XX | Package purchases, billing |
| Balance | J* | Balance operations |
| Vouchers & Promotions | W, VA, T1XX | Voucher redemption, promotions |
| Subscriptions | SU, CV | Subscription management |
| Access Control | A1XX | Permission denied |
| Issues & Fines | F* | Damage reports, fines |
| Files | L* | File uploads |
| Payment Gateway | PGS* | Charge, refund and payment source failures |
| Physical Stations | PS, PR | Station slots, parking areas, parking reservations |
| Generic Request Errors | 00XX | Validation and request-format failures. The authentication codes 0001, 0005 and 0007 are listed under Authentication |
| Other Categories | Various | Supporting features |
Errors you’re most likely to encounter during typical API operations:
| Error Code | When It Occurs | Solution | Retryable |
|---|---|---|---|
| AUTH101 | Email/password sign-in | Verify credentials are correct | No |
| AUTH104 | Refresh token expired | Re-authenticate using sign-in endpoint | No |
| U601 | User attempts rental without T&C | Retrieve and display T&C for acceptance via GET /terms-and-conditions | No |
| U602 | T&C have been updated | Retrieve and display latest T&C for acceptance | No |
| R102 | User tries to rent while already renting | Prevent double-clicking with loading indicators; check for active rental before creating new one | No |
| R170 | Vehicle communication failure during reservation | Retry after a few seconds - vehicle may have poor reception | Yes |
| R173 | Failed to start rental | Retry after a few seconds - communication issue with vehicle | Yes |
| R174 | Failed to end rental | Retry after a few seconds - communication issue with vehicle | Yes |
| R131 | Vehicle outside business area when ending | Guide user to move vehicle inside business area shown on map | No |
| R148 | Bike lock still unlocked when ending | Prompt the rider to lock the bike lock, then retry the end request | No |
| P104 | No payment method or package | Prompt user to add payment source or purchase package | No |
| V404 | Vehicle not found | Verify vehicle ID/code is correct; vehicle may have been removed | No |
See MaaS Guide - Troubleshooting for rental flow error handling.
Errors related to signing in, token management, and API client authentication. This section also holds the numeric codes 0001, 0005 and 0007; the rest of the 00XX range is under Generic API Errors.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| 0001 | Unauthorized - full authentication is required (token not present and required, or token expired) | Send a valid access token. | No |
| 0005 | Token is missing the correct scope for this API | Request a token with the correct scope for this API | No |
| 0007 | Authorization could not be established | Retry. Sub-codes mark the permission call that failed | Yes |
| AUTH001 | HTTP message not readable | Check request body format (must be valid JSON) | No |
| AUTH002 | Access is denied | Verify user has required permissions | No |
| AUTH003 | Internal server error | Contact support if persists | Yes |
| AUTH004 | Error constructing private key | Configuration issue - contact support | No |
| AUTH005 | Invalid bearer token in the authorization header | Send a valid Bearer {token} header. Sub-codes mark the endpoint that rejected the token |
No |
| AUTH051 | Tenant doesn’t exist | Verify tenant/operator configuration | No |
| AUTH052 | User doesn’t exist | User may have been deleted or never created | No |
| AUTH053 | Tenant not allowed to update this user | Impersonation issue - can only manage users created by your API client | No |
| AUTH101 | Email or password don’t match | Verify credentials; check for typos | No |
| AUTH102 | Phone number or SMS code don’t match | Verify phone number format and code | No |
| AUTH103 | SMS code has expired | Request new SMS code | No |
| AUTH104 | Refresh token has expired | Re-authenticate with sign-in endpoint | No |
| AUTH105 | User with that password reset code doesn’t exist | Reset code may be invalid or user deleted | No |
| AUTH106 | Reset password code has expired | Request new password reset | No |
| AUTH107 | Bad phone number format | Use international format (e.g., +1234567890) | No |
| AUTH108 | User temporarily blocked | Wait before retrying - rate limit protection | Yes |
| AUTH109 | User temporarily blocked | Wait before retrying - rate limit protection | Yes |
| AUTH110 | User rejected from phone sign-in after repeated failures | Account locked - contact support | No |
| AUTH111 | User rejected from email sign-in after repeated failures | Account locked - contact support | No |
| AUTH112 | User blocked from email sign-in | Account locked - contact support | No |
| AUTH113 | User blocked from phone sign-in | Account locked - contact support | No |
| AUTH114 | Email sign-in method not added | Add email sign-in method to user account first | No |
| AUTH115 | Phone sign-in method not enabled | Add phone sign-in method to user account first | No |
| AUTH116 | Social sign-in method not enabled | Social login not configured for this user | No |
| AUTH119 | Email address and email code do not match | Ask the rider to re-enter the code. Do not use sub-codes with this code | No |
| AUTH121 | Sign-in with an email code is blocked after repeated failures | Wait for the block to expire, or sign in with a password | No |
| AUTH122 | Email code has expired | Request a new email code | No |
| AUTH201 | Email already in use | Email is already registered - use different email or sign in | No |
| AUTH202 | User with that email doesn’t exist | Check email spelling or sign up | No |
| AUTH203 | SMS code is still valid | Use the existing SMS code sent earlier | No |
| AUTH204 | Social login already in use | User exists - use sign-in instead of sign-up | No |
| AUTH205 | Social login not valid | Verify social login token is valid | No |
| AUTH206 | Phone number already in use | Phone already registered - use different number or sign in | No |
| AUTH207 | Email mismatch | Email provided doesn’t match expected value | No |
| AUTH208 | Multiple sign-in methods are forbidden | Configuration only allows one sign-in method | No |
| AUTH209 | Social login type not supported | Use a supported social login provider | No |
| AUTH210 | API client doesn’t exist | Verify API client credentials | No |
| AUTH212 | Phone number not set | User account requires phone number | No |
| AUTH213 | Email mismatch | Send the email address that belongs to the user | No |
| AUTH214 | Email sign-in method already added | Cannot add duplicate sign-in method | No |
| AUTH215 | Phone sign-in method already added | Cannot add duplicate sign-in method | No |
| AUTH216 | Sign-in method not enabled | Requested sign-in method not configured | No |
| AUTH217 | Unknown scope | Requested OAuth scope is invalid | No |
| AUTH218 | User has no email sign-in method | Add an email sign-in method before you use email sign-in | No |
| AUTH222 | User is blocked | Contact support to unblock the account | No |
| AUTH225 | An email code was sent a short time ago | Wait a few minutes before you request a new code | Yes |
| AUTH227 | Sign-in is temporarily disabled | Wait and retry. The tenant has blocked sign-in for a short time | Yes |
| A201 | User creation failed | Internal error - retry or contact support | Yes |
| A202 | Email address couldn’t be changed | Internal error - retry or contact support | Yes |
| A205 | Couldn’t delete user | Internal error - contact support | No |
| A207 | Error sending SMS | SMS service issue - retry after a few minutes | Yes |
| A208 | Authentication IDs mismatch | Request data inconsistent - verify request parameters | No |
| A209 | Couldn’t send verify email link | Email service issue - retry after a few minutes | Yes |
| A210 | Couldn’t verify email | Internal error - retry or contact support | Yes |
| A211 | Couldn’t issue SMS code | SMS service issue - retry after a few minutes | Yes |
| A212 | Phone number couldn’t be changed, or user refresh tokens couldn’t be read | Ambiguous: the same code covers two unrelated auth failures. Use the endpoint you called to tell them apart | No |
| A213 | Couldn’t invalidate user refresh token(s) | Internal error - contact support | No |
| A214 | Couldn’t create API client | Internal error - contact support | No |
| A216 | Phone number is blocked | Contact support to unblock the phone number | No |
| A219 | Email code could not be issued | Retry. Contact support if the error continues | Yes |
| AUTHZ018 | Authorization service denied the request | The user has no permission for this operation. Sub-codes mark the permission check that failed | No |
| AUTHZ019 | Authorization service rejected a bulk update | Correct the bulk permission payload and retry | No |
| JWT006 | Authorization header is missing | Include an Authorization: Bearer {token} header |
No |
| RL100 | Rate limit reached | Wait 120 seconds before retrying (triggered after 3 failed attempts) | Yes |
Errors related to user creation, profile updates, and account data.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U101 | Password not up to rules | Check password requirements (length, complexity) | No |
| U102 | User already exists | User with this email/phone already exists | No |
| U104 | User creation failed | Internal error - retry or contact support | Yes |
| U106 | User couldn’t be found | User may have been deleted; verify user ID | No |
| U107 | Can’t get active user | Authentication issue - verify token is valid | No |
| U108 | User is not active | Activate the account, or contact support. Sub-codes mark the endpoint that rejected the user | No |
| U109 | Chosen authentication method not supported | Use a supported authentication method | No |
| U120 | Not allowed to change this data | Field is protected - contact support to modify | No |
| U121 | You cannot change a deleted user | The account is deleted. Do not send more updates for it | No |
| U130 | User data is incomplete | One or more required fields are missing (see sub-codes) | No |
| U130.2 | Either email or phone must be set | Provide at least one contact method | No |
| U130.3 | Email is not set | Email is required for this operation | No |
| U130.4 | Phone is not set | Phone number is required for this operation | No |
| U130.5 | First name is not set | First name is required | No |
| U130.6 | Last name is not set | Last name is required | No |
| U130.7 | Birth date is not set | Birth date is required | No |
| U131 | Account has been locked | Contact support to unlock account | No |
| U132 | User has not reached minimum age | User must be older to use service | No |
| U133 | User has passed maximum age | User exceeds maximum age limit | No |
| U134 | User has unpaid invoices | Settle outstanding invoices before proceeding | No |
| U135 | User data is incomplete (street) | Street address is required | No |
| U136 | User data is incomplete (postcode) | Postal code is required | No |
| U137 | User data is incomplete (city) | City is required | No |
| U138 | User data is incomplete (country) | Country is required | No |
| U139 | User has not bought a signup package | Signup package purchase required before renting | No |
| U140 | Email address couldn’t be changed | Internal error - retry or contact support | Yes |
| U141 | Email already in use | Email is already registered to another user | No |
| U141.1 | Email already in use | Duplicate email when admin creates user | No |
| U141.2 | Email already in use | Duplicate email when adding email sign-in to existing user | No |
| U141.3 | Email already in use | Duplicate email when changing own email address | No |
| U142 | Invalid email address | Email format is invalid | No |
| U143 | Current balance too low | User must purchase package or add funds to rent | No |
| U144 | Group not authorized for rental | User group doesn’t have rental permissions | No |
| U145 | Phone number already in use | Phone already registered when adding phone login | No |
| U146 | Not allowed to remove chosen sign-in method | Cannot remove only sign-in method | No |
| U147 | Sign-in method not added | Cannot remove non-existent sign-in method | No |
| U148 | User group balance too low | Group balance must be recharged | No |
| U149 | Phone number already in use | Phone already registered when changing phone number | No |
| U150 | The payment source has not enough funds to start the rental | Ask the rider to add funds or to use another payment method. U150.2 reports the same problem for a user group |
No |
| U154 | Phone number is not unique | Two accounts hold this phone number. Contact support | No |
| U201 | User or resource not found | Referenced user or resource doesn’t exist | No |
| U202 | Not allowed to add rental authority | Insufficient permissions | No |
| U203 | Rental authority not found | Rental authority doesn’t exist for this user/branch | No |
| U204 | Not allowed to delete rental authority | Insufficient permissions | No |
| U205 | Not allowed to add role assignment | Insufficient permissions | No |
| U206 | Not allowed to delete role assignment | Insufficient permissions | No |
| U207 | Role not found | Role doesn’t exist | No |
| U208 | Rental authority already exists | Cannot create duplicate rental authority | No |
| U209 | Not allowed to rent this vehicle | User hasn’t accepted T&C for this branch | No |
| U211 | Role could not be found | Role doesn’t exist | No |
| U212 | Not allowed to add role | Insufficient permissions | No |
| U213 | Role assignment not found | Role assignment doesn’t exist | No |
| U214 | Not allowed to delete role | Insufficient permissions | No |
| U215 | Neither role ID nor role name was provided | Send roleId or roleName in the request body |
No |
| U216 | User not assigned required role | User missing necessary role for this operation | No |
| U217 | Not allowed to read roles | Insufficient permissions | No |
| U218 | Not allowed to read permissions | Insufficient permissions | No |
| U219 | Not allowed to update roles | Insufficient permissions | No |
| U220 | User can’t be deleted (existing rentals) | Complete or cancel all rentals before deleting user | No |
| U221 | User can’t be deleted (existing invoices) | Settle all invoices before deleting user | No |
| U222 | User can’t be deleted (existing issues) | Resolve all issues before deleting user | No |
| U223 | Can’t delete your own user | Cannot delete currently authenticated user | No |
| U224 | Can’t delete already deleted user | User already deleted | No |
| U226 | Cannot delete this user | Protected system user | No |
| U228 | A deletion request is in process | Wait for the deletion to finish. Do not send more updates for this account | No |
Errors related to phone number verification via SMS.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U301 | Phone number already verified | Phone is already verified - no action needed | No |
| U302 | User has no phone number | Add phone number to user profile before verifying | No |
| U303 | Error sending verification SMS | SMS service issue - retry after a few minutes | Yes |
| U304 | Not a valid phone number | Use international format (e.g., +1234567890) | No |
| U305 | Verification code expired | Request new verification code | No |
| U306 | Verification code doesn’t match | Verify code was entered correctly; request new code if needed | No |
Errors related to email verification and password reset.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U401 | Email already verified | Email is already verified - no action needed | No |
| U402 | Error sending verification email | Email service issue - retry after a few minutes | Yes |
| U404 | User with verification code not found | Verification code invalid or user deleted | No |
| U405 | Verification code expired | Request new verification email | No |
| U406 | Couldn’t send password reset link | Email service issue - retry after a few minutes | Yes |
| U407 | Not a valid verification token | Token is invalid or has been used | No |
| U408 | Too many requests to resend the email verification | Wait before you request another verification email | Yes |
Errors related to driving license verification status. For identity documents see ID Document Verification.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U501 | Driving license already verified | License is already verified - no action needed | No |
| U502 | Driving license not verified | User must complete license verification before renting | No |
| U503 | Can’t verify driving licenses currently | Verification service unavailable - retry later | Yes |
| U504 | License verification being processed | Wait for verification to complete | Yes |
| U505 | License verification rejected | User must retry verification with corrected information | No |
| U506 | License verification set to retry | User must retry verification | No |
| U508 | License verification being processed | Wait for verification to complete | Yes |
| U509 | License verification needs additional processing | Contact customer support | No |
| U510 | Driving license expired | User must verify with current license | No |
| U511 | License verification being processed | Wait for verification to complete | Yes |
| U512 | Missing required license type | User doesn’t have the required license class | No |
| U520 | The chosen verification method is not allowed | Use a verification method that the branch permits | No |
| U523 | The Onfido webhook could not be parsed | Internal error. Contact support if the error continues | Yes |
| U524 | The Onfido verification could not be created | Retry. Contact support if the error continues | Yes |
| U525 | Verification could not start because data is missing | Ask the rider to complete the profile, then start the verification again | No |
| U527 | Verification service is not enabled | The branch has no verification provider. Contact support | No |
| U529 | Driving license verification not found | Verify the verification identifier | No |
| U530 | Verifications couldn’t be loaded | Internal error - retry or contact support | Yes |
| U531 | Media couldn’t be loaded | Internal error - retry or contact support | Yes |
| U533 | Driving license needs reverification | Ask the rider to verify the driving license again | No |
Errors related to identity document verification. This check is separate from the driving license check in the section above, and a branch can require either one or both.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U516 | ID document is already verified | No action is needed. The document is verified | No |
| U517 | ID document verification is in process | Wait and check the verification status again | Yes |
| U518 | ID document verification needs manual processing | Wait for the operator to complete the manual check | Yes |
| U519 | ID document verification is disabled | The branch does not offer this check. Contact support | No |
| U524.1 | The Onfido verification could not be created for the ID document | Retry. The base code U524 reports the same failure for the driving license |
Yes |
| U534 | ID document is not verified | Ask the rider to verify the ID document | No |
| U535 | ID document verification is in process | Wait and check the verification status again | Yes |
| U536 | ID document verification was rejected | Ask the rider to verify the ID document again | No |
| U537 | ID document verification was set to retry | Ask the rider to verify the ID document again | No |
| U538 | ID document has expired | Ask the rider to verify a valid ID document | No |
| U539 | ID document is verified but needs a check | Wait for the operator to complete the check | Yes |
| U540 | ID document needs reverification | Ask the rider to verify the ID document again | No |
Errors related to manual address verification. For the credit rating check see Credit Rating Verification.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U545 | Manual verification is already processed | No action is needed. Another operator processed the verification | No |
| U702 | Address not verified | User must complete address verification | No |
| U704 | Address verification being processed | Wait for verification to complete | Yes |
| U705 | Address verification rejected | User must retry with corrected information | No |
| U706 | Address verification set to retry | User must retry verification | No |
Errors that the credit rating check returns. All of these codes tell the rider to contact support. The sub-status matters to the operator, not to the rider.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U707 | Credit rating is missing | The account has no credit rating yet. Contact support | No |
| U708 | Credit rating is pending | The check is still running. Wait and retry | Yes |
| U709 | Credit rating check failed | The check could not complete. Contact support | No |
| U710 | Credit rating was rejected | The check rejected the account. Contact support | No |
| U711 | Credit rating status is unknown | The platform holds no status for the check. Contact support | No |
Errors related to Terms & Conditions acceptance. See MaaS Guide - Terms & Conditions.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U601 | User hasn’t agreed to T&C | Retrieve T&C via GET /terms-and-conditions and prompt acceptance | No |
| U602 | User hasn’t agreed to latest T&C | Retrieve updated T&C and prompt acceptance | No |
| U603 | Cannot accept T&C for non-existent branch | Verify branch ID is valid | No |
| U604 | Cannot accept invalid T&C for this branch | T&C ID doesn’t match this branch | No |
| U605 | Cannot accept T&C without rental authority | User must have rental authority for branch | No |
| U606 | Terms and conditions not found | T&C may have been removed - contact support | No |
Errors related to user group management and external payment services.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| UG100 | User group not found | Verify group ID is correct | No |
| UG101 | Email already in use | Email is already registered to another group | No |
| UG101.1 | Email already in use | Duplicate email when creating user group | No |
| UG101.2 | Email already in use | Duplicate email when updating user group | No |
| UG102 | User group creation failed | Internal error - retry or contact support | Yes |
| UG103 | No member found with given referral code | Referral code is invalid | No |
| UG104 | Supply at least and at most one identifier | Provide exactly one identifier (not zero, not multiple) | No |
| UG105 | User group request not found | Request doesn’t exist or was deleted | No |
| UG106 | User group request update state invalid | State transition is not allowed | No |
| UG107 | User group request not in updatable state | Request cannot be modified in current state | No |
| UG108 | Another request already active | User already has pending request for this group | No |
| UG109 | User already a member of this group | Cannot join group twice | No |
| UG110 | Membership suspended | Contact group owner to restore access | No |
| UG111 | Maximum number of group memberships reached | Leave another group before joining | No |
| UG119 | You cannot delete a user group that has active or reserved rentals | End or cancel the rentals of the group, then delete the group | No |
| UG125 | Insufficient permission for this resource | The user has no permission for this user group operation | No |
Errors related to branch setup, location validation, and rental requirements.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| U800 | Vehicle category not configured on this branch | Category not available in this branch - choose different category | No |
| U802 | Branch not completely configured | Configuration error - contact support | No |
| U802.1 | Billable branch not configured | Billable branch missing or misconfigured - contact support | No |
| U802.2 | Prohibited area not created | Branch requires prohibited area but none exists - contact support | No |
| U802.3 | Business area not created | Branch missing business area - contact support | No |
| U802.4 | Opening hours not set | Branch missing opening hours - contact support | No |
| U803 | Branch has cyclic parent configuration | Branch hierarchy is circular - contact support | No |
| B203 | Not allowed to modify this branch | Insufficient permissions | No |
| B204 | Only ISO 4217 currency codes accepted | Use valid 3-letter currency code (e.g., USD, EUR) | No |
| B206 | Request only allowed for non-billable branches | This operation requires a non-billable branch | No |
| B207 | Request only allowed for billable branches | This operation requires a billable branch | No |
| B208 | Branch still has vehicles | Remove every vehicle from the branch before switching its type to CATEGORY | No |
| B404 | Branch not found | Branch doesn’t exist or was deleted | No |
| B400 | Branch has active references | Cannot delete branch with active users/vehicles/rentals | No |
Errors that occur when creating rentals or validating rental prerequisites. See MaaS Guide - Complete Rental Flow.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| R102 | Already have an active rental | User can only have one active rental at a time - end current rental first | No |
| R103 | Same vehicle rented within 5 minutes | Wait 5 minutes after ending rental before renting same vehicle | Yes |
| R105 | Service in hibernation | Service paused seasonally - check back in spring | No |
| R106 | Service in maintenance mode | Temporary maintenance - retry later | Yes |
| R107 | Operation not allowed on this vehicle | Vehicle state doesn’t allow the requested action (see sub-codes) | No |
| R107.1 | Vehicle not in a locatable state | Vehicle must be AVAILABLE, RESERVATION or DELIVERED to be located | No |
| R107.2 | Vehicle not available for rental | Vehicle is already reserved or rented (not AVAILABLE) | No |
| R107.3 | Vehicle out of order (rental) | Vehicle service state or battery level is not operational - see the note below on the composed code | No |
| R107.4 | Vehicle out of order (locate) | Vehicle service state or battery level is not operational | No |
| R109 | No vehicle defined | Must provide either vehicleId or vehicleCode |
No |
| R110 | Use vehicleId OR code, not both | Provide only one vehicle identifier | No |
| R111 | Rental not in reserved state | Can only cancel reservations, not active rentals | No |
| R112 | Code doesn’t match reserved vehicle | Vehicle code doesn’t match reservation - may be scanning wrong vehicle | No |
| R120 | Rental already started | Cannot start rental twice | No |
| R121 | Cannot perform operation on non-active rental | Rental must be in ACTIVE state | No |
| R122 | Cannot open tailbox | Rental must be active or ended less than 5 minutes ago | No |
| R123 | Cannot perform operation | Rental must be in ACTIVE or RESERVATION state | No |
| R124 | Cannot renew reservation | Rental must be in RESERVATION state | No |
| R125 | Cannot renew expired reservation | Reservation has expired - create new rental | No |
| R131 | Must end rental inside business area | Move vehicle inside business area to end rental | No |
| R133 | Vehicle must be plugged to power outlet | Connect vehicle to power before ending rental | No |
| R134 | Could not start rental with given state | Invalid startRentalState value |
No |
| R135 | Close tailbox to end rental | Tailbox must be closed | No |
| R136 | Close tailbox to switch to parking | Tailbox must be closed | No |
| R137 | Bike lock must be locked to switch to parking | Lock the bike lock, then switch the rental to parking | No |
| R138 | Could not create rental | Internal error - retry or contact support | Yes |
| R140 | Not in range to reserve vehicle | Must be within range of vehicle to reserve | No |
| R141 | Invalid startRentalState | Must be ACTIVE or RESERVATION | No |
| R143 | Vehicle is in an area where rentals cannot be ended | Move the vehicle outside the prohibited area (see sub-codes) | No |
| R143.1 | Vehicle in a no-end-rental area (admin ends the rental) | Move the vehicle outside the prohibited area | No |
| R143.2 | Vehicle in a no-end-rental area (rider ends the rental) | Move the vehicle outside the prohibited area, then end the rental | No |
| R144 | Admin can only create active rental | Admins cannot create reservations for users | No |
| R145 | Switch to park failed (vehicle couldn’t be stopped) | Vehicle communication error - retry | Yes |
| R146 | Not in range to start rental | Must be within range of vehicle to start | No |
| R147 | Helmets need to be plugged in | Connect helmets before ending rental | No |
| R148 | Bike lock must be locked to end the rental | Lock the bike lock, then end the rental | No |
| R149 | Ignition must be off to end the rental | Turn off the ignition before ending the rental | No |
| R151 | Ignition must be off to park | Turn off ignition before parking | No |
| R152 | All doors must be closed to end the rental | Close all doors before ending the rental | No |
| R153 | All doors must be closed to park | Close all doors before parking | No |
| R154 | Key must be in the holder to end the rental | Put the key back in the holder before ending the rental | No |
| R155 | Key must be in the holder to park the vehicle | Put the key back in the holder before switching to parking | No |
| R156 | Park brake must be on to end the rental | Engage the park brake before ending the rental | No |
| R157 | Park brake must be on to park the vehicle | Engage the park brake before switching to parking | No |
| R158 | Vehicle cannot be parked inside a prohibited area | Move the vehicle out of the no-parking area, then switch to parking | No |
| R158.1 | Vehicle cannot be parked inside a prohibited area (admin) | Move the vehicle out of the no-parking area | No |
| R159 | Cannot park while the rider is inside a prohibited area | Move out of the no-parking area, then switch to parking | No |
| R180 | Vehicle in illegal state (creation) | Vehicle not OPERATIONAL (may be LOW_SOC/CRITICAL_SOC/OUT_OF_ORDER/RETIRED) | No |
| R181 | Vehicle in illegal state (start) | Vehicle must be OPERATIONAL or LOW_SOC (not CRITICAL_SOC/OUT_OF_ORDER/RETIRED) | No |
| R186 | Helmets are missing | Return every helmet that was on the vehicle at the start of the rental | No |
| R238 | Branch not configured to support rentals | Branch missing rental configuration - contact support | No |
| R239 | Reservation can only be bought during reservation mode | Cannot purchase reservation for active rental | No |
| R240 | Run out of free reservation time | Must purchase additional reservation time | No |
| R241 | Business rentals must have user group | Provide userGroupCode for business rental |
No |
| R242 | Rental can’t be created outside business hours | Service not available at this time | No |
| R244 | Invalid combination of type and source | Rental type and source combination not allowed | No |
| R245 | Can’t use additions with chosen rental type | Rental additions not supported for this type | No |
| R246 | Unable to realize requested actions | Internal error - contact support | No |
| R247 | Unable to realize requested actions | Internal error - contact support | No |
| R248 | Failed to reserve money deposit | Payment authorization failed - check payment method | No |
| R256 | Operation already running on this rental | Another operation in progress - wait before retrying | Yes |
R107.3 codeWhen a vehicle is not operational, the platform appends the vehicle’s service state and battery level to the code, so the value you receive looks like R107.3.10.1 (retired vehicle, high battery). Match on the R107.3 prefix and treat the trailing segments as detail.
0 functional, 1 inspect, 2 relocate, 3 collect, 4 service on site, 5 service workshop, 6 service external, 7 replace, 8 impounded, 9 lost, 10 retired, 11 other, 12 ready for deployment, 13 maintenance, 14 waiting for parts, 15 unrepairable, 16 defleeted, 17 operational hold, 18 awaiting action, 19 service mechanics, 20 regulatory inspection ready, 21 regulatory inspection, 22 service workshop insurance, 23 service workshop queue, 24 ready for deployment (new), 25 collect external.0 unknown, 1 high, 2 low, 3 critical, 4 medium.A vehicle is operational only when the service state is functional, inspect or relocate and the battery level is high or medium. Either one failing produces R107.3, so an operational service state can still appear in the code.
Errors that occur when managing active rentals (ending, parking, admin operations).
| Code | Description | Solution | Retryable |
|---|---|---|---|
| R150 | Could not get latest rental phase | Internal error - retry or contact support | Yes |
| R160 | No rental found with given ID | Rental doesn’t exist or was deleted | No |
| R161 | Could not determine whether the position is in a prohibited area | Zone service didn’t respond - retry (see sub-codes) | Yes |
| R161.1 | Prohibited-area check failed (admin end rental, vehicle position) | Retry after a few seconds | Yes |
| R161.2 | Prohibited-area check failed (end rental, vehicle position) | Retry after a few seconds | Yes |
| R161.3 | Prohibited-area check failed (switch to parking, vehicle position) | Retry after a few seconds | Yes |
| R161.4 | Prohibited-area check failed (end rental, rider position) | Retry after a few seconds | Yes |
| R161.5 | Prohibited-area check failed (switch to parking, rider position) | Retry after a few seconds | Yes |
| R161.6 | Prohibited-area check failed (admin switch to parking, vehicle position) | Retry after a few seconds | Yes |
| R162 | Vehicle limit for this area reached | Park in another area to end the rental | No |
| R164 | Could not determine whether the position is in the business area | Zone service didn’t respond - retry (see sub-codes) | Yes |
| R164.1 | Business-area check failed (end rental, vehicle position) | Retry after a few seconds | Yes |
| R164.2 | Business-area check failed (admin end rental, vehicle position) | Retry after a few seconds | Yes |
| R164.3 | Business-area check failed (end rental, rider position) | Retry after a few seconds | Yes |
| R170 | Communication failure (reservation) | Vehicle communication error - retry after a few seconds | Yes |
| R171 | Communication failure (cancellation) | Vehicle communication error - retry after a few seconds | Yes |
| R172 | Communication failure (open tailbox) | Vehicle communication error - retry after a few seconds | Yes |
| R173 | Failed to start rental | Vehicle communication error (see sub-codes) | Yes |
| R173.1 | Failed to start (communication failure) | Vehicle offline or poor reception - retry | Yes |
| R173.2 | Failed to start (operation in progress) | Another operation running - wait and retry | Yes |
| R173.3 | Failed to start (timeout) | Vehicle didn’t respond in time - retry | Yes |
| R173.5 | Failed to start (status error) | Error getting vehicle status - retry | Yes |
| R173.6 | Failed to start (unsuccessful) | Operation unsuccessful - retry | Yes |
| R173.7 | Failed to start (device not found) | Device misconfiguration - contact support | No |
| R173.8 | Failed to start (device not connected) | Device offline - vehicle may have poor reception | Yes |
| R173.9 | Failed to start (unexpected command result) | Vehicle returned an unexpected result - contact support | No |
| R174 | Could not end rental | Vehicle communication error (see sub-codes); a stop command that comes back unsuccessful returns R234 instead | Yes |
| R174.1 | Could not end (communication failure) | Vehicle offline or poor reception - retry | Yes |
| R174.2 | Could not end (status read failed before the end checks) | Vehicle status couldn’t be read before the end requirements were checked - retry | Yes |
| R174.3 | Could not end (timeout) | Vehicle didn’t respond in time - retry | Yes |
| R174.4 | Could not end (operation in progress) | Another operation running - wait and retry | Yes |
| R174.5 | Could not end (device not found) | Device misconfiguration - contact support | No |
| R174.6 | Could not end (device not connected) | Device offline - vehicle may have poor reception | Yes |
| R174.7 | Could not end (unexpected command result) | Vehicle returned an unexpected result - contact support | No |
| R174.8 | Could not end (status read failed during the end check) | Vehicle status couldn’t be read by the rental end check - retry | Yes |
| R175 | Communication failure (switch to drive) | Vehicle communication error (see sub-codes) | Yes |
| R175.1 | Switch to drive (communication failure) | Vehicle offline or poor reception - retry | Yes |
| R175.2 | Switch to drive (operation in progress) | Another operation running - wait and retry | Yes |
| R175.3 | Switch to drive (timeout) | Vehicle didn’t respond in time - retry | Yes |
| R175.5 | Switch to drive (unsuccessful) | Operation unsuccessful - retry | Yes |
| R175.6 | Switch to drive (device not found) | Device misconfiguration - contact support | No |
| R175.7 | Switch to drive (device not connected) | Device offline - vehicle may have poor reception | Yes |
| R175.8 | Switch to drive (unexpected command result) | Vehicle returned an unexpected result - contact support | No |
| R176 | Communication failure (switch to park) | Vehicle communication error - retry after a few seconds | Yes |
| R177 | Execution of other command in progress | Wait for current command to complete | Yes |
| R210 | Could not calculate times or price for rental | Internal error - contact support | No |
| R220 | Cannot perform admin switch to park | Admin operation not allowed in current state | No |
| R221 | Cannot perform admin switch to drive | Admin operation not allowed in current state | No |
| R222 | Cannot perform admin start | Admin operation not allowed in current state | No |
| R223 | Cannot perform admin operation | Rental must be ACTIVE or RESERVATION | No |
| R224 | Cannot perform admin operation on non-active rental | Rental must be ACTIVE | No |
| R225 | Cannot admin renew reservation | Rental must be in RESERVATION state | No |
| R226 | Rental end time cannot be before start time | Verify timestamps are correct | No |
| R227 | Submit feedback only allowed for rental owner | Only rental creator can submit feedback | No |
| R228 | Invalid rental state for feedback | Rental must be completed to submit feedback | No |
| R229 | Rental already contains feedback | Cannot submit feedback twice | No |
| R232 | Could not determine if inside business area (admin) | Set ignoreBusinessArea: true to override |
Yes |
| R233 | Vehicle is moving | Cannot end rental while vehicle is moving | No |
| R234 | End rental failed (vehicle couldn’t be stopped) | Vehicle communication error - retry | Yes |
| R235 | End rental failed (vehicle in unknown state) | Vehicle still appears on after stopping - contact support | No |
| R236 | Rental can only be updated in reservation state | Cannot modify active rentals | No |
| R237 | No permission to update this rental | Insufficient permissions | No |
| R249 | Release of money deposit failed | Payment service error - contact support | No |
| R250 | No active money deposit found for rental | Deposit doesn’t exist or already released | No |
| R251 | No money deposit exists with this ID | Deposit ID is invalid - a deposit that exists but is not ACTIVE returns R252 | No |
| R252 | Selected deposit is not ACTIVE | Deposit in wrong state | No |
| R253 | Access to the selected branch is not allowed | Use a branch that the user can access | No |
| R254 | The maximum number of rentals for the vehicle category is reached | Wait for a rental to end, or select another vehicle category | No |
| R255 | The total number of rentals is reached | Wait for a rental to end | No |
| R257 | Vehicle must be locked in the docking station | Dock and lock the vehicle before ending the rental | No |
| R259 | Another active rental exists for this user | End the active rental before you start a new one | No |
| R260 | Vehicle must be on for this operation | Turn the vehicle on, then retry (see sub-codes) | No |
| R260.1 | Vehicle must be on (switch to drive) | Turn the vehicle on before switching to drive | No |
| R260.2 | Vehicle must be on (open tailbox) | Turn the vehicle on before opening the tailbox | No |
| R261 | Vehicle must be off for this operation | Turn off vehicle before performing operation | No |
| R262 | Helmets must be present for this operation | Return the helmets to the vehicle, then retry (see sub-codes) | No |
| R262.1 | Helmets must be present (switch to drive) | Return the helmets before switching to drive | No |
| R262.2 | Helmets must be present (switch to parking) | Return the helmets before switching to parking | No |
| R262.3 | Helmets must be present (end rental) | Return the helmets before ending the rental | No |
| R262.4 | Helmets must be present (stop command) | Return the helmets before stopping the vehicle | No |
| R263 | Tailbox must be closed for this operation | Close the tailbox, then retry (see sub-codes) | No |
| R263.1 | Tailbox must be closed (switch to drive) | Close the tailbox before switching to drive | No |
| R263.2 | Tailbox must be closed (switch to parking) | Close the tailbox before switching to parking | No |
| R263.3 | Tailbox must be closed (end rental) | Close the tailbox before ending the rental | No |
| R263.4 | Tailbox must be closed (stop command) | Close the tailbox before stopping the vehicle | No |
| R264 | Cards must be returned to the card holder | Put back every card that was in the holder at the start of the rental | No |
| R266 | Rider position not provided | Enable location access on the device and retry (see sub-codes) | No |
| R266.1 | Rider position missing (end rental, business-area check) | Enable location access, then end the rental | No |
| R266.2 | Rider position missing (end rental, prohibited-area check) | Enable location access, then end the rental | No |
| R266.3 | Rider position missing (switch to parking, prohibited-area check) | Enable location access, then switch to parking | No |
| R267 | Cannot end the rental while the rider is in a prohibited area | Move out of the prohibited area, then end the rental | No |
| R268 | Cannot end the rental while the rider is outside the business area | Move inside the business area, then end the rental | No |
| R269 | Vehicle not in business area when an admin ends the rental | Move vehicle inside the business area, or set ignoreBusinessArea: true to override |
No |
| R274 | Vehicle must be inside a station area | Move the vehicle into a station area to end the rental | No |
| R274.1 | Vehicle must be inside a station area (admin) | Move the vehicle into a station area | No |
| R275 | Station is closed | End the rental at a station that is open | No |
| R276 | Station parking capacity is reached | End the rental at another station | No |
| R282 | This vehicle category cannot end a ride in this zone | End the ride in a zone that allows this vehicle category | No |
| R285 | Invalid time for a file link | Link files to a rental within 1 hour after the rental ends | No |
| R287 | Invalid time frame for the position search | The end must be after the start, and the period must be 1 hour or less | No |
.1 and .2 suffixes on R131, R268 and R269The business-area check appends a segment when it can place the position but not accept it, so the value you receive is R131.1, R131.2, R268.1, R268.2, R269.1 or R269.2. Match on the base code and read the suffix as detail.
.1 - the rental’s booking fixes the end branch and the position is not inside that branch’s end-rental area..2 - the position is not inside the end-rental area of any branch the rental can end in.A position that is inside a business area but belongs to a vehicle category the zone does not accept returns R282 instead.
Errors related to rental additions (e.g., helmet rental).
| Code | Description | Solution | Retryable |
|---|---|---|---|
| RA100 | Rental addition not found | Addition doesn’t exist | No |
| RA101 | Rental addition with code already exists | Choose different code | No |
| RA102 | Rental addition has active references | Cannot delete addition currently in use | No |
Errors related to vehicle operations and IoT communication. See MaaS Guide - Common Errors.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| V203 | Cannot update status to RETIRED | Use retireVehicle endpoint instead |
No |
| V204 | Cannot update status to OPERATIONAL (no IoT) | Vehicle missing IoT module - check battery, linking, and reception | No |
| V210 | Status of vehicle could not be updated | Internal error - retry or contact support | Yes |
| V211 | Could not open tailbox | Communication error - check vehicle reception | Yes |
| V212 | Could not start vehicle | Communication error - check vehicle reception | Yes |
| V213 | Could not stop vehicle | Communication error - check vehicle reception | Yes |
| V214 | Could not switch on alarm | Communication error - check vehicle reception | Yes |
| V215 | Could not switch off alarm | Communication error - check vehicle reception | Yes |
| V216 | Branch not configured to find available vehicle | Booking settings missing for branch - contact support | No |
| V217 | Could not find available vehicle for pickup | No online vehicles available for branch/category | No |
| V218 | Could not locate vehicle | Communication error - check vehicle reception | Yes |
| V219 | Could not open saddle | Communication error - check vehicle reception | Yes |
| V220 | Could not send custom command | Communication error - check vehicle reception | Yes |
| V222 | Could not set speed of vehicle | Communication error - check vehicle reception | Yes |
| V223 | Duplicate license plate | License plate already registered | No |
| V224 | Duplicate code | Vehicle code already in use | No |
| V225 | Could not reboot vehicle | Communication error - check vehicle reception | Yes |
| V226 | Duplicate VIN | VIN already registered | No |
| V404 | Vehicle not found | Vehicle doesn’t exist or was deleted | No |
| V405 | Vehicle in active rental session | Cannot modify vehicle during rental | No |
| V406 | Only one vehicle identifier can be set | Provide only one of: ID, code, or VIN | No |
| V407 | Action not possible on this vehicle type | Operation not supported for this vehicle type | No |
| V408 | Requested action failed | No connection to vehicle - may be offline or shielded | Yes |
| V409 | Vehicle damage not found | Damage record doesn’t exist | No |
| V410 | User not allowed to submit vehicle damage | Insufficient permissions | No |
| V411 | Vehicle not configured to record damages | Damage reporting not enabled for this vehicle | No |
| V412 | Part not valid on this vehicle | Vehicle part invalid for this vehicle type | No |
| V413 | Mandatory core vehicle properties not set | Approach/leave commands not configured for category - contact support | No |
| V415 | Vehicle has no IoT module associated | Associate a module with the vehicle before running this operation | No |
| V416 | Vehicle already has module associated | Cannot associate duplicate module | No |
| V417 | Module is retired | Cannot associate retired module | No |
| V418 | Vehicle already has same module | Module already associated | No |
| V419 | Module not ready | Module not in ready state | No |
| V420 | Maintenance settings not configured | Maintenance configuration missing - contact support | No |
| V421 | Setting not supported for this vehicle | Vehicle doesn’t support this setting | No |
| V422 | Setting not configured | Required setting missing - contact support | No |
| V423 | Parameter type incorrect | Verify parameter type matches expected type | No |
| V431 | Vehicle must be assigned to an active rental or an upcoming booking | Assign the vehicle first, then repeat the operation | No |
| V446 | Damage severity is required | Send a severity value with the damage report | No |
| VC420 | Unlock from the docking station failed | Retry after a few seconds. Contact support if the error continues | Yes |
Errors related to vehicle bookings (advance reservations).
| Code | Description | Solution | Retryable |
|---|---|---|---|
| B300 | Booking state does not allow vehicle assignment or pickup | Pickup needs BOOKED, APPROVED or DELIVERED; assignment needs a booking still awaiting a vehicle | No |
| B301 | Booking already associated with rental | Booking already picked up | No |
| B302 | Invalid state transition for the booking | Check the booking state before you send the operation | No |
| S103 | Booking start time must be in future | Adjust start time to future | No |
| S104 | Cannot create booking this close to starting time | Book further in advance | No |
| S105 | Booking cannot be canceled | Booking in non-cancelable state | No |
| S106 | No booking found with given ID | Booking doesn’t exist or was deleted | No |
| S108 | Booking cannot be updated in this state | Booking in non-updatable state | No |
| S109 | Time too close to rental for update | Too late to modify booking | No |
| S110 | Vehicle already booked | Choose different vehicle or time slot | No |
| S111 | Booking should start within opening hours | Adjust start time to business hours | No |
| S112 | Booking should end within opening hours | Adjust end time to business hours | No |
| S114 | No booking found for vehicle delivery | Booking doesn’t exist for this delivery | No |
| S117 | End time must be after start time | Verify timestamps are correct | No |
| S118 | Maximum rental time exceeded | Reduce booking duration | No |
| S119 | No vehicles available at chosen time | Choose different time or vehicle type | No |
| S120 | Already have booking in this time frame | Cannot have overlapping bookings | No |
| S122 | Outside of pick-up time frame | Pickup window has passed or not yet started | No |
| S123 | Booking cannot be picked up currently | Booking not ready for pickup | No |
| S124 | Branch not configured for bookings | Booking configuration missing - contact support | No |
| S125 | Branch not configured for variable location bookings | Feature not enabled for this branch - contact support | No |
| S126 | Vehicle not in proper state for delivery | Vehicle unavailable for delivery | No |
| S127 | Vehicle too far from booked location | Vehicle cannot reach booking location | No |
| S128 | Vehicle SOC too low for booked location | Vehicle battery too low for delivery | No |
| S129 | Too early/late to deliver vehicle | Outside delivery time window | No |
| S130 | Wrong vehicle category for booking delivery | Vehicle type doesn’t match booking | No |
| S131 | Wrong branch for booking delivery | Vehicle from different branch | No |
| S132 | Booking is of wrong type | Booking type mismatch | No |
| S133 | Booking misconfigured | Configuration error - contact support | No |
| S134 | Supply either branch or position, not both | Provide only one location type | No |
| S135 | Incomplete location supplied | Location data missing required fields | No |
| S136 | Bookings are not configured | The branch or vehicle category has no booking configuration. Contact support. Sub-codes mark the missing setting | No |
| S137 | Selected end station not available | Choose different end location | No |
| S138 | Wrong booking state provided | Booking state invalid | No |
| S139 | Rejection reason required | Provide reason when rejecting booking | No |
| S140 | Booking already processed | Cannot modify processed booking | No |
| S141 | Not in range to check in | Must be within range of vehicle | No |
| S142 | Wrong state for check-in | Booking not ready for check-in | No |
| S143 | Outside of check-in time frame | Check-in window has passed or not yet started | No |
| S148 | Booking duration is shorter than the configured minimum | Extend the booking period | No |
| S153 | startTime or endTime is in the past |
Send a start time and an end time in the future | No |
| S156 | Booking end time equals the current booking time | Send a different end time | No |
| S158 | The booking cannot be canceled because it already started | End the rental instead of canceling the booking | No |
| S160 | The vehicle is not available at the new end time | Select a shorter extension, or another vehicle | No |
| S161 | The booking can only be extended | Send an end time that is later than the current end time | No |
| S162 | The vehicle is not at the branch of the booking | Assign a vehicle from the branch of the booking | No |
| S166 | No vehicles are available for the extension | Select an earlier end time for the extension | No |
| S167 | The booking cannot be extended after its end time | Start a new booking instead of an extension | No |
| S172 | You cannot change the cooldown of a terminated booking | Change the cooldown only while the booking is active | No |
| S176 | The destination station is full at the selected drop-off time | Select another station or another drop-off time | No |
Errors related to payment processing and payment methods.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| P101 | Can’t get payment sources | Internal error - retry or contact support | Yes |
| P102 | No payment profiles found | User has no payment methods configured | No |
| P103 | Payment profile not found | Payment method doesn’t exist | No |
| P104 | No payment source or package bought | User must add payment method or purchase package | No |
| P105 | No package bought | User must purchase package before renting | No |
| P112 | Can’t delete payment source | Internal error - retry or contact support | Yes |
| P113 | Can’t delete default payment source | Set different default before deleting | No |
| P120 | Can’t add payment source | Payment service error - retry or contact support | Yes |
| P121 | Credit card already in use by another account | Card registered to different user | No |
| P123 | Can’t change default payment source | Internal error - retry or contact support | Yes |
| P125 | Credit card can’t be verified | Card declined - use different payment method | No |
| P126 | Credit card can’t be verified currently | Payment service issue - retry later | Yes |
| P128 | SEPA not available | User not eligible for SEPA - use credit card | No |
| P130 | Can’t charge payment method | Payment failed - verify payment method is valid | No |
| P150 | Payment can’t be retried | Payment in non-retryable state | No |
| P151 | The payment could not be charged | Ask the rider to check the payment method, then retry | Yes |
| P160 | Charge can’t be cancelled | Charge in non-cancelable state | No |
| P170 | Payment couldn’t be started | Payment service error - retry later | Yes |
| P171 | Payment method not supported | Use a supported payment method | No |
| P172 | Payment provider (apaya) not available | Payment service unavailable - retry later | Yes |
| P173 | Payment failed to initiate | Payment service error - retry or contact support | Yes |
| P180 | Payment couldn’t be refunded | Refund processing error - contact support | No |
| P190 | Payment method not available | Payment method not enabled or supported | No |
| P200 | 3DS not supported on fund availability check | 3D Secure not available for this check | No |
| P201 | Failed to finish 3DS payment | 3D Secure authentication failed | No |
| P202 | No 3DS session found for this ID | 3D Secure session expired or invalid | No |
| P300 | Price calculation not configured | Pricing not set for this category/branch - contact support | No |
| P310 | Pricing bundle not found | Verify the pricing bundle identifier | No |
| P311 | A pricing bundle with this name already exists | Use a different name for the pricing bundle | No |
| P312 | The pricing bundle is still referenced | Remove the references before you delete the pricing bundle | No |
| P350 | Pricing bundle assignment not found | Verify the assignment identifier | No |
| P351 | A pricing bundle assignment already exists for this branch and category | Update the existing assignment instead | No |
| P355 | Incompatible branch currency for this pricing bundle assignment | Use a pricing bundle in the currency of the branch | No |
| P363 | Only a draft version can be published | Publish a draft version of the pricing bundle | No |
| P364 | Base rates are missing for this version | Define the base rates, then publish the version | No |
| P366 | One published version is required to assign this pricing bundle | Publish a version, then create the assignment | No |
| P368 | No applicable pricing bundle version for the booking | Publish a version that covers the booking period | No |
| P370 | A default pricing bundle assignment cannot be deleted | Set another assignment as the default, then delete this one | No |
| P404 | Payment not found | Payment doesn’t exist | No |
| P405 | Payment webhook referenced an unknown payment attempt | The charge has no matching attempt on the platform - contact support (arrives suffixed, P405.1 / .3 / .4, marking which webhook) |
No |
| P409 | Concurrent access to the payment | Another request is processing this payment - retry after a few seconds | Yes |
| PC100 | Invalid parameters for the pricing calculator | Correct the calculator parameters. Sub-codes mark the invalid field | No |
Errors related to package purchases and invoice management.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| C111 | Package requirements are not fulfilled | The rider does not meet the annotations that the package requires | No |
| C114 | An active ride pass already exists | Wait for the active ride pass to end | No |
| C407 | The vehicle category is in use | Remove the references before you delete the category | No |
| I103 | Package couldn’t be bought | Purchase failed - retry or contact support | Yes |
| I105 | Package couldn’t be paid | Payment failed (see sub-codes) | No |
| I105.1 | Package couldn’t be paid | Payment failed when buying package | No |
| I105.2 | Package couldn’t be paid | Settlement invoice creation failed due to payment failure | No |
| I105.3 | Package couldn’t be paid | 3D Secure triggered on balance settlement | No |
| I105.4 | Package couldn’t be paid | 3D Secure triggered but not allowed by settings | No |
| I120 | Fine already has invoice | Cannot create duplicate invoice for fine | No |
| I122 | Invoice not open | Cannot add line items to non-open invoice | No |
| I123 | Not all open invoices could be paid | Ask the rider to check the payment method, then retry | Yes |
| I130 | No invoice available yet | Invoice not yet generated | Yes |
| I131 | Invoice type mismatch | Invoice type doesn’t match expected type | No |
| I132 | Invoice already billed | Cannot modify billed invoice | No |
| I140 | No refund allowed due to invoice state | Invoice in non-refundable state | No |
| I141 | Refund amount higher than invoice amount | Reduce refund amount (see sub-codes) | No |
| I141.1 | Single refund exceeds invoice gross price | Refund too large | No |
| I141.2 | Line item refund exceeds line item price | Refund too large for line item | No |
| I141.3 | Combined refunds exceed line item price | Total refunds too large for line item | No |
| I142 | Refund amount higher than remaining payment | Refund exceeds paid amount | No |
| I143 | Payment type can’t be refunded | Payment method doesn’t support refunds | No |
| I144 | No refund amount was provided | Send at least one refund amount | No |
| I148 | A refund is not possible in this payment state | Wait until the payment settles, then refund it | No |
| I150 | Subscription couldn’t be bought | Purchase failed - retry or contact support | Yes |
| I151 | Subscription couldn’t be paid | Payment failed (see sub-codes) | No |
| I151.1 | Subscription couldn’t be paid | Payment error on subscription renewal | No |
| I151.2 | Subscription couldn’t be paid | 3D Secure triggered on automated renewal | No |
| I404 | No invoice found | Invoice doesn’t exist (see sub-codes) | No |
| I404.1 | No invoice found | Configuration issue - contact support | No |
| I404.2 | No invoice found | Invoice with given ID doesn’t exist | No |
| I405 | No line item of invoice found | Line item doesn’t exist on invoice | No |
| C101 | Package not found | Package doesn’t exist | No |
| C102 | Package with code already exists | Choose different package code | No |
| C103 | Not allowed to update package branch and code | Cannot modify package branch/code after creation | No |
| C104 | Cannot buy package (max redeem limit reached) | Package no longer available | No |
| C105 | Cannot update package branch to non-billable branch | Package must be on billable branch | No |
| C106 | Cannot buy package (user redeem limit reached) | User has reached purchase limit for this package | No |
| C107 | Validity period or time unit missing | Provide both validity period and time unit | No |
| C108 | Only constraint packages can be limited | Feature only available for constraint packages | No |
| C109 | Applicable branches must have same billable branch | All branches must share same billable branch as package | No |
| C110 | Buying packages not allowed for foreign branches | Cannot purchase packages while roaming | No |
| C400 | Failed to delete category (still in use) | Category has active references - remove references first | No |
| C404 | Category not found | Vehicle category doesn’t exist | No |
| C405 | Vehicle category has cyclic parent configuration | Category hierarchy is circular - contact support | No |
| C406 | Vehicle category with same name already exists | Choose different category name | No |
Errors related to user balance operations.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| J100 | Can’t charge a positive balance | Balance must be negative to charge | No |
| J101 | Balance settlement failed | Settlement processing error - contact support | No |
| J102 | Supply either balanceId OR branchId | Provide only one identifier | No |
| J103 | User doesn’t have default payment source | User must add default payment method | No |
| J104 | Selected balance currently being charged | Wait for current charge to complete | Yes |
| J105 | Must select branch OR vehicle, not both | Provide only one identifier | No |
| J106 | Cannot delete system-created balances | Only manually created balances can be deleted | No |
| J107 | Only balance owner can delete | Insufficient permissions | No |
| J108 | Only unused balance can be deleted | Balance has transaction history - cannot delete | No |
| J109 | Only balance owner can give access | Insufficient permissions | No |
| J110 | Only balance owner can view access | Insufficient permissions | No |
| J111 | Only balance owner can revoke access | Insufficient permissions | No |
| J112 | Failed to set default balance | Internal error - retry or contact support | Yes |
| J113 | Can’t use balance from another billable branch | Balance must be from same billable branch | No |
| J404 | No balance found | Balance doesn’t exist | No |
Errors related to voucher redemption and promotional offers. See MaaS Guide - Promotions.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| VA109 | Invalid voucher benefit configuration | Correct the benefit configuration. Sub-codes mark the invalid combination | No |
| VA111 | The wrong voucherable type was provided | Send the voucherable type that the endpoint expects | No |
| VA113 | One or more prohibited user annotations were not found | Verify the annotation identifiers | No |
| VA114 | A user annotation is both required and prohibited | Remove the annotation from one of the two lists | No |
| VA120 | Package price is invalid | Send a price that is set and positive | No |
| W101 | Voucher not found | Voucher doesn’t exist or has been deleted | No |
| W103 | Voucher not valid at this location | Voucher only valid in specific branches | No |
| W105 | Voucher already used | Cannot redeem voucher twice | No |
| W113 | Promotion not valid at this location | Promotion only valid in specific branches | No |
| W115 | Promotion not valid at this time | Promotion outside valid time period | No |
| W117 | Promotion already used | Cannot redeem promotion twice | No |
| W118 | Not allowed to use this promotion | User doesn’t meet promotion requirements | No |
| W120 | Complete verification before using referral code | User must complete verification first | No |
| W121 | Can’t use referral twice | Referral already applied | No |
| W122 | Can’t use referral code with existing rentals | Referral codes only for new users | No |
| W123 | Can’t refer yourself | Referral code is your own | No |
| W124 | Promotion max redeem limit reached | Promotion no longer available | No |
| W125 | Already bought signup package or used signup promotion | Cannot use multiple signup offers | No |
| W126 | Geo-fence promotion can’t be redeemed manually | Geo-fence promotions apply automatically | No |
| W127 | Branch not defined for voucher | Voucher missing branch assignment - contact support | No |
| W128 | Must have at least one successful ride | Promotion requires completed rental | No |
| W129 | Cannot buy initial package after non-initial package | Package order restriction | No |
| W130 | Voucher is not active | Voucher has been deactivated | No |
| W131 | Referrer must have at least one successful ride | Referrer needs completed rental | No |
| W132 | Not allowed combination of validity constraints | Validity constraints are incompatible | No |
| W133 | Outside the voucher’s redeem window | The window has closed, or has not opened yet - check the voucher’s redeem dates | No |
| W134 | Validity period or time unit missing | Provide both validity period and time unit | No |
| W135 | Cannot create voucher with past validity date | Validity date must be in future | No |
| W136 | The referrer does not meet the requirements | The referring rider is not eligible for this voucher | No |
| W143 | The customer care voucherable identifier is missing | Configure a customer care voucher template | No |
| VA100 | Voucherable not found | Referenced object doesn’t exist | No |
| VA101 | Not allowed combination of validity constraints | Validity constraints are incompatible | No |
| VA102 | Validity date is in the past | Date must be in future | No |
| VA103 | Validity period or time unit missing | Provide both validity period and time unit | No |
| VA104 | All benefits are null | Must provide at least one benefit | No |
| VA105 | Benefits combination not valid | Benefit combination is incompatible | No |
| VA106 | Voucherable with code already exists | Choose different code | No |
| T100 | Promotion not found | Promotion doesn’t exist | No |
| T101 | Can’t create promotion on non-billable branch | Promotion must be on billable branch | No |
| T103 | Code already taken for promotion | Choose different promotion code | No |
| T110 | Not allowed to update promotion branch and code | Cannot modify promotion branch/code after creation | No |
| T111 | Invalid start and end time values | Verify time range is correct | No |
| T112 | Promotions type mismatch | Promotion type inconsistent | No |
| T113 | Area for geo-fence promotion must not be empty | Define promotion area | No |
| T114 | Geo-fence promotion fields must not be empty | Duration, weekdays, and recurrence start time required | No |
| T115 | Show in user app must not be null | Specify visibility setting | No |
| T116 | Geo-fence promotion type combination not allowed | Incompatible promotion types | No |
Errors related to subscription management.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| SU100 | Subscription with code already exists | Choose different subscription code | No |
| SU101 | Subscription with given ID doesn’t exist | Subscription not found or deleted | No |
| SU102 | Subscription has active references | Cannot delete subscription with active vouchers/invoices | No |
| SU103 | Already subscribed to given subscription | Cannot subscribe twice | No |
| SU104 | Not subscribed to given subscription | User doesn’t have this subscription | No |
| SU105 | Subscription is inactive | Subscription has been deactivated | No |
| SU106 | At least one subscription benefit must not be null | Must provide at least one benefit | No |
| SU107 | Subscription canceled | Reactivate subscription or renew manually | No |
| SU108 | Subscription already canceled | Cannot cancel twice | No |
| SU109 | Something went wrong | Internal error - retry later | Yes |
| SU110 | Benefits combination not valid | Benefit combination is incompatible | No |
| SU111 | Applicable branches must have same billable branch | All branches must share same billable branch as subscription | No |
| SU112 | Both initialPrice and initialIterations must be provided | Provide both or neither | No |
| SU113 | Buying subscriptions not allowed for foreign branches | Cannot purchase subscriptions while roaming | No |
| SU116 | Subscription price is invalid | Send a price that is set and not negative | No |
| SU117 | The maximum number of active subscriptions is reached | Cancel an active subscription before you add a new one | No |
| USU100 | User subscription not found | Verify the user subscription identifier | No |
| CV100 | Constraint voucher doesn’t exist for user and voucherable | Voucher not found | No |
Errors related to permissions and access control.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| A100 | Not allowed to request this action | Insufficient permissions | No |
| A102 | Not allowed to perform actions on this rental | Rental belongs to different user/API client | No |
| A103 | Not allowed to access this file | Insufficient permissions | No |
| A104 | Not allowed to perform action on this booking | Booking belongs to different user/API client | No |
| A105 | Not allowed to access file linked to rental | Insufficient permissions | No |
| A106 | Not allowed to access file linked to vehicle | Insufficient permissions | No |
| A107 | Not allowed to access file linked to user | Insufficient permissions | No |
| A108 | Not allowed to access file linked to issue | Insufficient permissions | No |
A103, A105-A108A100 appends its sub-code with a dot, for example A100.511. The file-access codes append the
sub-code without a separator. A103 with sub-code 416 arrives as A103416, not A103.416.
Parse these codes by their prefix, not by the dot. Match A103, A105, A106, A107 and A108
as a prefix, then read the rest of the string as the sub-code. The sub-code marks the permission
check that failed; the meaning of the base code does not change.
Errors related to damage reports and fine management.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| F201 | No rental, vehicle, or branch given | Provide at least one reference | No |
| F202 | Can only add invoice to issue with affected user | Issue must have affected user | No |
| F203 | Create invoice first | Invoice must be created before this operation | No |
| F204 | Linked deposit too small to cover invoice | Deposit insufficient | No |
| F205 | Error billing the invoice | Billing processing error - contact support | No |
| F207 | Only collection invoices can be set to paid externally | Use a collection invoice for an external payment | No |
| F301 | Can only add files to own comments | Cannot modify other users’ comments | No |
| F404 | Issue not found | Issue doesn’t exist | No |
| F405 | Comment for issue not found | Comment doesn’t exist | No |
Errors related to file uploads.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| L303 | File couldn’t be uploaded | Upload failed - retry or contact support | Yes |
| L404 | File not found | File doesn’t exist or was deleted | No |
| L405 | File size must be ≤ 2MB | Reduce file size before uploading | No |
| L406 | File content type must be provided | Include Content-Type header | No |
| L407 | The file is already linked somewhere else | Upload a new file, or unlink the file first | No |
| L408 | The file entity type was not found | Send a supported entity type for the file link | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| SE100 | Request signature or timestamp missing | Send the signature and timestamp query parameters - request signing is enabled for this tenant (see sub-codes for which value to sign) |
No |
| SE100.1 | Signature missing on create customer | POST /front/customers - sign the request body’s email |
No |
| SE100.2 | Signature missing on create or sign in with phone number | POST /front/customers/create-or-sign-in-with-phone-number - sign the request body’s phoneNumber |
No |
| SE100.3 | Signature missing on password reset or email verification resend | POST /front/customers/reset/{email} and POST /front/customers/verify-email/resend/{email} - sign the {email} path value. Both endpoints share this sub-code |
No |
| SE100.4 | Signature missing on create or sign in with email code | POST /front/customers/create-or-sign-in-with-email-code - sign the request body’s email |
No |
| SE101 | App or timestamp is not valid | Check that the device clock is correct and that the app is up to date. Sub-codes mark the endpoint | No |
| SE102 | Request signature is invalid | Sign the documented value with the tenant key. Sub-codes mark the endpoint | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| N404 | Note not found | Note doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| RO100 | Routing not properly set up | Configuration issue - contact support | No |
| RO101 | Failed to communicate with routing service | External service unavailable - retry later | Yes |
| RO102 | Rate limit exceeded | Wait before making more routing requests | Yes |
| RO103 | Route optimization processing error | Retry or contact support | Yes |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| RR100 | Radar not found | Radar doesn’t exist | No |
| RR101 | Already have active radar | Cannot create duplicate radar | No |
| RR102 | Maximum radius exceeded | Reduce radar radius | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| RW100 | Code already in use | Choose different reward code | No |
| RW101 | Reward already used | Cannot redeem reward twice | No |
| RW102 | Rebate or value benefit must be supplied | Provide at least one benefit type | No |
| RW103 | Invalid combination of benefits supplied | Benefit combination is incompatible | No |
| RW404 | Reward not found | Reward doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| M101 | Message for given settings already exists | Message already configured | No |
| M102 | Code reserved for system operations | Choose different message code | No |
| M404 | Message not found | Message doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| MO100 | Module with externalId already exists | Module already registered | No |
| MO101 | Module with name already exists | Choose different module name | No |
| MO102 | Module with ICCID already exists | Module already registered | No |
| MO103 | Module doesn’t exist | Module not found | No |
| MO104 | Module can only be updated from retired to unassigned | Invalid state transition | No |
| MO105 | Must provide externalId or module ID | Provide at least one identifier | No |
| MO106 | Can’t provide both externalId and module ID | Provide only one identifier | No |
| MO107 | Can’t assign module already assigned to another vehicle | Module in use | No |
| MO108 | Module with macAddress already exists | Module already registered | No |
| MO109 | Module already retired | Cannot retire twice | No |
| MO110 | Module is retired | Cannot use retired module | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| H100 | Failed to resolve message content | Message processing error - contact support | No |
| H101 | Undefined message template | Message template missing - contact support | No |
| H102 | Failed to send notification (missing user info) | User information incomplete - contact support | No |
| H103 | No successful deliveries | All notification channels failed - contact support | No |
| H104 | OneSignal push notification failed | External service error - retry later | Yes |
| H105 | No OneSignal subscriptions found | User not subscribed to notifications | No |
| H107 | OneSignal device doesn’t exist | Device not registered | No |
| H108 | No OneSignal devices successfully updated | Update failed - retry or contact support | Yes |
| H109 | Failed to create OneSignal email subscription | Subscription creation failed - retry or contact support | Yes |
| H110 | OneSignal feature not enabled | OneSignal not configured - contact support | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| VC100 | Process execution type not supported | Use supported execution type | No |
| VC101 | Return type not supported | Use supported return type | No |
| VC102 | Vehicle command already exists | Command already defined for this type/name | No |
| VC103 | Vehicle command not found | Command doesn’t exist | No |
| VC401 | Named parameter(s) missing | Provide all required parameters | No |
| VC402 | Custom command name must not be null | Provide command name | No |
| VC403 | Error occurred while executing command | Command execution failed - retry or contact support | Yes |
| VC404 | Vehicle type, template, and name must not be null | Provide all required fields | No |
| VC405 | Vehicle type, template, parameters, and name must be null | Remove unnecessary fields | No |
| VC406 | All template variables must exist in named parameters | Verify all parameters are provided | No |
| VC407 | Async execution can only use ‘none’ return type | Change return type or execution type | No |
| VC408 | Named parameters must be null/empty | Command has no parameters - remove them | No |
| VC409 | Named parameters must not be null/empty | Command requires parameters | No |
| VC410 | Parameter count mismatch | Verify parameter count matches command | No |
| VC411 | Parameter type incorrect | Verify parameter type matches expected type | No |
| VC412 | Named parameters should be null | Template has no variables - remove parameters | No |
| VC413 | Named parameters must match template variables | Verify parameter names match template | No |
| VC414 | Named parameters and template must be null | Remove unnecessary fields | No |
| VC415 | Not allowed to perform action on predefined command | Cannot modify system commands | No |
| VC417 | Vehicle command not supported for this vehicle type | Command not available for this vehicle | No |
| VC418 | User doesn’t have permissions to execute vehicle action | Insufficient branch permissions | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| T102 | Invalid recurrence condition | Recurrence configuration invalid | No |
| T104 | Task object error | Task processing error - contact support | No |
| T105 | Invalid task data | Task data validation failed | No |
| T106 | Task not found | Task doesn’t exist | No |
| T107 | Recurring task not found | Recurring task doesn’t exist | No |
| T108 | Task template not found | Template doesn’t exist | No |
| T109 | Invalid state or action for current state | State transition not allowed | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| T120 | Annotation not found | Annotation doesn’t exist | No |
| T121 | Tag in use | Cannot delete tag with active references | No |
| T123 | Duplicate tag name | Tag name already exists | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| T300 | Tutorial not found | Tutorial doesn’t exist | No |
| T301 | Slide not found | Tutorial slide doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| PR100 | The rental state does not allow a parking reservation | A parking reservation needs a rental in the reservation or active state | No |
| PR101 | The station is full | Ask the rider to park at another nearby station to end the rental | No |
| PR104 | Concurrent access to the parking reservation | Retry after a few seconds | Yes |
| PS100 | Physical station not found | Verify the station identifier | No |
| PS104 | The station is closed | Retry within the opening hours of the station | No |
| PS107 | The station needs one slot or one parking area to be operational | Add a slot or a parking area, then mark the station operational | No |
| PS205 | The external identifier is already used by another slot | Use a unique external identifier for the slot | No |
| PS301 | The parking area is not defined on the station | Add the parking area to the station first | No |
| PS302 | You cannot delete a parking area that holds vehicles | Move the vehicles out of the parking area, then delete it | No |
| PS306 | The vehicle is not parked at this station | Verify the vehicle and the station | No |
| PS308 | Not enough capacity for all vehicles | Reduce the number of vehicles, or add capacity to the station | No |
| PS311 | The parking area does not cover the station position | Correct the parking area geometry | No |
| SA101 | Station not found | Station doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| ST101 | Setting not found | Setting doesn’t exist | No |
| ST102 | Duplicate key & area pair for setting | Setting already exists for this key/area | No |
| ST103 | Unique value for key & SHARED area exists | Cannot create duplicate shared setting | No |
| ST105 | Bulk setting update failed | Correct the settings in the request, then retry | No |
| ST201 | Setting validation failed | Setting value is invalid | No |
| ST202 | Invalid setting configuration | Configuration error - contact support | No |
| ST203 | Setting not configured | Rental requirements missing for vehicle category - contact support | No |
| ST204 | Setting invalid (type deleted) | Referenced type no longer exists | No |
| ST205 | Setting invalid (type value not associated with known type) | Type value is invalid | No |
| ST206 | Value must not be null when type provided | Provide value when type is specified | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| SR100 | Signup/referral not found | Signup or referral doesn’t exist | No |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| DC001 | Scooter communication problem | Vehicle communication error - retry | Yes |
| DC004 | Command execution timed out | Command didn’t complete in time - retry | Yes |
| DC102 | Scooter already processing a command | Wait for current command to complete | Yes |
| DC103 | Command not supported by device | Use supported command for this device | No |
| DEB100 | OneSignal sync already running | Wait for current sync to complete | Yes |
| JDC201 | Device not found for this tenant | Verify the device identifier | No |
| JDC304 | Another command is already in progress | Wait for the current command to finish, then retry | Yes |
Errors that the payment gateway returns for a charge, a refund, or a payment source.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| PGS004 | No suitable gateway configuration for this operation | The branch has no payment gateway for this operation. Contact support | No |
| PGS109 | Redirect not found | Start the payment again to get a new redirect | No |
| PGS_C002 | Checkout webhook received for an unknown payment source | Informational - the gateway sent a webhook for a source that the platform does not hold | No |
| PGS_C003 | Checkout webhook received for an unknown charge | Informational - the gateway sent a webhook for a charge that the platform does not hold | No |
| PGS_C004 | Checkout webhook received for an unknown refund | Informational - the gateway sent a webhook for a refund that the platform does not hold | No |
| PGS_G104 | Payment source is not active | Ask the rider to add an active payment method | No |
| PGS_P005 | Referenced entity not found (Paystack) | Verify the payment reference | No |
| PGS_S130 | Refund not found (Stripe) | Verify the refund identifier | No |
Errors for on-demand pricing definitions and assignments.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| ODP001 | Pricing is not defined | Configure a price for the vehicle or the branch | No |
| ODP004 | The price is not available for the selected vehicle | Select a price that the vehicle supports | No |
| ODP102 | Pricing assignment not found | Verify the assignment identifier | No |
Errors for driving log entries.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| DL101 | Driving log entry not found | Verify the entry identifier | No |
| DL102 | The entry date does not match the rental period | Send a date inside the rental period | No |
| DL103 | The start kilometers do not match the rental | Send the start kilometers of the rental | No |
| DL107 | Driving log is invalid | Correct the driving log entries, then retry | No |
Errors for vehicle cooldown configuration.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| CD101 | The start branch is required | Send a start branch for the cooldown | No |
| CD102 | The vehicle category is required | Send a vehicle category for the cooldown | No |
Errors for physical customer identity cards.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| CIC103 | Duplicate card tag | The tag belongs to another card. Use a unique tag | No |
| CIC104 | The card cannot be assigned to a user | The card is in a state that does not allow an assignment | No |
Errors for vehicle card tags and lookups.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| VHCLC103 | Duplicate vehicle card tag | The tag belongs to another vehicle card. Use a unique tag | No |
| VHCLC110 | Vehicle cards are not available because the rental ended | Read the vehicle cards while the rental is active | No |
Errors for the export API.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| EX103 | Export not found | Verify the export identifier | No |
| EX114 | The export has expired | Request the export again | No |
Errors for the analytics token endpoint.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| TS001 | Empty or invalid response from the analytics token endpoint | Retry. Contact support if the error continues | Yes |
| TS002 | The analytics token could not be obtained | Retry. Contact support if the error continues | Yes |
Errors for state-of-charge level configuration.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| SLV101 | State-of-charge level validation failed | Correct the level values. Sub-codes mark the invalid level | No |
The 00XX range holds request-level failures. The authentication codes of the same range, 0001,
0005 and 0007, are under Authentication & Authorization.
| Code | Description | Solution | Retryable |
|---|---|---|---|
| 0000 | Unhandled runtime error | Internal error - retry, then contact support with the traceId |
Yes |
| 0002 | Constraint violation on the request | Correct the fields that the response lists in errorDetails |
No |
| 0014 | A required query parameter is missing | Send all required query parameters | No |
| 0010 | HTTP method is not allowed on this endpoint | Use the method that the endpoint documents | No |
| 0011 | Invalid parameter value, or unsupported Content-Type |
Correct the parameter value, or send a supported Content-Type. Core reuses this code for both cases |
No |
| 0012 | Invalid sort parameter, or unsupported Accept type |
Correct the sort parameter, or send a supported Accept header. Core reuses this code for both cases |
No |
| 0015 | A required header or parameter is missing or invalid | Send all required headers and parameters | No |
| 0018 | Request body is not readable | Send a valid JSON body | No |
| 0020 | Request failed validation | Correct the fields that the response lists in errorDetails |
No |
| 0022 | Request parameters failed binding or validation | Correct the query or form parameters | No |
| 0025 | Too many concurrent requests to this endpoint | Wait a moment, then retry. Reduce the request rate | Yes |
| G100 | Empty request body | Provide request body with required data | No |
| E101 | Event could not be published | Event processing error - retry or contact support | Yes |
| E102 | Invalid entity type | Use valid entity type | No |
| GBFS404 | The GBFS endpoint is not configured | The tenant has not enabled this GBFS endpoint | No |
| P002 | Read access to points of interest is forbidden (Station API) | The token has no POI read permission | No |
| ST002 | Constraint validation failed (Station API) | Correct the fields in the request body | No |
| SW002 | You are too far away from the vehicle | Move closer to the vehicle, then repeat the command | No |
| X001 | Not implemented yet | Feature not yet available | No |
| X002 | No authorization header | Include Authorization header with Bearer token | No |
| X003 | Invalid bearer in authorization header | Verify token format: “Bearer {token}” | No |
| Y007 | An import is running on this node | Wait for the import to finish, then retry | Yes |
| Code | Description | Solution | Retryable |
|---|---|---|---|
| 0003 | Requested resource currently in use | Another process is modifying same data - retry after a few seconds | Yes |
| 0017 | Type mismatch | Sign out and sign in again to refresh session | No |
| A lot of riders are enjoying our service at the moment. Please try again in a few seconds. | Too many requests from same area/IP | System detecting potential DDoS attack - wait a few minutes and retry | Yes |
If you encounter an error code not listed here, or if the description doesn’t help resolve your issue, please contact support at support@wundermobility.com with: