> This page is for Docs.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://zuora.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://zuora.ferndocs.com/_mcp/server.

# Errors

> An error is a row-level failure that can occur when you attempt a batch call.

An error is a row-level failure that can occur when you attempt a batch call.

Errors differ from faults, which cause a call to fail completely. An error causes only part of the call to fail. Parts that succeed are processed. The parts that fail return error codes.

For example, a create() call attempts to create 20 accounts, but two of them fail. The call successfully creates 18 `Account` objects, and returns error codes for the two failures.

## Error object

Errors are an instance of an `Error` object, which has three fields.

| Field name | Description                                                                                          |
| ---------- | ---------------------------------------------------------------------------------------------------- |
| Code       | Specifies the type of error that occurred. This field uses the object, `ErrorCode`.                  |
| Field      | If the error is a field error, then the `Field` value is a string that indicates which field failed. |
| Message    | A string that describes the error.                                                                   |

## ErrorCode object

The `ErrorCode` object contains the value for the `Error` object's field, `Code` . The WSDL defines errors for both faults and errors in the `ErrorCode` enumeration.

<table>
  <tr>
    <th>
      Error
    </th>

    <th>
      Description
    </th>
  </tr>

  <tr>
    <td>
      API_DISABLED
    </td>

    <td>
      The API was disabled.
    </td>
  </tr>

  <tr>
    <td>
      CANNOT_DELETE
    </td>

    <td>
      The specified item couldn't be deleted.
    </td>
  </tr>

  <tr>
    <td>
      CREDIT_CARD_PROCESSING_FAILURE
    </td>

    <td>
      There was a problem processing the credit card.
    </td>
  </tr>

  <tr>
    <td>
      DUPLICATE_VALUE
    </td>

    <td>
      A duplicate value was found for a value that must be unique.
    </td>
  </tr>

  <tr>
    <td>
      INVALID_FIELD
    </td>

    <td>
      An invalid field was specified in one of the following calls: create(), query(), update().
    </td>
  </tr>

  <tr>
    <td>
      INVALID_ID
    </td>

    <td>
      An invalid ID value was specified.
    </td>
  </tr>

  <tr>
    <td>
      INVALID_LOGIN
    </td>

    <td>
      Invalid login credentials were specified.
    </td>
  </tr>

  <tr>
    <td>
      INVALID_SESSION
    </td>

    <td>
      The authentication session expired or was otherwise invalid. Log in again.
    </td>
  </tr>

  <tr>
    <td>
      INVALID_TYPE
    </td>

    <td>
      An invalid object type was specified in one of the following calls: create(), query(), update().
    </td>
  </tr>

  <tr>
    <td>
      INVALID_VALUE
    </td>

    <td>
      An invalid field value was specified.
    </td>
  </tr>

  <tr>
    <td>
      INVALID_VERSION
    </td>

    <td>
      The version of the API doesn't match the function you tried to use.
    </td>
  </tr>

  <tr>
    <td>
      LOCK_COMPETITION
    </td>

    <td>
      The operation failed from a lock competition. For example, a lock can occur when multiple client operations try to update an object at the same time. Retry later.

      WSDL Version: 60.0+
    </td>
  </tr>

  <tr>
    <td>
      MALFORMED_QUERY
    </td>

    <td>
      The query() call wasn't properly formed.
    </td>
  </tr>

  <tr>
    <td>
      MAX_RECORDS_EXCEEDED
    </td>

    <td>
      The maximum number of records was exceeded.
    </td>
  </tr>

  <tr>
    <td>
      MISSING_REQUIRED_VALUE
    </td>

    <td>
      A required value wasn't specified.
    </td>
  </tr>

  <tr>
    <td>
      REQUEST_EXCEEDED_LIMIT
    </td>

    <td>
      The total number of requests for the unit interval has exceeded the limit allowed by the system. HTTP status: 429
    </td>
  </tr>

  <tr>
    <td>
      REQUEST_EXCEEDED_RATE
    </td>

    <td>
      The total number of concurrent requests has exceeded the limit allowed by the system. Please resubmit your request later. HTTP Status: 200, means the limit is based on application design.
    </td>
  </tr>

  <tr>
    <td>
      SERVER_UNAVAILABLE
    </td>

    <td>
      The Zuora server wasn't available.
    </td>
  </tr>

  <tr>
    <td>
      TEMPORARY_ERROR
    </td>

    <td>
      The operation failed from a temporary error. For example, the encryption component encounters an error that can self-correct within a short time span. Retry later.

      WSDL Version: 60.0+
    </td>
  </tr>

  <tr>
    <td>
      TRANSACTION_FAILED
    </td>

    <td>
      The transaction failed.
    </td>
  </tr>

  <tr>
    <td>
      TRANSACTION_TERMINATED
    </td>

    <td>
      The operation failed when a transaction was terminated. This failure may be related to a heavy resource-consuming operation. Do not retry.

      If you are fetching large amounts of date, change your operations to work with a smaller set of data.

      WSDL Version: 60.0+
    </td>
  </tr>

  <tr>
    <td>
      TRANSACTION_TIMEOUT
    </td>

    <td>
      The operation failed from a transaction timeout between Zuora and the the third-party you were trying to contact. For example, a call to create payment failed from a gateway timeout.

      WSDL Version: 60.0+
    </td>
  </tr>

  <tr>
    <td>
      UNKNOWN_ERROR
    </td>

    <td>
      There was an unknown error. No further details are available.
    </td>
  </tr>
</table>