Home

Create a bucket

post/bucket/

Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "name": {
7        "type": "string",
8        "examples": [
9          "avatars"
10        ]
11      }
12    },
13    "required": [
14      "name"
15    ]
16  }
17}

Gets all buckets

get/bucket/

Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "array",
5    "items": {
6      "type": "object",
7      "properties": {
8        "id": {
9          "type": "string"
10        },
11        "name": {
12          "type": "string"
13        },
14        "owner": {
15          "type": "string"
16        },
17        "public": {
18          "type": "boolean"
19        },
20        "file_size_limit": {
21          "type": [
22            "null",
23            "integer"
24          ]
25        },
26        "allowed_mime_types": {
27          "type": [
28            "null",
29            "array"
30          ],
31          "items": {
32            "type": "string"
33          }
34        },
35        "created_at": {
36          "type": "string"
37        },
38        "updated_at": {
39          "type": "string"
40        }
41      },
42      "required": [
43        "id",
44        "name"
45      ],
46      "additionalProperties": false,
47      "examples": [
48        {
49          "id": "bucket2",
50          "name": "bucket2",
51          "public": false,
52          "file_size_limit": 1000000,
53          "allowed_mime_types": [
54            "image/png",
55            "image/jpeg"
56          ],
57          "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
58          "created_at": "2021-02-17T04:43:32.770206+00:00",
59          "updated_at": "2021-02-17T04:43:32.770206+00:00"
60        }
61      ],
62      "title": "bucketSchema"
63    }
64  },
65  "example": [
66    {
67      "id": "avatars",
68      "name": "avatars",
69      "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
70      "public": false,
71      "file_size_limit": 1000000,
72      "allowed_mime_types": [
73        "image/png",
74        "image/jpeg"
75      ],
76      "created_at": "2021-02-17T04:43:32.770206+00:00",
77      "updated_at": "2021-02-17T04:43:32.770206+00:00"
78    }
79  ]
80}

Empty a bucket

post/bucket/{bucketId}/empty

Path Parameters
    bucketId
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "message": {
7        "type": "string",
8        "examples": [
9          "Successfully emptied"
10        ]
11      }
12    }
13  }
14}

Get details of a bucket

get/bucket/{bucketId}

Path Parameters
    bucketId
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "id": {
7        "type": "string"
8      },
9      "name": {
10        "type": "string"
11      },
12      "owner": {
13        "type": "string"
14      },
15      "public": {
16        "type": "boolean"
17      },
18      "file_size_limit": {
19        "type": [
20          "null",
21          "integer"
22        ]
23      },
24      "allowed_mime_types": {
25        "type": [
26          "null",
27          "array"
28        ],
29        "items": {
30          "type": "string"
31        }
32      },
33      "created_at": {
34        "type": "string"
35      },
36      "updated_at": {
37        "type": "string"
38      }
39    },
40    "required": [
41      "id",
42      "name"
43    ],
44    "additionalProperties": false
45  },
46  "example": {
47    "id": "bucket2",
48    "name": "bucket2",
49    "public": false,
50    "file_size_limit": 1000000,
51    "allowed_mime_types": [
52      "image/png",
53      "image/jpeg"
54    ],
55    "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
56    "created_at": "2021-02-17T04:43:32.770206+00:00",
57    "updated_at": "2021-02-17T04:43:32.770206+00:00"
58  }
59}

Update properties of a bucket

put/bucket/{bucketId}

Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "message": {
7        "type": "string",
8        "examples": [
9          "Successfully updated"
10        ]
11      }
12    },
13    "required": [
14      "message"
15    ]
16  }
17}

Delete a bucket

delete/bucket/{bucketId}

Path Parameters
    bucketId
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "message": {
7        "type": "string",
8        "examples": [
9          "Successfully deleted"
10        ]
11      }
12    }
13  }
14}

Delete an object

delete/object/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "message": {
7        "type": "string",
8        "examples": [
9          "Successfully deleted"
10        ]
11      }
12    }
13  }
14}

Get object

get/object/{bucketName}/{wildcard}

use GET /object/authenticated/{bucketName} instead

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Default Response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1"
4  }
5}

Update the object at an existing key

put/object/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "Id": {
7        "type": "string"
8      },
9      "Key": {
10        "type": "string",
11        "examples": [
12          "avatars/folder/cat.png"
13        ]
14      }
15    },
16    "required": [
17      "Key"
18    ]
19  }
20}

Upload a new object

post/object/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "Id": {
7        "type": "string"
8      },
9      "Key": {
10        "type": "string",
11        "examples": [
12          "avatars/folder/cat.png"
13        ]
14      }
15    },
16    "required": [
17      "Key"
18    ]
19  }
20}

Delete multiple objects

delete/object/{bucketName}

