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": "integer"
22        },
23        "allowed_mime_types": {
24          "type": [
25            "null",
26            "array"
27          ],
28          "items": {
29            "type": "string"
30          }
31        },
32        "created_at": {
33          "type": "string"
34        },
35        "updated_at": {
36          "type": "string"
37        }
38      },
39      "required": [
40        "id",
41        "name"
42      ],
43      "additionalProperties": false,
44      "examples": [
45        {
46          "id": "bucket2",
47          "name": "bucket2",
48          "public": false,
49          "file_size_limit": 1000000,
50          "allowed_mime_types": [
51            "image/png",
52            "image/jpeg"
53          ],
54          "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
55          "created_at": "2021-02-17T04:43:32.770206+00:00",
56          "updated_at": "2021-02-17T04:43:32.770206+00:00"
57        }
58      ],
59      "title": "bucketSchema"
60    }
61  },
62  "example": [
63    {
64      "id": "avatars",
65      "name": "avatars",
66      "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
67      "public": false,
68      "file_size_limit": 1000000,
69      "allowed_mime_types": [
70        "image/png",
71        "image/jpeg"
72      ],
73      "created_at": "2021-02-17T04:43:32.770206+00:00",
74      "updated_at": "2021-02-17T04:43:32.770206+00:00"
75    }
76  ]
77}

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": "integer"
20      },
21      "allowed_mime_types": {
22        "type": [
23          "null",
24          "array"
25        ],
26        "items": {
27          "type": "string"
28        }
29      },
30      "created_at": {
31        "type": "string"
32      },
33      "updated_at": {
34        "type": "string"
35      }
36    },
37    "required": [
38      "id",
39      "name"
40    ],
41    "additionalProperties": false
42  },
43  "example": {
44    "id": "bucket2",
45    "name": "bucket2",
46    "public": false,
47    "file_size_limit": 1000000,
48    "allowed_mime_types": [
49      "image/png",
50      "image/jpeg"
51    ],
52    "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
53    "created_at": "2021-02-17T04:43:32.770206+00:00",
54    "updated_at": "2021-02-17T04:43:32.770206+00:00"
55  }
56}

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": "integer"
88            },
89            "allowed_mime_types": {
90              "type": [
91                "null",
92                "array"
93              ],
94              "items": {
95                "type": "string"
96              }
97            },
98            "created_at": {
99              "type": "string"
100            },
101            "updated_at": {
102              "type": "string"
103            }
104          },
105          "required": [
106            "id",
107            "name"
108          ],
109          "additionalProperties": false,
110          "examples": [
111            {
112              "id": "bucket2",
113              "name": "bucket2",
114              "public": false,
115              "file_size_limit": 1000000,
116              "allowed_mime_types": [
117                "image/png",
118                "image/jpeg"
119              ],
120              "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
121              "created_at": "2021-02-17T04:43:32.770206+00:00",
122              "updated_at": "2021-02-17T04:43:32.770206+00:00"
123            }
124          ]
125        }
126      },
127      "required": [
128        "name"
129      ],
130      "additionalProperties": false,
131      "examples": [
132        {
133          "name": "folder/cat.png",
134          "bucket_id": "avatars",
135          "owner": "317eadce-631a-4429-a0bb-f19a7a517b4a",
136          "id": "eaa8bdb5-2e00-4767-b5a9-d2502efe2196",
137          "updated_at": "2021-04-06T16:30:35.394674+00:00",
138          "created_at": "2021-04-06T16:30:35.394674+00:00",
139          "last_accessed_at": "2021-04-06T16:30:35.394674+00:00",
140          "metadata": {
141            "size": 1234
142          }
143        }
144      ],
145      "title": "objectSchema"
146    }
147  }
148}

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": "integer"
88            },
89            "allowed_mime_types": {
90              "type": [
91                "null",
92                "array"
93              ],
94              "items": {
95                "type": "string"
96              }
97            },
98            "created_at": {
99              "type": "string"
100            },
101            "updated_at": {
102              "type": "string"
103            }
104          },
105          "required": [
106            "id",
107            "name"
108          ],
109          "additionalProperties": false,
110          "examples": [
111            {
112              "id": "bucket2",
113              "name": "bucket2",
114              "public": false,
115              "file_size_limit": 1000000,
116              "allowed_mime_types": [
117                "image/png",
118                "image/jpeg"
119              ],
120              "owner": "4d56e902-f0a0-4662-8448-a4d9e643c142",
121              "created_at": "2021-02-17T04:43:32.770206+00:00",
122              "updated_at": "2021-02-17T04:43:32.770206+00:00"
123            }
124          ]
125        }
126      },
127      "required": [
128        "name"
129      ],
130      "additionalProperties": false,
131      "examples": [
132        {
133          "name": "folder/cat.png",
134          "bucket_id": "avatars",
135          "owner": "317eadce-631a-4429-a0bb-f19a7a517b4a",
136          "id": "eaa8bdb5-2e00-4767-b5a9-d2502efe2196",
137          "updated_at": "2021-04-06T16:30:35.394674+00:00",
138          "created_at": "2021-04-06T16:30:35.394674+00:00",
139          "last_accessed_at": "2021-04-06T16:30:35.394674+00:00",
140          "metadata": {
141            "size": 1234
142          }
143        }
144      ]
145    }
146  }
147}

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}