Introduction
Changelog
Authentication
Headers
Errors
Rate Limiting
OAuth 2.0
User
Devices
Aggregation
Bills
Budgets
Challenges
CDR
Configuration
Events
Goals
Messages
Pay Day
Payments
Reports
Surveys
Calculators
Images
Users
Accounts
Transactions

Errors

Common Response Status Codes

200: OK
201: OK - Created
204: OK - No content
304: Not changed (caching)
503: Redirect to S3 for "Service Unavailable" json message
400: Bad request (malformed request)
401: Not authenticated
403: Not authorised
404: Object not found
409: Conflict (duplicate object)
410: Not supported for your app version
429: Rate limiting
500: Internal Server Error
501: Not Implemented
502: Bad Gateway
503: Service Unavailable
504: Gateway timeout

Example Response

{
    "error" : {
        "error_code": "F0001", 
        "error_message": "Invalid value for email",
    }
}

Error Codes

400 Bad Request

F0001:    Invalid value for {0}
F0002:    Invalid length for {0}
F0003:    Invalid Authorisation header
F0004:    Invalid User-Agent header
F0005:    {0} must be different
F0006:    {0} over limit
F0007:    Invalid count for {0}
F0008:    The API Version requested was too low
F0009:    Invalid X-Bundle-Id header
F0010:    Invalid X-Software-Version header
F0011:    Invalid X-Device-Version header
F0012:    Failed to migrate user to Auth0

401 Not authenticated

F0101:    Invalid access token
F0110:    Invalid refresh token (deprecated see: [Note On OAuth Error Codes](#note-oauth-error-codes))
F0111:    Invalid username or password
F0112:    Suspended user
F0113:    Suspended device (deprecated see: [Note On OAuth Error Codes](#note-oauth-error-codes))
F0114:    Account locked
F0120:    OTP required

403 Not authorised

F0200:    {0} not allowed

404 Object not found

F0300:    {0} not found

409 Conflict

F0400:    {0} already exists

500 Internal Server Error

F9000:    Aggregator error
F9998:    {0}
F9999:    Internal exception

Note On OAuth Error Codes

The following Error Codes are deprecated and will be removed in future versions of the API. These error codes may still be returned from the Token Endpoint if the user is using the Frollo Legacy Token Exchange flow.

F0110:    Invalid refresh token
F0113:    Suspended device