aboutsummaryrefslogtreecommitdiffstats
path: root/packages/open-api/karakeep-openapi-spec.json
diff options
context:
space:
mode:
Diffstat (limited to 'packages/open-api/karakeep-openapi-spec.json')
-rw-r--r--packages/open-api/karakeep-openapi-spec.json115
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