---
title: "General Errors"
source_url: https://docs.rapyd.net/en/general-errors.html
lang: en
---

# General Errors

| General Errors |
| --- |
| **Error code:** EMAIL_IS_VERIFIED  **Message:** The request tried to verify the email address of a white level user, but the email was already verified. The request was rejected. Corrective action: Determine why an attempt was made to verify the same email twice.  **Explanation:** You attempted to trigger a verification flow for a user whose email status is already confirmed. |
| **Error code:** ERROR_AMOUNT_MUST_BE_POSITIVE  **Message:** The request attempted an operation that requires an `amount`, but the `amount` was negative or **0**. The request was rejected. Corrective action: Use a positive decimal number.  **Explanation:** The value provided for the transaction was zero or less, which is not allowed. Change the `amount` to a value greater than **0**.  **Correct Example:**   ```json {     "amount": 100 } ``` |
| **Error code:** ERROR_AMOUNT_NOT_VALID  **Message:** The request tried to create a transaction, but the `amount` was not valid. The request was rejected. Corrective action: Set the `amount` to a positive decimal number.  **Explanation:** The `amount` field contained a value that the system could not process, such as text or an improperly formatted number. Ensure that the value is a valid numeric string or number.  **Error Example:** `{"amount": "50,25"}`  **Correct Example:**   ```json {     "amount": 50.25 } ``` |
| **Error code:** ERROR_BANK_IDENTIFIER_MISMATCH  **Message:** The request attempted an operation that requires both an account number and a bank identifier, but the bank portion of the account number does not match the bank identifier. The request was rejected. Corrective action: Verify the account number and bank identifier and retry.  **Explanation:** There is a logical conflict between the account details provided. Ensure that the bank routing information aligns with the account number. |
| **Error code:** ERROR_CARD_EXPIRED  **Message:** The request attempted an operation that requires a card, but the card expired. The request was rejected. Corrective action: Advise the cardholder to contact the issuer.  **Explanation:** The payment was declined because the card's expiration date has passed. The user must choose a different payment method. |
| **Error code:** ERROR_CARD_NOT_AUTHENTICATED  **Message:** The request tried to use a card ID, but the cardholder has not completed the 3DS verification process. The request was rejected. Corrective action: None. Create a new card ID and wait for the cardholder to complete the 3DS process. To create a new card ID, use [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment"), [Add Payment Method to Customer](https://docs.rapyd.net/en/add-payment-method-to-customer.md "Add Payment Method to Customer") or [Create Card Token](https://docs.rapyd.net/en/create-card-token.md "Create Card Token").  **Explanation:** The card requires a security challenge that was not performed. You must initiate a new transaction that triggers 3DS authentication. |
| **Error code:** ERROR_DAYS_UNTIL_DUE_NOT_VALID  **Message:** The request tried to set or update the `days_until_due` parameter in an invoice or subscription, but the value was not valid. The request was rejected. Corrective action: Set `days_until_due` to a positive integer.  **Explanation:** The timing for the invoice due date was set incorrectly. Change the value of `days_until_due` to a whole number greater than **0**.  **Error Example:** `{"days_until_due": 0}`  **Correct Example:**   ```json {     "days_until_due": 7 } ``` |
| **Error code:** ERROR_DUPLICATE_TRANSACTION  **Message:** The request attempted an operation, but the action was attempted before and completed. The request was rejected. Corrective action: None. Determine why a duplicate attempt was made.  **Explanation:** This transaction has already been processed successfully. Check your internal records to avoid sending the same request twice. |
| **Error code:** ERROR_LIST_PAYMENTS_PAYOUTS_QUERY_MISMATCH  **Message:** The request tried to list payments or payouts filtered with query parameters, but the query parameters were mutually incompatible. The request was rejected. Corrective action: Use any combination of `created_before` and `created_after` or any combination of `ending_before` and `starting_after`.  **Explanation:** You mixed different filtering styles in the query parameters. Use consistent time-based or ID-based filters.  **Error Example:** `get /v1/payments?created_after=payment_6789aaaabbb&starting_after=payment_12345aaaabbb`  **Correct Example:**   ```json get /v1/payments?created_after=payment_f2e57196a80852a24b644ef6ceea56f7&created_before=payment_162a9c308e67f998b8a87757ea44409f67890 ``` |
| **Error code:** ERROR_QUERY_DATE_RANGE_EXCEEDS_90_DAYS  **Message:** The request included temporal query parameters for defining a date range, but the date range defined via the IDs of the objects exceeds **90** days. Corrective action: Create a query where the date range does not exceed **90** days.  **Explanation:** You attempted to filter a list of disputes over a time period longer than three months. Adjust your `starting_after` and `ending_before` parameters to cover a span of **90** days or less. |
| **Error code:** ERROR_STATEMENT_DESCRIPTOR_TOO_LONG  **Message:** The request attempted an operation that uses a statement descriptor, but it contained too many characters. The request was rejected. Corrective action: For the `statement_descriptor` body parameter, use a string of 1-22 alphanumeric characters and spaces.  **Explanation:** The text meant for the customer's bank statement exceeds the maximum length of 22 characters. Shorten the `statement_descriptor`.  **Error Example:** `{"statement_descriptor": "Four Star Enterprises Restaurant Boutique and Gift Shop"}`  **Correct Example:**   ```json {     "statement_descriptor": "4Star Restaurant&Gifts" } ``` |
| **Error code:** GENERAL_ERROR  **Message:** Please contact Rapyd Client Support.  **Explanation:** An unexpected server-side issue occurred. Contact Rapyd Client Support for assistance. |
| **Error code:** IDEMPOTENCY_ERROR  **Message:** The request tried to create a payment, but the `idempotency` header was identical to that of another request made earlier. The request was rejected. Corrective action: Set `idempotency` to a unique value.  **Explanation:** You reused an idempotency key value for a different transaction. Generate a new and unique string for the `idempotency` header for every new request. |
| **Error code:** INVALID_FIELDS  **Message:** The request attempted an operation, but one of the fields contained a value that is not valid. The request was rejected. Corrective action: The name of the field appears at the end of the response code. Use a valid value.  **Explanation:** General field validation failure. Identify the field named in the error message and correct its value. |
| **Error code:** MISSING_FIELDS  **Message:** The request attempted an operation, but one or more required fields were missing. The request was rejected. Corrective action: Provide all of the fields that are listed at the end of the error code. For more information, see the API Reference.  **Explanation:** Your endpoint URI or JSON payload is incomplete. Identify the missing fields from the error message and include them in your request. |