Path Parameters
    bucketName
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "array",
5    "items": {
6      "type": "object",
7      "properties": {
8        "name": {
9          "type": "string"
10        },
11        "bucket_id": {
12          "type": "string"
13        },
14        "owner": {
15          "type": "string"
16        },
17        "owner_id": {
18          "type": "string"
19        },
20        "version": {
21          "type": "string"
22        },
23        "id": {
24          "anyOf": [
25            {
26              "type": "string"
27            },
28            {
29              "type": "null"
30            }
31          ]
32        },
33        "updated_at": {
34          "anyOf": [
35            {
36              "type": "string"
37            },
38            {
39              "type": "null"
40            }
41          ]
42        },
43        "created_at": {
44          "anyOf": [
45            {
46              "type": "string"
47            },
48            {
49              "type": "null"
50            }
51          ]
52        },
53        "last_accessed_at": {
54          "anyOf": [
55            {
56              "type": "string"
57            },
58            {
59              "type": "null"
60            }
61          ]
62        },
63        "metadata": {
64          "anyOf": [
65            {
66              "type": "object",
67              "additionalProperties": true
68            },
69            {
70              "type": "null"
71            }
72          ]
73        },
74        "buckets": {
75          "type": "object",
76          "properties": {
77            "id": {
78              "type": "string"
79            },
80            "name": {
81              "type": "string"
82            },
83            "owner": {
84              "type": "string"
85            },
86            "public": {
87              "type": "boolean"
88            },
89            "file_size_limit": {
90              "type": [
91                "null",
92                "integer"
93              ]
94            },
95            "allowed_mime_types": {
96              "type": [
97                "null",
98                "array"
99              ],
100              "items": {
101                "type": "string"
102              }
103            },
104            "created_at": {
105              "type": "string"
106            },
107            "updated_at": {
108              "type": "string"
109            }
110          },
111          "required": [
112            "id",
113            "name"
114          ],
115          "additionalProperties": false,
116          "examples": [
117            {
118              "id": "bucket2",
119              "name": "bucket2",
120              "public": false,
121              "file_size_limit": 1000000,
122              "allowed_mime_types": [
123                "image/png",
124                "image/jpeg"
125              ],
126              "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
127              "created_at": "2021-02-17T04:43:32.770206+00:00",
128              "updated_at": "2021-02-17T04:43:32.770206+00:00"
129            }
130          ]
131        }
132      },
133      "required": [
134        "name"
135      ],
136      "additionalProperties": false,
137      "examples": [
138        {
139          "name": "folder/cat.png",
140          "bucket_id": "avatars",
141          "owner": "317eadce-631a-4429-a0bb-f19a7a517b4a",
142          "id": "eaa8bdb5-2e00-4767-b5a9-d2502efe2196",
143          "updated_at": "2021-04-06T16:30:35.394674+00:00",
144          "created_at": "2021-04-06T16:30:35.394674+00:00",
145          "last_accessed_at": "2021-04-06T16:30:35.394674+00:00",
146          "metadata": {
147            "size": 1234
148          }
149        }
150      ],
151      "title": "objectSchema"
152    }
153  }
154}

Retrieve an object

get/object/authenticated/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Error response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1",
4    "description": "Error response"
5  }
6}

Generate a presigned url to retrieve an object

post/object/sign/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "signedURL": {
7        "type": "string",
8        "examples": [
9          "/object/sign/avatars/folder/cat.png?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cmwiOiJhdmF0YXJzL2ZvbGRlci9jYXQucG5nIiwiaWF0IjoxNjE3NzI2MjczLCJleHAiOjE2MTc3MjcyNzN9.s7Gt8ME80iREVxPhH01ZNv8oUn4XtaWsmiQ5csiUHn4"
10        ]
11      }
12    },
13    "required": [
14      "signedURL"
15    ]
16  }
17}

Retrieve an object via a presigned URL

get/object/sign/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    download
    Optional
    no type
    token
    REQUIRED
    no type
Responses

Error response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1",
4    "description": "Error response"
5  }
6}

Generate presigned urls to retrieve objects

post/object/sign/{bucketName}

Path Parameters
    bucketName
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "array",
5    "items": {
6      "type": "object",
7      "properties": {
8        "error": {
9          "error": [
10            "string",
11            "null"
12          ],
13          "examples": [
14            "Either the object does not exist or you do not have access to it"
15          ]
16        },
17        "path": {
18          "type": "string",
19          "examples": [
20            "folder/cat.png"
21          ]
22        },
23        "signedURL": {
24          "type": [
25            "null",
26            "string"
27          ],
28          "examples": [
29            "/object/sign/avatars/folder/cat.png?token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1cmwiOiJhdmF0YXJzL2ZvbGRlci9jYXQucG5nIiwiaWF0IjoxNjE3NzI2MjczLCJleHAiOjE2MTc3MjcyNzN9.s7Gt8ME80iREVxPhH01ZNv8oUn4XtaWsmiQ5csiUHn4"
30          ]
31        }
32      },
33      "required": [
34        "error",
35        "path",
36        "signedURL"
37      ]
38    }
39  }
40}

