Loom exposes its full functionality via a versioned REST API.
All endpoints are rooted at /api/v1.
Authentication
All endpoints (except POST /api/v1/auth/login) require a JWT bearer token:
Authorization: Bearer <token>
Obtain a token via the Authentication flow.
Base URL
http://<host>:8092/api/v1
Default port is 8092 (overridable via LOOM_SERVER_REST_PORT).
Interactive API (Swagger UI)
A live Swagger UI is embedded in the Documentation landing page and points to the OpenAPI spec at /api/v1/openapi.json.
Endpoint Reference
Auth
| Method | Path | Description |
|---|---|---|
POST |
|
Login with username + password, returns JWT token |
POST |
|
OAuth2 token exchange |
Assets
| Method | Path | Description |
|---|---|---|
POST |
|
Create a new asset |
GET |
|
List assets (paged) |
POST |
|
Bulk-create assets |
POST |
|
Bulk-update assets |
GET |
|
Load asset by SHA-512 hash |
POST |
|
Update asset by SHA-512 hash |
DELETE |
|
Delete asset by SHA-512 hash |
GET |
|
Load asset by UUID |
POST |
|
Update asset by UUID |
DELETE |
|
Delete asset by UUID |
POST |
|
Add tag to asset |
DELETE |
|
Remove tag from asset |
POST |
|
Add reaction |
GET |
|
List reactions |
GET |
|
Load reaction |
POST |
|
Update reaction |
DELETE |
|
Delete reaction |
POST |
|
Upload binary data |
GET |
|
Download binary data |
DELETE |
|
Delete binary data |
Users
| Method | Path | Description |
|---|---|---|
POST |
|
Create user |
GET |
|
List users (paged) |
GET |
|
Load user |
POST |
|
Update user |
DELETE |
|
Delete user |
Groups
| Method | Path | Description |
|---|---|---|
POST |
|
Create group |
GET |
|
List groups |
GET |
|
Load group |
POST |
|
Update group |
DELETE |
|
Delete group |
Roles
| Method | Path | Description |
|---|---|---|
POST |
|
Create role |
GET |
|
List roles |
GET |
|
Load role |
POST |
|
Update role |
DELETE |
|
Delete role |
Tags
| Method | Path | Description |
|---|---|---|
POST |
|
Create tag |
GET |
|
List tags |
GET |
|
Load tag |
POST |
|
Update tag |
DELETE |
|
Delete tag |
Pipelines
| Method | Path | Description |
|---|---|---|
POST |
|
Create pipeline definition |
GET |
|
List pipelines |
GET |
|
Load pipeline |
POST |
|
Update pipeline |
DELETE |
|
Delete pipeline |
GET |
|
WebSocket: live pipeline events |
Libraries
| Method | Path | Description |
|---|---|---|
POST |
|
Create library |
GET |
|
List libraries |
GET |
|
Load library |
POST |
|
Update library |
DELETE |
|
Delete library |
Collections
| Method | Path | Description |
|---|---|---|
POST |
|
Create collection |
GET |
|
List collections |
GET |
|
Load collection |
POST |
|
Update collection |
DELETE |
|
Delete collection |
Further Endpoints
Additional endpoints exist for: attachments, webhooks, tasks, comments, embeddings, spaces, annotations, asset-pools, asset-components, asset-binaries, tokens (API keys), and node-descriptors.
All follow the same CRUD pattern under /api/v1/<resource>.
Error Responses
All errors return a JSON body with message and optional statusCode fields.
{
"message": "Cannot find asset with uuid 'abc'",
"statusCode": 404
}