---
title: "Nextcloud Login Start"
method: POST
path: "/storage-connections/nextcloud/login/start"
tags: ["storage-connections"]
---

# Nextcloud Login Start

`POST /storage-connections/nextcloud/login/start`

## Request

- Base URL: `https://app.zeno-works.ch` (the document declares no server; this is the origin it was published from)
- URL: `https://app.zeno-works.ch/storage-connections/nextcloud/login/start`
- Auth: none declared

Begin a Nextcloud Login Flow v2 (admin, scoped): persist the flow and return the
browser ``login_url`` for the SPA to open in a new tab.

## Headers

- `authorization` string, nullable

## Cookies

- `access_token` string, nullable

## Request body

- NextcloudLoginStartRequest: ``POST /storage-connections/nextcloud/login/start`` body (admin, scoped). Nextcloud Login Flow v2 (§08-webdav §4b) — an INTERACTIVE but non-OAuth flow, so it does NOT use the shared ``/oauth/*`` routes. ``server_url`` is the Nextcloud base (``https://cloud.example.com``); ``connection_id`` targets a reconnect (identity-guarded on poll). No secret here — the app-password is minted by Nextcloud and attached on poll.
  - `company_id` string, required
  - `server_url` string, required
  - `label` string
  - `connection_id` string, nullable
  - `root_path` string, nullable
  - `verify_tls` boolean

## Response `200`

Successful Response

- NextcloudLoginStartResponse: ``POST /storage-connections/nextcloud/login/start`` → the browser login URL + flow id.
  - `flow_id` string, required
  - `login_url` string, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zeno-works/apis/zeno-api.md) · [All operations](https://skmtc.dev/zeno-works/apis/zeno-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zeno-works/apis/zeno-api/revisions/1eb93dde146c?raw)
