Chapter 18. REST API

Table of Contents

18.1. Service root
18.2. Nodes
18.3. Relationships
18.4. Relationship types
18.5. Node properties
18.6. Relationship properties
18.7. Indexes
18.8. Auto-Indexes
18.9. Configurable Auto-Indexing
18.10. Traversals
18.11. Built-in Graph Algorithms
18.12. Batch operations
18.13. Cypher Plugin
18.14. Gremlin Plugin

The Neo4j REST API is designed with discoverability in mind, so that you can start with a GET on the Section 18.1, “Service root” and from there discover URIs to perform other requests. The examples below uses URIs in the examples; they are subject to change in the future, so for future-proofness discover URIs where possible, instead of relying on the current layout. The default representation is json, both for responses and for data sent with POST/PUT requests.

Below follows a listing of ways to interact with the REST API. You can also see a (at runtime) generated description of the API be pointing your browser to the (exact URI may vary) http://localhost:7474/db/data/application.wadl

To interact with the JSON interface you must explicitly set the request header Accept:application/json for those requests that responds with data. You should also set the header Content-Type:application/json if your request sends data, for example when you’re creating a relationship. The examples include the relevant request and response headers.