# General errors

All error codes returned by the General endpoints (66 total).

Every error returned by the **General** endpoints. Click any code for the full example response and localized messages.

| Code | Message |
|------|---------|
| [`AUTOMATIC_EMAIL_CONFIG_INVALID`](/errors/AUTOMATIC_EMAIL_CONFIG_INVALID) | For automatic sending, you must provide an email configuration or a client with email |
| [`BAD_REQUEST`](/errors/BAD_REQUEST) | The provided data is not valid. |
| [`BUSINESS_RULE_VIOLATION`](/errors/BUSINESS_RULE_VIOLATION) | The operation breaks a business rule. |
| [`CITY_EMPTY`](/errors/CITY_EMPTY) | City cannot be empty |
| [`CITY_MAX_LENGTH`](/errors/CITY_MAX_LENGTH) | City cannot exceed ‹value› characters |
| [`CONCURRENT_MODIFICATION`](/errors/CONCURRENT_MODIFICATION) | The resource was modified by another operation. Please retry. |
| [`CONFLICT`](/errors/CONFLICT) | The operation conflicts with the current state of the resource. |
| [`COUNTRY_CODE_MISMATCH`](/errors/COUNTRY_CODE_MISMATCH) | The country '‹value›' does not match country_code '‹value›'. Send only country_code, the country's ISO 3166-1 alpha-2 code. |
| [`COUNTRY_CODE_REQUIRED`](/errors/COUNTRY_CODE_REQUIRED) | The country '‹value›' is not valid. Send the country's ISO 3166-1 alpha-2 code in country_code (for example, GB for the United Kingdom). |
| [`ENDPOINT_NOT_FOUND`](/errors/ENDPOINT_NOT_FOUND) | The requested endpoint does not exist. |
| [`EXEMPTION_REASON_NOT_ALLOWED_AS_DEFAULT`](/errors/EXEMPTION_REASON_NOT_ALLOWED_AS_DEFAULT) | That reason depends on each invoice and cannot be declared as a default: choose art. 20 exemption or other |
| [`EXEMPTION_REASON_REQUIRES_ZERO_RATE`](/errors/EXEMPTION_REASON_REQUIRES_ZERO_RATE) | An exemption reason is only compatible with a 0% tax rate |
| [`EXEMPTION_REASON_TEXT_REQUIRED`](/errors/EXEMPTION_REASON_TEXT_REQUIRED) | Provide the text explaining the exemption when the reason is "Other" |
| [`EXTERNAL_SERVICE_ERROR`](/errors/EXTERNAL_SERVICE_ERROR) | Error communicating with the external service |
| [`FIELD_BLANK`](/errors/FIELD_BLANK) | The field '‹value›' cannot be empty |
| [`FIELD_TOO_LONG`](/errors/FIELD_TOO_LONG) | The field '‹value›' cannot exceed ‹value› characters. |
| [`FILE_CORRUPTED`](/errors/FILE_CORRUPTED) | File is damaged or corrupt |
| [`FILE_EMPTY`](/errors/FILE_EMPTY) | The file is empty |
| [`FILE_TOO_LARGE`](/errors/FILE_TOO_LARGE) | File is too large. Maximum allowed size: ‹value› |
| [`FORBIDDEN`](/errors/FORBIDDEN) | You do not have permission to perform this action |
| [`IBAN_INVALID`](/errors/IBAN_INVALID) | Invalid IBAN: '‹value›'. Must match ISO 13616 format (e.g.: ES1234567890123456789012) |
| [`IBAN_REQUIRED`](/errors/IBAN_REQUIRED) | Payment method ‹value› requires an IBAN |
| [`IDEMPOTENCY_KEY_MISMATCH`](/errors/IDEMPOTENCY_KEY_MISMATCH) | This idempotency key was already used with a different request body. Use a new key for a different operation. |
| [`IDEMPOTENCY_KEY_PROCESSING`](/errors/IDEMPOTENCY_KEY_PROCESSING) | A request with this idempotency key is already being processed. Wait and retry with the same key. |
| [`IDEMPOTENCY_KEY_REQUIRED`](/errors/IDEMPOTENCY_KEY_REQUIRED) | This operation requires the Idempotency-Key header: without it, a retry would import the same file twice. |
| [`INTERNAL_ERROR`](/errors/INTERNAL_ERROR) | An unexpected error occurred. Please try again later. |
| [`INVALID_CONTENT`](/errors/INVALID_CONTENT) | File content is not valid |
| [`INVALID_EMAIL_FORMAT`](/errors/INVALID_EMAIL_FORMAT) | The email '‹value›' has an invalid format |
| [`INVALID_EXTENSION`](/errors/INVALID_EXTENSION) | File extension not allowed |
| [`INVALID_FILE_TYPE`](/errors/INVALID_FILE_TYPE) | File type not allowed. Accepted types: ‹value› |
| [`INVALID_IDEMPOTENCY_KEY`](/errors/INVALID_IDEMPOTENCY_KEY) | Invalid idempotency key format. Must be a UUID or an alphanumeric string. |
| [`INVALID_JSON_FORMAT`](/errors/INVALID_JSON_FORMAT) | The request body contains invalid JSON syntax. |
| [`IRPF_REQUIRED_WHEN_NOT_EXEMPT`](/errors/IRPF_REQUIRED_WHEN_NOT_EXEMPT) | The income tax withholding percentage is required when not exempt |
| [`MAIN_TAX_REQUIRED`](/errors/MAIN_TAX_REQUIRED) | You must configure a main tax (VAT, IGIC or IPSI) |
| [`METHOD_NOT_ALLOWED`](/errors/METHOD_NOT_ALLOWED) | The HTTP method used is not allowed on this path. |
| [`MISSING_HEADER`](/errors/MISSING_HEADER) | A required request header is missing. |
| [`MISSING_PARAMETER`](/errors/MISSING_PARAMETER) | A required request parameter is missing. |
| [`MISSING_PART`](/errors/MISSING_PART) | A required part of the multipart request is missing. |
| [`MISSING_REQUIRED_FIELD`](/errors/MISSING_REQUIRED_FIELD) | The field '‹value›' is required |
| [`NIF_DE_BAJA`](/errors/NIF_DE_BAJA) | The NIF '‹value›' is deregistered in the AEAT census and cannot issue invoices |
| [`NIF_REVOCADO`](/errors/NIF_REVOCADO) | The NIF '‹value›' has been revoked by the AEAT and cannot operate |
| [`NOT_ACCEPTABLE`](/errors/NOT_ACCEPTABLE) | The response cannot be returned in the requested content type. |
| [`NOT_FOUND`](/errors/NOT_FOUND) | ‹value› with identifier '‹value›' does not exist or is not available to this credential. |
| [`NUMBER_MAX_LENGTH`](/errors/NUMBER_MAX_LENGTH) | Number cannot exceed ‹value› characters |
| [`PLAZO_DIAS_OUT_OF_RANGE`](/errors/PLAZO_DIAS_OUT_OF_RANGE) | Payment term must be between ‹value› and ‹value› days |
| [`POSTAL_CODE_EMPTY`](/errors/POSTAL_CODE_EMPTY) | Postal code cannot be empty |
| [`POSTAL_CODE_INVALID_ES`](/errors/POSTAL_CODE_INVALID_ES) | Invalid Spanish postal code: '‹value›'. Must be 5 digits |
| [`PROVINCE_EMPTY`](/errors/PROVINCE_EMPTY) | Province cannot be empty |
| [`PROVINCE_MAX_LENGTH`](/errors/PROVINCE_MAX_LENGTH) | Province cannot exceed ‹value› characters |
| [`RATE_LIMIT_EXCEEDED`](/errors/RATE_LIMIT_EXCEEDED) | You have exceeded the request rate limit. Wait the seconds given in the Retry-After header and try again. |
| [`RECARGO_EQUIVALENCIA_REQUIRED`](/errors/RECARGO_EQUIVALENCIA_REQUIRED) | The equivalence surcharge is required for this type of operation |
| [`RECARGO_IVA_COMBINATION_INVALID`](/errors/RECARGO_IVA_COMBINATION_INVALID) | The equivalence surcharge does not match the chosen VAT rate. |
| [`RECARGO_REQUIRES_REGIME_RE`](/errors/RECARGO_REQUIRES_REGIME_RE) | When equivalence surcharge is enabled, the main tax regime must be "18 - Equivalence surcharge". Change the regime to 18 or disable the surcharge. |
| [`REQUEST_BLOCKED`](/errors/REQUEST_BLOCKED) | A security filter at the edge rejected this request before the API saw its body. This usually happens because a text field contains something that looks like code or markup (HTML tags, scripts). Review the request body and try again. |
| [`REQUEST_BODY_TOO_LARGE`](/errors/REQUEST_BODY_TOO_LARGE) | The request body exceeds the maximum allowed size of ‹value›. |
| [`SERVICE_UNAVAILABLE`](/errors/SERVICE_UNAVAILABLE) | The service is temporarily unavailable. Please try again in a few seconds. |
| [`STREET_EMPTY`](/errors/STREET_EMPTY) | Street cannot be empty |
| [`STREET_MAX_LENGTH`](/errors/STREET_MAX_LENGTH) | Street cannot exceed ‹value› characters |
| [`SWIFT_INVALID`](/errors/SWIFT_INVALID) | Invalid SWIFT code: '‹value›'. Must be 8 or 11 characters (e.g.: ABCDESMMXXX) |
| [`TAX_CONFIG_CONFLICT`](/errors/TAX_CONFIG_CONFLICT) | Another operation created the tax configuration at the same time. Please try again. |
| [`TOO_MANY_REQUESTS`](/errors/TOO_MANY_REQUESTS) | You have exceeded the request limit. Please try again in ‹value› seconds |
| [`UNSUPPORTED_MEDIA_TYPE`](/errors/UNSUPPORTED_MEDIA_TYPE) | The submitted content type is not supported. |
| [`VALIDATION_ERROR`](/errors/VALIDATION_ERROR) | The provided data is not valid. |
| [`VALUE_OUT_OF_RANGE`](/errors/VALUE_OUT_OF_RANGE) | The value provided exceeds the range allowed for that field |
| [`VALUE_TOO_LONG`](/errors/VALUE_TOO_LONG) | The value provided exceeds the maximum length allowed for that field |
| [`ZERO_RATE_REQUIRES_EXEMPTION_REASON`](/errors/ZERO_RATE_REQUIRES_EXEMPTION_REASON) | 0% is not a tax rate: state why the operation carries no tax (art. 20 exemption or another reason) |

## Keep exploring

<div className="grid grid-cols-2 gap-3 not-prose">
  <Card title="Error reference home" description="Landing page with all categories and a guide on handling errors." href="/errors" />
  <Card title="Handling errors" description="Response shape, the type URI, and programmatic patterns." href="/guides/handling-errors" />
</div>

---

Full OpenAPI spec: https://docs.beel.es/api/openapi