Moves an object

post/object/move

Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "message": {
7        "type": "string",
8        "examples": [
9          "Successfully moved"
10        ]
11      }
12    },
13    "required": [
14      "message"
15    ]
16  }
17}

Search for objects under a prefix

post/object/list/{bucketName}

Path Parameters
    bucketName
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "array",
5    "items": {
6      "type": "object",
7      "properties": {
8        "name": {
9          "type": "string"
10        },
11        "bucket_id": {
12          "type": "string"
13        },
14        "owner": {
15          "type": "string"
16        },
17        "owner_id": {
18          "type": "string"
19        },
20        "version": {
21          "type": "string"
22        },
23        "id": {
24          "anyOf": [
25            {
26              "type": "string"
27            },
28            {
29              "type": "null"
30            }
31          ]
32        },
33        "updated_at": {
34          "anyOf": [
35            {
36              "type": "string"
37            },
38            {
39              "type": "null"
40            }
41          ]
42        },
43        "created_at": {
44          "anyOf": [
45            {
46              "type": "string"
47            },
48            {
49              "type": "null"
50            }
51          ]
52        },
53        "last_accessed_at": {
54          "anyOf": [
55            {
56              "type": "string"
57            },
58            {
59              "type": "null"
60            }
61          ]
62        },
63        "metadata": {
64          "anyOf": [
65            {
66              "type": "object",
67              "additionalProperties": true
68            },
69            {
70              "type": "null"
71            }
72          ]
73        },
74        "buckets": {
75          "type": "object",
76          "properties": {
77            "id": {
78              "type": "string"
79            },
80            "name": {
81              "type": "string"
82            },
83            "owner": {
84              "type": "string"
85            },
86            "public": {
87              "type": "boolean"
88            },
89            "file_size_limit": {
90              "type": [
91                "null",
92                "integer"
93              ]
94            },
95            "allowed_mime_types": {
96              "type": [
97                "null",
98                "array"
99              ],
100              "items": {
101                "type": "string"
102              }
103            },
104            "created_at": {
105              "type": "string"
106            },
107            "updated_at": {
108              "type": "string"
109            }
110          },
111          "required": [
112            "id",
113            "name"
114          ],
115          "additionalProperties": false,
116          "examples": [
117            {
118              "id": "bucket2",
119              "name": "bucket2",
120              "public": false,
121              "file_size_limit": 1000000,
122              "allowed_mime_types": [
123                "image/png",
124                "image/jpeg"
125              ],
126              "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
127              "created_at": "2021-02-17T04:43:32.770206+00:00",
128              "updated_at": "2021-02-17T04:43:32.770206+00:00"
129            }
130          ]
131        }
132      },
133      "required": [
134        "name"
135      ],
136      "additionalProperties": false,
137      "examples": [
138        {
139          "name": "folder/cat.png",
140          "bucket_id": "avatars",
141          "owner": "317eadce-631a-4429-a0bb-f19a7a517b4a",
142          "id": "eaa8bdb5-2e00-4767-b5a9-d2502efe2196",
143          "updated_at": "2021-04-06T16:30:35.394674+00:00",
144          "created_at": "2021-04-06T16:30:35.394674+00:00",
145          "last_accessed_at": "2021-04-06T16:30:35.394674+00:00",
146          "metadata": {
147            "size": 1234
148          }
149        }
150      ]
151    }
152  }
153}

Retrieve object info

get/object/info/authenticated/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Query Parameters
    authorization
    REQUIRED
    no type
Responses

Error response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1",
4    "description": "Error response"
5  }
6}

Copies an object

post/object/copy

Query Parameters
    authorization
    REQUIRED
    no type
Responses

Successful response

1{
2  "schema": {
3    "description": "Successful response",
4    "type": "object",
5    "properties": {
6      "Key": {
7        "type": "string",
8        "examples": [
9          "folder/destination.png"
10        ]
11      }
12    },
13    "required": [
14      "Key"
15    ]
16  }
17}

Retrieve an object from a public bucket

get/object/public/{bucketName}/{wildcard}

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Responses

Error response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1",
4    "description": "Error response"
5  }
6}

Get object info

get/object/info/public/{bucketName}/{wildcard}

returns object info

Path Parameters
    bucketName
    REQUIRED
    no type
    *
    REQUIRED
    no type
Responses

Default Response

1{
2  "schema": {
3    "$ref": "#/components/schemas/def-1"
4  }
5}