Liking cljdoc? Tell your friends :D

hive-kdenlive.kdenlive.routes

Route catalog for the Kdenlive scripting fork's HTTP transport — pure data.

The catalog is the single source: each route names its id, HTTP method, path template, and required/optional params. The client boundary walks this data; adding an endpoint is a catalog entry, never new client code.

Portable: core + string only.

Route catalog for the Kdenlive scripting fork's HTTP transport — pure data.

The catalog is the single source: each route names its id, HTTP method,
path template, and required/optional params. The client boundary walks
this data; adding an endpoint is a catalog entry, never new client code.

Portable: core + string only.
raw docstring

by-idclj/s

Route id -> catalog entry.

Route id -> catalog entry.
sourceraw docstring

catalogclj/s

Every endpoint the transport knows. Path templates use {param} holes, filled from the call's :params. :result names the response field the server wraps the payload in, where the C++ names one.

Verified against the scripting fork's route table (kdenlive-mcp/kdenlive-server/src/scripting/routetable.cpp, 2026-09-13, extended 2026-09-15, re-read 2026-09-20): every :method/:path below is registered there. Params use the server's camelCase wire names; a {id} path hole is the fork's clipId.

A row declares what a CALLER may send, which is not always what the fork binds: see :timeline/insert-clip, where the headless transport accepts two params the HTTP one has to reach by a second call.

Every endpoint the transport knows. Path templates use {param} holes,
filled from the call's :params. :result names the response field the
server wraps the payload in, where the C++ names one.

Verified against the scripting fork's route table
(kdenlive-mcp/kdenlive-server/src/scripting/routetable.cpp, 2026-09-13,
extended 2026-09-15, re-read 2026-09-20): every :method/:path below is
registered there. Params use the server's camelCase wire names; a {id}
path hole is the fork's clipId.

A row declares what a CALLER may send, which is not always what the fork
binds: see :timeline/insert-clip, where the headless transport accepts two
params the HTTP one has to reach by a second call.
sourceraw docstring

declared-paramsclj/s

(declared-params entry)

Every param key entry accepts: required, optional and path holes.

Every param key `entry` accepts: required, optional and path holes.
sourceraw docstring

requestclj/s

(request id params)

Build a request map from a route id and call params. Returns {:ok {:method :get|:post|:put|:delete :path string :body map-or-nil}} or {:error :routes/unknown-route | :routes/missing-params | :routes/undeclared-params ...}. :post and :put carry the params as the body: the fork reads PUT bodies too (/project/profile, /timeline/clips/{id}/opacity).

A param the route does not declare is REFUSED rather than passed along. The body used to be whatever the caller handed over, so a key the fork does not bind was encoded, sent, ignored and never mentioned; that is how an insert-clip trim went missing. The catalog is the single source for a route's surface, and this is where that claim is enforced.

Build a request map from a route id and call params.
Returns {:ok {:method :get|:post|:put|:delete :path string :body map-or-nil}}
or {:error :routes/unknown-route | :routes/missing-params
           | :routes/undeclared-params ...}.
:post and :put carry the params as the body: the fork reads PUT bodies too
(/project/profile, /timeline/clips/{id}/opacity).

A param the route does not declare is REFUSED rather than passed along.
The body used to be whatever the caller handed over, so a key the fork
does not bind was encoded, sent, ignored and never mentioned; that is how
an insert-clip trim went missing. The catalog is the single source for a
route's surface, and this is where that claim is enforced.
sourceraw docstring

routeclj/s

(route id)

Catalog entry for id, or nil.

Catalog entry for `id`, or nil.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
←Move to previous article
→Move to next article
Ctrl+/Jump to the search field
× close