### Install dependencies and start development server Source: https://github.com/windoze95/cantinarr/blob/main/docs-site/README.md Run from the docs-site directory. Requires Node 22.12 or newer and Python 3.9 or newer. The development server does not include search; use the preview for search. ```sh npm ci npm run dev ``` -------------------------------- ### POST /api/auth/setup Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Creates the initial admin account on first run. ```APIDOC ## POST /api/auth/setup ### Description Creates the first-run admin account. ### Method POST ### Endpoint /api/auth/setup ### Auth Level public ### Request Body - **username** (string) - Required - The admin username - **password** (string) - Required - The admin password ### Request Example ```json { "username": "admin", "password": "secret" } ``` ### Response #### Success Response (200) - **tokens** (object) - Access and refresh tokens #### Response Example ```json { "tokens": { "access": "...", "refresh": "..." } } ``` ``` -------------------------------- ### Enable and monitor the Cantinarr service Source: https://github.com/windoze95/cantinarr/blob/main/docs-site/src/content/docs/install/linux.md Reloads systemd, enables and starts the service, checks its status, and shows the last 100 log lines. Then open http://YOUR-SERVER-IP:8585 to complete first setup. ```sh sudo systemctl daemon-reload sudo systemctl enable --now cantinarr sudo systemctl status cantinarr sudo journalctl -u cantinarr -n 100 --no-pager ``` -------------------------------- ### GET /api/v1/user/{id} Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Get a single user by ID. ```APIDOC ## GET /api/v1/user/{id} ### Description Returns a single user with their linked media-server identities. ### Method GET ### Endpoint /api/v1/user/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The user ID ### Response #### Success Response (200) - **user** (object) - The user object with media-server identities #### Error Response (404) - **message** (string) - Error message in Seerr format #### Response Example { "id": 1, "username": "user1", "plexUsername": null, "jellyfinUsername": null } ``` -------------------------------- ### Build the documentation site from docs-site/ Source: https://github.com/windoze95/cantinarr/blob/main/docs-site/src/content/docs/contributing/documentation.md Run these commands from the docs-site/ directory to install dependencies and build the site. The build checks local links, page metadata, required topic coverage, source fingerprints, documented configuration names, tool coverage, and search output, and rejects em dashes in page text. ```sh npm ci npm run build ``` -------------------------------- ### GET /api/v1/user Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Get a list of users with their media-server identities. ```APIDOC ## GET /api/v1/user ### Description Returns a list of users in the Seerr shape, including their linked media-server identities. ### Method GET ### Endpoint /api/v1/user ### Parameters #### Query Parameters - **take** (integer) - Optional - Number of users to take (pagination) - **skip** (integer) - Optional - Number of users to skip (pagination) ### Response #### Success Response (200) - **users** (array) - Array of user objects with linked media-server identities #### Response Example [ { "id": 1, "username": "user1", "plexUsername": null, "jellyfinUsername": null } ] ``` -------------------------------- ### POST /api/auth/passkey/setup-link Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Mints a URL for setting up a passkey in the browser. ```APIDOC ## POST /api/auth/passkey/setup-link ### Description Mints a browser passkey-setup URL. ### Method POST ### Endpoint /api/auth/passkey/setup-link ### Auth Level user ### Response #### Success Response (200) - **url** (string) - The passkey setup URL #### Response Example ```json { "url": "https://example.com/setup-passkey" } ``` ``` -------------------------------- ### POST /api/auth/passkey/setup/begin|finish Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Sets up a passkey via a short-lived link, with begin and finish endpoints for the WebAuthn ceremony. ```APIDOC ## POST /api/auth/passkey/setup/begin|finish ### Description Sets up a passkey via a short-lived link. The begin step initiates the setup, the finish step completes it. ### Method POST ### Endpoint /api/auth/passkey/setup/begin or /api/auth/passkey/setup/finish ### Auth Level public ### Request Body (begin) No specific body documented. ### Request Body (finish) - **credential** (object) - The WebAuthn credential creation response ### Response #### Success Response (200) - **session** (object) - Session details #### Response Example ```json { "session": {} } ``` ``` -------------------------------- ### GET /api/v1/settings/jobs Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Get the list of available background jobs. ```APIDOC ## GET /api/v1/settings/jobs ### Description Returns a list of background jobs that can be run. Currently includes the availability-sync job. ### Method GET ### Endpoint /api/v1/settings/jobs ### Response #### Success Response (200) - **jobs** (array) - List of available jobs, each containing job details #### Response Example [ { "id": "availability-sync", "name": "Availability Sync" } ] ``` -------------------------------- ### GET /api/requests/options Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Gets options available to the user for requests. ```APIDOC ## GET /api/requests/options ### Description Returns what the current user may choose for requests, such as seasons and quality. ### Method GET ### Endpoint /api/requests/options ### Parameters #### Query Parameters - **instance_id** (string) - Optional - Scopes quality profiles to that library. ### Response #### Success Response (200) - **options** (object) - Available options. #### Response Example { "options": {} } ``` -------------------------------- ### Run Go server checks and start the server Source: https://github.com/windoze95/cantinarr/blob/main/docs-site/src/content/docs/contributing/development.md Runs vet, tests, and starts the server from the server/ directory. Requires the Go version specified in server/go.mod. The server uses /config for its database and encryption key; ensure it is writable and use a disposable development environment. ```sh go vet ./... go test ./... go run ./cmd/server ``` -------------------------------- ### GET /api/admin/setup-status Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md GET /api/admin/setup-status provides a live-derived checklist of configured and unconfigured features for administrators. ```APIDOC ## GET /api/admin/setup-status ### Description Retrieves a live-derived checklist of configured and unconfigured features. Configuration state is recalculated on every request. ### Method GET ### Endpoint /api/admin/setup-status ### Parameters No parameters documented. ### Response #### Success Response (200) - A live-derived checklist of configured and unconfigured features. #### Response Example No response example provided in source. ``` -------------------------------- ### GET /api/v1/request/{id} Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Get a single media request by its ID. ```APIDOC ## GET /api/v1/request/{id} ### Description Returns a single media request by its ID. ### Method GET ### Endpoint /api/v1/request/{id} ### Parameters #### Path Parameters - **id** (integer) - Required - The ID of the request ### Response #### Success Response (200) - **MediaRequest** (object) - The full media request object #### Error Response (404) - **message** (string) - Error message in Seerr format #### Response Example { "id": 1, "status": 2, "media": {} } ``` -------------------------------- ### Build and run Cantinarr from source Source: https://github.com/windoze95/cantinarr/blob/main/server/README.md Builds the server binary with Go 1.25+ and runs it. Requires Go 1.25+ and assumes you are in the server directory. Run 'make' from the repository root to embed the Flutter web app. ```bash # Requires Go 1.25+ cd server go build -o cantinarr ./cmd/server ./cantinarr ```