Assets API
Endpoints for managing uploaded asset files.
List Assets
GET /api/assets
Returns all assets, optionally filtered by search query or folder prefix.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
q | string | Search query (optional) |
prefix | string | Filter by folder prefix (optional, e.g. fonts/) |
Example
bash
curl http://localhost:3000/api/assets
curl "http://localhost:3000/api/assets?prefix=fonts/"Response
json
[
{
"name": "logo.png",
"type": "file",
"size": 24576,
"mime": "image/png"
},
{
"name": "fonts",
"type": "folder"
}
]Upload Asset
POST or PUT /api/assets/:name
Upload a file as an asset. Accepts binary, base64 JSON, or multipart.
Path Parameters
| Parameter | Description |
|---|---|
name | Asset filename (supports subfolder paths like fonts/custom.ttf) |
Binary upload
bash
curl -X POST http://localhost:3000/api/assets/logo.png \
-H "Content-Type: image/png" \
--data-binary @logo.pngBase64 JSON upload
bash
curl -X POST http://localhost:3000/api/assets/logo.png \
-H "Content-Type: application/json" \
-d '\''{"content": "<base64-encoded-data>"}'\''Get Asset
GET /api/assets/:name
Download an asset file.
Example
bash
curl http://localhost:3000/api/assets/logo.png -o logo.pngDelete Asset
DELETE /api/assets/:name
Delete an asset file.
Example
bash
curl -X DELETE http://localhost:3000/api/assets/old-logo.pngResponse
204 No Content
Asset Folders
Create Folder
POST /api/assets/folders
json
{
"name": "fonts"
}Delete Folder
DELETE /api/assets/folders/:name
bash
curl -X DELETE http://localhost:3000/api/assets/folders/fonts