## Errors Error codes represent the error code returned by the API. Then general structure of an error is as follows: Important warning More error codes will be added over time, initial error codes are based on generic HTTP status codes. ### Error Codes Below is a non exhaustive list of error codes that you may encounter from Quiqup APIs | HTTP Status | Error Code | Type | | --- | --- | --- | | 400 | invalid_argument | input | | 400 | failed_precondition | internal | | 401 | unauthenticated | unauthorized | | 403 | permission_denied | forbidden | | 404 | not_found | not_found | | 409 | already_exists | internal | | 429 | resource_exhausted | internal | | 499 | canceled | internal | | 500 | internal | internal | | 500 | internal | integration | | 500 | data_loss | internal | | 500 | unknown | internal | | 503 | unavailable | internal | | 504 | deadline_exceeded | internal | ### Field Errors When there are problems with specific fields, the error will contain field errors. For example if we have a payload like this: ```json { "name": "string", "email": "email", "address": { "street": "string" } } ``` Then we could expect errors like this, telling you which fields are invalid and the reason why: ```json { "status": "invalid_argument", "code": "invalid_argument", "message": "Invalid Input", "details": { "type": "input", "fields": [ { "field": "name", "message": "required" }, { "field": "email", "message": "email" }, { "field": "address.street", "message": "required" } ] } } ```