Skip to content

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 ​

ParameterTypeDescription
qstringSearch query (optional)
prefixstringFilter 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 ​

ParameterDescription
nameAsset 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.png

Base64 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.png

Delete Asset ​

DELETE /api/assets/:name

Delete an asset file.

Example ​

bash
curl -X DELETE http://localhost:3000/api/assets/old-logo.png

Response ​

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

Design and Dev by David Lam