Media
Media assets and folders — register an upload, browse, organize, delete.
Media assets register a filename + storage path and return a signed-style upload URL the client can PUT the file body to. Folders are a simple parent/child tree.
Source: apps/api/src/routes/admin/media.ts.
Endpoints
| Method | Path | Description |
|---|---|---|
| POST | /admin/projects/:projectId/media | Register an asset, get an upload_url. |
| GET | /admin/projects/:projectId/media | Paginated list; optional ?folder_id=. |
| DELETE | /admin/projects/:projectId/media/:assetId | Delete an asset row. |
| POST | /admin/projects/:projectId/media/folders | Create a folder. |
| GET | /admin/projects/:projectId/media/folders | List folders (optional ?parent_id=). |
| DELETE | /admin/projects/:projectId/media/folders/:folderId | Delete a folder. |
POST /admin/projects/:projectId/media
Register a media asset. The storage path is <projectId>/<ms>_<filename>.
Request (CreateMediaAssetInput)
| Field | Type | Required | Default |
|---|---|---|---|
filename | string | yes | — |
mime_type | string | yes | — |
size_bytes | number | no | null |
folder_id | uuid | no | null |
alt_text | string | no | null |
metadata | object | no | {} |
Response 201
Try it:
POST
developer auth/admin/projects/%7B%7BprojectId%7D%7D/mediacurl -X POST 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
GET /admin/projects/:projectId/media
Query
| Param | Default | Description |
|---|---|---|
limit | 50 | |
offset | 0 | |
folder_id | — | Restrict to a folder. |
Response 200
Try it:
GET
developer auth/admin/projects/%7B%7BprojectId%7D%7D/mediacurl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
DELETE /admin/projects/:projectId/media/:assetId
Try it:
DELETE
developer auth/admin/projects/%7B%7BprojectId%7D%7D/media/%7B%7BassetId%7D%7Dcurl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media/%7B%7BassetId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
POST /admin/projects/:projectId/media/folders
Request (CreateMediaFolderInput)
| Field | Type | Required |
|---|---|---|
name | string | yes |
parent_id | uuid | no |
Response 201
Try it:
POST
developer auth/admin/projects/%7B%7BprojectId%7D%7D/media/folderscurl -X POST 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media/folders'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
GET /admin/projects/:projectId/media/folders
Query
| Param | Description |
|---|---|
parent_id | If omitted, returns only root folders (parent_id IS NULL). |
Try it:
GET
developer auth/admin/projects/%7B%7BprojectId%7D%7D/media/folderscurl -X GET 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media/folders'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl:
DELETE /admin/projects/:projectId/media/folders/:folderId
Try it:
DELETE
developer auth/admin/projects/%7B%7BprojectId%7D%7D/media/folders/%7B%7BfolderId%7D%7Dcurl -X DELETE 'https://api.amba.dev/admin/projects/%7B%7BprojectId%7D%7D/media/folders/%7B%7BfolderId%7D%7D'Loading auth… Configure auth in the settings drawer (top-right) to run this request.
Curl: