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      "Key": {
7        "type": "string",
8        "examples": [
9          "avatars/folder/cat.png"
10        ]
11      }
12    },
13    "required": [
14      "Key"
15    ]
16  }
17}

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      "Key": {
7        "type": "string",
8        "examples": [
9          "avatars/folder/cat.png"
10        ]
11      }
12    },
13    "required": [
14      "Key"
15    ]
16  }
17}

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

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

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}