minio/docs/api/minio.md
Harshavardhana b12a493db8 Update Docs
2015-02-08 17:50:18 -08:00

215 lines
3.7 KiB
Markdown

# Minio API
## General Overview
Minio stores and retrieves data in a logical format based upon REST based URLs.
### Note about examples:
XML and JSON results have been prettified for readability. As a result, the Content-Length may not match exactly.
```
Form:
http://minio.example.com/{bucket}/{path:.*}
Examples:
http://minio.example.com/bucket/object
http://minio.example.com/bucket/path/to/object
http://minio.example.com/bucket2/path/to/object
```
## GET /
List buckets accessible by the user.
The default output is XML. JSON output may also be requested by adding the following header:
```
Accept: "application/json"
```
Example:
```
GET / HTTP/1.1
```
```
HTTP/1.1 200 OK
Connection: close
Content-Type: application/xml
Server: Minio
Date: Mon, 02 Feb 2015 22:09:00 GMT
Content-Length: 306
<ListAllMyBucketsResult>
<Owner>
<ID>minio</ID>
<DisplayName>minio</DisplayName>
</Owner>
<Buckets>
<Bucket>
<Name>bucket</Name>
<CreationDate>2015-01-30T15:20:09.013Z</CreationDate>
</Bucket>
<Bucket>
<Name>minio</Name>
<CreationDate>2015-01-27T17:46:28.264Z</CreationDate>
</Bucket>
</Buckets>
</ListAllMyBucketsResult>
```
```
GET / HTTP/1.1
Accept: application/json
```
```
HTTP/1.1 200 OK
Connection: close
Content-Type: application/json
Server: Minio
Date: Wed, 04 Feb 2015 21:59:10 GMT
Content-Length: 223
{
"Owner" : {
"ID" : "minio"
"DisplayName" : "minio",
},
"Buckets" : {
"Bucket" : [
{
"Name" : "bucket",
"CreationDate" : "2015-01-30T15:20:09.013Z"
},
{
"Name" : "minio",
"CreationDate" : "2015-02-02T14:52:34.914Z"
}
]
}
}
```
NOTE: ``Accept: application/json`` is Minio Object Server specific
## GET /{bucket}/
Lists objects in a bucket.
Example:
```
GET /minio/ HTTP/1.1
```
```
HTTP/1.1 200 OK
Connection: close
Content-Type: application/xml
Server: Minio
Date: Tue, 03 Feb 2015 00:57:59 GMT
Content-Length: 579
<ListBucketResult>
<Name>minio</Name>
<Marker/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>false</IsTruncated>
<Contents>
<Key>hello</Key>
<LastModified>2015-02-02T14:52:34.914Z</LastModified>
<ETag>minio#hello</ETag>
<Size>75</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>minio</ID>
<DisplayName>minio</DisplayName>
</Owner>
</Contents>
<Contents>
<Key>one</Key>
<LastModified>2015-01-27T17:46:28.264Z</LastModified>
<ETag>minio#one</ETag>
<Size>4096</Size>
<StorageClass>STANDARD</StorageClass>
<Owner>
<ID>minio</ID>
<DisplayName>minio</DisplayName>
</Owner>
</Contents>
</ListBucketResult>
```
## PUT /{bucket}/
Example:
```
PUT /books/ HTTP/1.1
```
```
HTTP/1.1 200 OK
Connection: close
Server: Minio
Date: Mon, 02 Feb 2015 22:05:43 GMT
Content-Length: 0
Content-Type: text/plain; charset=utf-8
```
EXAMPLE
## GET /{bucket}/{object}
```
GET /minio/hello HTTP/1.1
```
```
HTTP/1.1 200 OK
Connection: close
Content-Length: 75
Content-Type: text/plain
Etag: minio#hello
Last-Modified: Mon, 02 Feb 2015 14:52:34 PST
Server: Minio
Date: Mon, 02 Feb 2015 22:59:51 GMT
<?xml version="1.0"?>
<html>
<head/>
<body>Hello World!</body>
</html>
```
Retrieves an object from a bucket
## HEAD /{bucket}/{object}
```
HEAD /minio/hello HTTP/1.1
```
```
HTTP/1.1 200 OK
Connection: close
Content-Length: 75
Content-Type: text/plain
Etag: minio#hello
Last-Modified: Mon, 02 Feb 2015 14:52:34 PST
Server: Minio
Date: Mon, 02 Feb 2015 23:02:30 GMT
```
Retrieves meta-data about an object
## PUT /{bucket}/{object}
Stores an object
```
PUT /minio/hello HTTP/1.1
Content-Length: 75
<?xml version="1.0"?>
<html>
<head/>
<body>Hello World!</body>
</html>
```
```
HTTP/1.1 200 OK
```