[SETUP] Added README and LICENSE

This commit is contained in:
Karel Minarik 2013-05-24 11:23:25 +02:00
parent 91a2150373
commit 3f8a861768
2 changed files with 65 additions and 0 deletions

13
rest-api-spec/LICENSE.txt Normal file
View File

@ -0,0 +1,13 @@
Copyright (c) 2013 Elasticsearch
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View File

@ -0,0 +1,52 @@
# Elasticsearch REST API JSON specification
This repository contains a collection of JSON files which describe the [Elasticsearch](http://elasticsearch.org) HTTP API.
Their purpose is to formalize and standardize the API, to facilitate development of libraries and integrations.
Example for the ["Create Index"](http://www.elasticsearch.org/guide/reference/api/admin-indices-create-index/) API:
```json
{
"indices.create": {
"documentation": "http://elasticsearch.org/guide/reference/mapping/",
"methods": ["PUT", "POST"],
"url": {
"path": "/{index}",
"paths": ["/{index}"],
"parts": {
"index": {}
},
"params": {
"index": {},
"timeout": {}
}
},
"body": {
}
}
}
```
The specification contains:
* The _name_ of the API (`indices.create`), which usually corresponds to the client calls
* Link to the documentation at <http://elasticsearch.org>
* List of HTTP methods for the endpoint
* URL specification: path, parts, parameters
* Whether body is allowed for the endpoint or not
The `methods` and `url.paths` elements list all possible HTTP methods and URLs for the endpoint;
it is the responsibility of the developer to use this information for a sensible API on the target platform.
The repository also contains a utility script in Ruby which will scan and parse the Elasticsearch source code
to extract the information from the Java source files. Run `bundle install` and then `thor help api:generate:spec`.
## License
This software is licensed under the Apache 2 license.