diff options
Diffstat (limited to 'packages/open-api/karakeep-openapi-spec.json')
| -rw-r--r-- | packages/open-api/karakeep-openapi-spec.json | 115 |
1 files changed, 102 insertions, 13 deletions
diff --git a/packages/open-api/karakeep-openapi-spec.json b/packages/open-api/karakeep-openapi-spec.json index a8eb2ac2..f3531941 100644 --- a/packages/open-api/karakeep-openapi-spec.json +++ b/packages/open-api/karakeep-openapi-spec.json @@ -25,10 +25,6 @@ } }, "schemas": { - "AssetId": { - "type": "string", - "example": "ieidlxygmwj87oxz5hxttoc8" - }, "BookmarkId": { "type": "string", "example": "ieidlxygmwj87oxz5hxttoc8" @@ -45,6 +41,10 @@ "type": "string", "example": "ieidlxygmwj87oxz5hxttoc8" }, + "AssetId": { + "type": "string", + "example": "ieidlxygmwj87oxz5hxttoc8" + }, "Bookmark": { "type": "object", "properties": { @@ -488,17 +488,33 @@ "highlights", "nextCursor" ] - } - }, - "parameters": { - "AssetId": { - "schema": { - "$ref": "#/components/schemas/AssetId" + }, + "Asset": { + "type": "object", + "properties": { + "assetId": { + "type": "string" + }, + "contentType": { + "type": "string" + }, + "size": { + "type": "number" + }, + "fileName": { + "type": "string" + } }, - "required": true, - "name": "assetId", - "in": "path" + "required": [ + "assetId", + "contentType", + "size", + "fileName" + ] }, + "File to be uploaded": {} + }, + "parameters": { "BookmarkId": { "schema": { "$ref": "#/components/schemas/BookmarkId" @@ -530,6 +546,14 @@ "required": true, "name": "highlightId", "in": "path" + }, + "AssetId": { + "schema": { + "$ref": "#/components/schemas/AssetId" + }, + "required": true, + "name": "assetId", + "in": "path" } } }, @@ -3031,6 +3055,71 @@ } } } + }, + "/assets": { + "post": { + "description": "Upload a new asset", + "summary": "Upload a new asset", + "tags": [ + "Assets" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "requestBody": { + "description": "The data to create the asset with.", + "content": { + "multipart/form-data": { + "schema": { + "type": "object", + "properties": { + "file": { + "$ref": "#/components/schemas/File to be uploaded" + } + } + } + } + } + }, + "responses": { + "200": { + "description": "Details about the created asset", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Asset" + } + } + } + } + } + } + }, + "/assets/{assetId}": { + "get": { + "description": "Get asset by its id", + "summary": "Get a single asset", + "tags": [ + "Assets" + ], + "security": [ + { + "bearerAuth": [] + } + ], + "parameters": [ + { + "$ref": "#/components/parameters/AssetId" + } + ], + "responses": { + "200": { + "description": "Asset content. Content type is determined by the asset type." + } + } + } } } }
\ No newline at end of file |
