Chapter 19. REST API
Table of Contents
- 19.1. Transactional HTTP endpoint
- 19.2. Neo4j Status Codes
- 19.3. Service root
- 19.4. Streaming
- 19.5. Cypher queries via REST
- 19.6. Property values
- 19.7. Nodes
- 19.8. Relationships
- 19.9. Relationship types
- 19.10. Node properties
- 19.11. Relationship properties
- 19.12. Node labels
- 19.13. Indexing
- 19.14. Constraints
- 19.15. Traversals
- 19.16. Graph Algorithms
- 19.17. Batch operations
- 19.18. Legacy indexing
- 19.19. Unique Indexing
- 19.20. Legacy Automatic Indexes
- 19.21. Configurable Legacy Automatic Indexing
- 19.22. WADL Support
The Neo4j REST API is designed with discoverability in mind, so that you can start with a
GET on the Section 19.3, “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
Below follows a listing of ways to interact with the REST API. For language bindings to the REST API, see Chapter 6, Languages.
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.
The server supports streaming results, with better performance and lower memory overhead. See Section 19.4, “Streaming” for more information.