19.2. Neo4j Status Codes

19.2.1. Classifications
19.2.2. Status codes

The transactional endpoint may in any response include zero or more status codes, indicating issues or information for the client. Each status code follows the same format: "Neo.[Classification].[Category].[Title]". The fact that a status code is returned by the server does always mean there is a fatal error. Status codes can also indicate transient problems that may go away if you retry the request.

What the effect of the status code is can be determined by its classification.

[Note]Note

This is not the same thing as HTTP status codes. Neo4j Status Codes are returned in the response body, at the very end of the response.

19.2.1. Classifications

Classification Description Effect on transaction

ClientError

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

None

DatabaseError

The database failed to service the request.

Rollback

TransientError

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

None

19.2.2. Status codes

This is a complete list of all status codes Neo4j may return, and what they mean.

Status Code Description

Neo.ClientError.Request.Invalid

The client provided an invalid request.

Neo.ClientError.Request.InvalidFormat

The client provided a request that was missing required fields, or had values that are not allowed.

Neo.ClientError.Schema.ConstraintViolation

A constraint imposed by the database was violated.

Neo.ClientError.Schema.NoSuchConstraint

The request (directly or indirectly) referred to a constraint that does not exist.

Neo.ClientError.Schema.NoSuchIndex

The request (directly or indirectly) referred to an index that does not exist.

Neo.ClientError.Statement.ArithmeticError

Invalid use of arithmetic, such as dividing by zero.

Neo.ClientError.Statement.ConstraintViolation

A constraint imposed by the statement is violated by the data in the database.

Neo.ClientError.Statement.EntityNotFound

The statement is directly referring to an entity that does not exist.

Neo.ClientError.Statement.InvalidSemantics

The statement is syntactically valid, but expresses something that the database cannot do.

Neo.ClientError.Statement.InvalidSyntax

The statement contains invalid or unsupported syntax.

Neo.ClientError.Statement.InvalidType

The statement is attempting to perform operations on values with types that are not supported by the operation.

Neo.ClientError.Statement.ParameterMissing

The statement is referring to a parameter that was not provided in the request.

Neo.ClientError.Transaction.ConcurrentRequest

There were concurrent requests accessing the same transaction, which is not allowed.

Neo.ClientError.Transaction.UnknownId

The request referred to a transaction that does not exist.

Neo.DatabaseError.General.FailedIndex

The request (directly or indirectly) referred to an index that is in a failed state. The index needs to be dropped and recreated manually.

Neo.DatabaseError.General.UnknownFailure

An unknown failure occurred.

Neo.DatabaseError.Statement.ExecutionFailure

The database was unable to execute the statement.

Neo.DatabaseError.Transaction.CouldNotBegin

The database was unable to start the transaction.

Neo.DatabaseError.Transaction.CouldNotCommit

The database was unable to commit the transaction.

Neo.DatabaseError.Transaction.CouldNotRollback

The database was unable to roll back the transaction.

Neo.TransientError.Network.UnknownFailure

An unknown network failure occurred, a retry may resolve the issue.