Introduction

This document details all status codes that a Neo4j DBMS may return to indicate the outcome of a request.

Format

Each Neo4j status code follows the same format:

Neo.[Type].[SubType].[Name]

Types of Neo4j status codes

The fact that a Neo4j status code is returned by the server does not always mean there is a fatal error. Neo4j status codes can also indicate transient problems that may go away if you retry the request. The type of the status code determines the effect on the transaction.

Table 1. Neo4j status code types
Type Description Effect on the transaction

ClientError

The Client sent a bad request - changing the request might yield a successful outcome.

Rollback

TransientError

The database cannot service the request right now, retrying later might yield a successful outcome.

Rollback

DatabaseError

The database failed to service the request.

Rollback

ClientNotifications

The query execution was successful, but there are notifications about the request sent by the client.

None

From version 5.23, Neo4j has a new GqlStatusObject API in addition to the existing Notification API.

The GqlStatusObject API provides information about the status of a Cypher query or command execution in compliance with the GQL standard. It includes GQLSTATUS code, StatusDescription, and DiagnosticRecord. For more information, see GQL-status notification object.