Download OpenAPI specification:
API reference for dendrite-pulse. Follows JSON:API conventions; the ping endpoint confirms API availability.
{- "meta": {
- "page": {
- "currentPage": 1,
- "from": 1,
- "lastPage": 1,
- "perPage": 1,
- "to": 1,
- "total": 1
}
}, - "links": {
}, - "data": {
- "type": "ping",
- "id": "ping",
- "attributes": {
- "message": "pong"
}
}
}{- "data": [
- {
- "type": "files",
- "id": "/public/reports/summary.pdf",
- "attributes": {
- "name": "report.pdf",
- "virtual_path": "/public/reports/report.pdf",
- "resource_kind": "file",
- "size_bytes": 2048,
- "permission_mode": "0644",
- "user": "johndoe",
- "group": "users",
- "user_id": 1000,
- "group_id": 1000,
- "mime_type": "application/pdf",
- "etag": "W/\"140737488355328-2048-1734547200000000000\"",
- "accessed_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z",
- "changed_at": "2019-08-24T14:15:22Z",
- "born_at": "2019-08-24T14:15:22Z"
},
}
],
}| resourcePath required | string Virtual path starting with the configured root (e.g., |
| page[limit] | integer [ 1 .. 500 ] Default: 200 Maximum number of entries returned. Must be between 1 and 500. Defaults to 200 when omitted. |
| page[offset] | integer >= 0 Default: 0 Zero-based offset into the directory listing. |
| sort | string Examples: sort=name sort=-size_bytes Single sort field. Prefix with |
{- "data": [
- {
- "type": "files",
- "id": "/public/reports/summary.pdf",
- "attributes": {
- "name": "report.pdf",
- "virtual_path": "/public/reports/report.pdf",
- "resource_kind": "file",
- "size_bytes": 2048,
- "permission_mode": "0644",
- "user": "johndoe",
- "group": "users",
- "user_id": 1000,
- "group_id": 1000,
- "mime_type": "application/pdf",
- "etag": "W/\"140737488355328-2048-1734547200000000000\"",
- "accessed_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z",
- "changed_at": "2019-08-24T14:15:22Z",
- "born_at": "2019-08-24T14:15:22Z"
},
}
],
}| resourcePath required | string Virtual folder path relative to the configured root (e.g., |
| If-None-Match | string Use |
| file | string <binary> |
{- "data": {
- "type": "files",
- "id": "/public/reports/summary.pdf",
- "attributes": {
- "name": "report.pdf",
- "virtual_path": "/public/reports/report.pdf",
- "resource_kind": "file",
- "size_bytes": 2048,
- "permission_mode": "0644",
- "user": "johndoe",
- "group": "users",
- "user_id": 1000,
- "group_id": 1000,
- "mime_type": "application/pdf",
- "etag": "W/\"140737488355328-2048-1734547200000000000\"",
- "accessed_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z",
- "changed_at": "2019-08-24T14:15:22Z",
- "born_at": "2019-08-24T14:15:22Z"
},
}
}| resourcePath required | string Virtual path including filename (e.g., |
| If-None-Match | string Use |
| If-Match | string Require the uploaded file to match the provided weak ETag. |
{- "data": {
- "type": "files",
- "id": "/public/reports/summary.pdf",
- "attributes": {
- "name": "report.pdf",
- "virtual_path": "/public/reports/report.pdf",
- "resource_kind": "file",
- "size_bytes": 2048,
- "permission_mode": "0644",
- "user": "johndoe",
- "group": "users",
- "user_id": 1000,
- "group_id": 1000,
- "mime_type": "application/pdf",
- "etag": "W/\"140737488355328-2048-1734547200000000000\"",
- "accessed_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z",
- "changed_at": "2019-08-24T14:15:22Z",
- "born_at": "2019-08-24T14:15:22Z"
},
}
}| resourcePath required | string Virtual path including filename for the source file (e.g., |
| If-Match | string Require the source file to match the provided weak ETag. |
| op required | string Value: "move" Operation to perform. |
| to required | string API-relative destination path (e.g., /api/v1/files/public/report.pdf). |
| overwrite | boolean Default: false Overwrite destination if it exists. |
{- "op": "move",
- "to": "string",
- "overwrite": false
}{- "data": {
- "type": "files",
- "id": "/public/reports/summary.pdf",
- "attributes": {
- "name": "report.pdf",
- "virtual_path": "/public/reports/report.pdf",
- "resource_kind": "file",
- "size_bytes": 2048,
- "permission_mode": "0644",
- "user": "johndoe",
- "group": "users",
- "user_id": 1000,
- "group_id": 1000,
- "mime_type": "application/pdf",
- "etag": "W/\"140737488355328-2048-1734547200000000000\"",
- "accessed_at": "2019-08-24T14:15:22Z",
- "modified_at": "2019-08-24T14:15:22Z",
- "changed_at": "2019-08-24T14:15:22Z",
- "born_at": "2019-08-24T14:15:22Z"
},
}
}| resourcePath required | string Virtual path of the file or folder (e.g., |
| recursive | boolean Required for non-empty folders. Ignored for files and symlinks. |
| If-Match | string Require the target to match the provided weak ETag. For recursive deletes, the ETag applies to the folder only. |
{- "errors": [
- {
- "status": "400",
- "title": "Bad Request",
- "detail": "Invalid request payload."
}
]
}