Files

3.7 KiB
Raw Permalink Blame History

Node reference

Package: node-red-contrib-nextcloud-ocs (see nodes/nextcloud-ocs/package.json).

All API nodes require a nextcloud-config configuration node unless noted.

nextcloud-config

Configuration node — not placed on flows alone.

Field Description
Name Label in the editor
Nextcloud URL Base URL, e.g. https://cloud.example.com
Username Nextcloud account name
Password App password (stored encrypted)

ocs-api

Generic OCS/HTTP caller.

Config Default
Endpoint /ocs/v2.php/cloud/user
Method GET

Runtime: msg.endpoint, msg.method, msg.body, msg.headers.

collectives

Nextcloud Collectives app. Operations use ids like collective:list, page:create, share:updatePageShare, etc.

Categories include: collectives, pages, trash, shares, templates, tags, user settings, sessions, public (token) APIs, search.

~80 operations — see collectives.js OPERATIONS for the full list.

file-operations

Operation Protocol
list, get, upload, mkdir, move, copy, delete WebDAV /remote.php/dav/files/{user}/…
listShares, createShare, deleteShare OCS sharing API
fileInfo, favorites OCS files API

Path placeholders: {user}, {folder}, {path}, {id}.

mail

Mail app OCS endpoints (send, list messages, accounts, etc.). See mail.js.

tables

Tables app — tables, views, rows, columns, shares. See tables.js.

talk

Talk (Spreed) — rooms, messages, reactions, polls, bots, breakout rooms, etc. Largest node (~80+ operations). See talk.js.

webhooks

Webhook Listeners app:

Operation Method
webhook:list GET
webhook:get GET
webhook:create POST
webhook:update POST
webhook:delete DELETE
webhook:deleteByApp DELETE

dashboard

Dashboard widgets API. See dashboard.js.

dav

DAV-related OCS (direct links, out-of-office). See dav.js.

core

Nextcloud core OCS and related APIs (~50 operations), including:

  • Status, capabilities, app passwords
  • Navigation, profile, hover card
  • Collaboration resources, references, previews, avatars
  • CSRF, login flow v2, wipe, OCM discovery
  • Unified search, task processing, text processing
  • Translation, text-to-image, teams

Operation ids use prefixes: status:, capabilities:, appPassword:, search:, task:, etc. See core.js.

oauth2

OAuth2 client management OCS. See oauth2.js.

provisioning

User and group provisioning API. See provisioning.js.

filesharing

Dedicated file sharing OCS (beyond WebDAV in file-operations). See filesharing.js.

userstatus

User status (emoji/message). See userstatus.js.

settings

User and admin settings OCS. See settings.js.


Common message properties

Property Used by
msg.operation All operation-based nodes
msg.payload Response body (output)
msg.statusCode HTTP status (output)
msg.error Error string on failure

Path parameters are typically available as msg.<name> matching the placeholder (e.g. msg.collectiveId, msg.pageId, msg.webhookId).

Body fields configured in the editor can often be overridden via msg.body object or node-specific msg.body* fields — check each nodes buildBody / handler in the .js file.

Adding a new operation

  1. Add entry to OPERATIONS in the relevant .js file.
  2. Add dropdown option and fields in the matching .html file.
  3. Bump version in package.json.
  4. Rebuild Docker image and restart container.

For one-off APIs, use ocs-api instead of extending a dedicated node.