RavenDB version 2.0. Other versions:

HTTP API - Overview

RavenDB provides an HTTP API for accessing and manipulating data on the server. This API sits next to the C# Client API, providing most of the same functionality, but with a platform agnostic, web friendly interface. Using the HTTP API, it's possible to write a fully functioning RavenDB application using just JavaScript and HTML.

As part of being web friendly, the HTTP API follows commonly understood RESTful principles. For example, database documents are addressable resources via unique URLs and those resources can be acted upon using the HTTP verbs GET, PUT, POST and DELETE.

However, while being RESTful is a goal of the HTTP API, it is secondary to the goal of exposing easy to use and powerful functionality such as batching and multi-document transactions.

The remaining sections of this documentation explain how to use this HTTP API to build powerful web applications. Throughout these sections example request and responses are shown. These requests were created using the powerful command line tool, curl. More details about curl can be found at: http://curl.haxx.se/docs/manual.html

Comments add new comment

The comments section is for user feedback or community content. If you seek assistance or have any questions, please post them at our support forums.

REPLY Posted by Sudarshan on

Do you have a Java Client API in your roadmap ?

Oren Eini
REPLY Posted by Oren Eini on

Hi, This is certainly something that we consider. We haven't yet decided if we will offer a Java client API or will let the community do that. It mostly depend on the customer feedback that we will get.

Johannes Gustafsson
REPLY Posted by Johannes Gustafsson on

What would the corresponding urls be for a tenant?

Fitzchak Yitzchaki
REPLY Posted by Fitzchak Yitzchaki on


Fitzchak Yitzchaki
REPLY Posted by Fitzchak Yitzchaki on

Sorry... it should be http://localhost:8080/databases/{tenantName}/docs/{document_id}

Asger Hallas
REPLY Posted by Asger Hallas on

Is there a way to get the metadata for the document out this way? It does not seem to be included in the respons from /docs/{document_id}.

Asger Hallas
REPLY Posted by Asger Hallas on

Oh. It's in the headers. Did not see that.

Mike O'Shea
REPLY Posted by Mike O'Shea on

What about authentication to do admin tasks via HTTP api? IOW, how does one script an admin task via the HTTP API?