Dendrite Pulse API (0.1.0)

Download OpenAPI specification:

License: MIT

API reference for dendrite-pulse. Follows JSON:API conventions; the ping endpoint confirms API availability.

Health check

Returns a JSON:API document confirming the API is responsive.

Responses

Response samples

Content type
application/vnd.api+json
{}

Files

List configured file roots

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": [
    ],
  • "links": {}
}

Get directory listing or download a file

path Parameters
resourcePath
required
string

Virtual path starting with the configured root (e.g., public/reports/q1.xlsx). When the virtual root is /, URL-encode the leading slash as %2F.

query Parameters
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 - for descending order. Supported fields: name, resource_kind, size_bytes, permission_mode, user, group, user_id, group_id, mime_type, accessed_at, modified_at, changed_at, born_at.

Responses

Response samples

Content type
{
  • "data": [
    ],
  • "links": {}
}

Upload a file into a virtual folder

path Parameters
resourcePath
required
string

Virtual folder path relative to the configured root (e.g., public/uploads).

header Parameters
If-None-Match
string

Use * to enforce create-only behavior.

Request Body schema: multipart/form-data
required
file
string <binary>

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Create or replace a file at an explicit path

path Parameters
resourcePath
required
string

Virtual path including filename (e.g., public/uploads/report.pdf).

header Parameters
If-None-Match
string

Use * to enforce create-only behavior.

If-Match
string

Require the uploaded file to match the provided weak ETag.

Request Body schema:
required
string <binary>

Responses

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Move or rename a file using JSON payload

path Parameters
resourcePath
required
string

Virtual path including filename for the source file (e.g., public/uploads/report.pdf).

header Parameters
If-Match
string

Require the source file to match the provided weak ETag.

Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "op": "move",
  • "to": "string",
  • "overwrite": false
}

Response samples

Content type
application/vnd.api+json
{
  • "data": {
    }
}

Delete a file or folder

path Parameters
resourcePath
required
string

Virtual path of the file or folder (e.g., public/uploads/report.pdf).

query Parameters
recursive
boolean

Required for non-empty folders. Ignored for files and symlinks.

header Parameters
If-Match
string

Require the target to match the provided weak ETag. For recursive deletes, the ETag applies to the folder only.

Responses

Response samples

Content type
application/vnd.api+json
{
  • "errors": [
    ]
}