---
title: "Urządzenia (Connection Manager) — API v1 i MCP | Dokumentacja Nodea"
description: "Pełny reference modułu Urządzenia (nodea-cm): endpointy REST API v1 (lista, zmiana nazwy, unieważnienie), zakresy infra:read/write/delete, bezpieczeństwo blobów kryptograficznych, narzędzia MCP oraz przykłady curl i JSON-RPC."
url: "https://nodea.pl/pl/dokumentacja-api/vault-devices"
lang: "pl"
updated: "2026-07-16"
---

# Urządzenia (Connection Manager) — API v1 i MCP | Dokumentacja Nodea

> Reference modułu Urządzenia (Connection Manager, nodea-cm) — endpointy API v1 (lista, zmiana nazwy, unieważnienie z revokacją tokenów Passport), zakresy infra:read/write/delete, ochrona blobów kryptograficznych, narzędzia MCP i przykłady.

Moduł **Urządzenia** zarządza sparowanymi instancjami menedżera połączeń **nodea-cm** (Connection Manager) — aplikacji desktopowej działającej jako zero-knowledge, szyfrowany end-to-end magazyn połączeń. API pozwala wylistować urządzenia, zmienić ich nazwę oraz je unieważnić. Dokument opisuje warstwę REST API v1 (/api/v1/vault-devices) oraz narzędzia MCP z tego modułu.

## Uwierzytelnianie i zakresy (scopes)

API v1 uwierzytelnia się tokenem osobistym Passport przez nagłówek Authorization: Bearer \<token\>. Poziomy dostępu:

- infra:read — listowanie urządzeń.
- infra:write — zmiana nazwy urządzenia.
- infra:delete — unieważnienie (revoke) urządzenia.

Moduł jest **ungated** — nie ma flagi Pennant (tak jak web /app/connection-manager). Limit zapytań: throttle:api-v1 = 240/min na użytkownika tokenu.

## Zakres tego API vs. desktop

To API obsługuje wyłącznie zarządzanie urządzeniami (lista / nazwa / revoke). Cała logika enrollmentu i kryptografii — synchronizacja sejfu, klucze konta, VMK, recovery blob — należy do klienta desktopowego i jest wystawiona osobno pod /api/vault/\* (guard vault, scope vault). API v1 nie modyfikuje stanu kryptograficznego urządzenia.

## Własność, adresowanie i bezpieczeństwo

Model VaultDevice nie ma klasy polityki — każde zapytanie jest zawężone do user\_id = użytkownik tokenu. Urządzenia adresuje się nieprzezroczystym device\_id (UUID), nigdy wewnętrznym kluczem głównym. Cudze, nieznane lub już unieważnione (soft-deleted) urządzenie zwraca 404 (firstOrFail; domyślny scope SoftDeletes ukrywa revoke'owane wiersze).

**Bezpieczeństwo:** serializowane są wyłącznie nieprzezroczyste metadane. Blobów kryptograficznych — wrapped\_vmk oraz device\_public\_key — NIGDY nie zwraca żadna odpowiedź; stan enrollmentu widoczny jest jedynie jako boolean has\_wrapped\_vmk.

**Revoke** (DELETE) odwzorowuje web dokładnie: VaultDevice::revokeAccess() soft-usuwa wiersz ORAZ unieważnia token dostępowy Passport, którym urządzenie ostatnio się uwierzytelniało (wraz z jego tokenami odświeżającymi). Dzięki temu skradzione lub odłączone urządzenie nie może dalej wołać /api/vault/\* na jeszcze nieprzeterminowanym tokenie bearer. Operacja jest nieodwracalna — urządzenie trzeba sparować od nowa.

## API v1 — endpointy

MetodaŚcieżkaScopeOpisGET/api/v1/vault-devicesinfra:readLista sparowanych urządzeń użytkownika (bez paginacji; zbiór ograniczony liczbą fizycznych parowań, najnowsze pierwsze). PATCH/api/v1/vault-devices/{device}infra:writeZmiana nazwy urządzenia. Kosmetyczna — id, klucze i dostęp bez zmian. DELETE/api/v1/vault-devices/{device}infra:deleteUnieważnienie urządzenia (soft-delete + revokacja tokenów Passport). Zwraca 204.

### Odpowiedź — VaultDeviceResource

Pola: device\_id (UUID), name, has\_wrapped\_vmk (bool — czy urządzenie ukończyło enrollment), last\_seen (ISO8601, nullable), created\_at (ISO8601). Brak jakichkolwiek pól kryptograficznych.

### PATCH — parametry ciała

- name (string, wymagany, max 255) — nowa nazwa wyświetlana (jedyne mutowalne pole).

### Kody błędów

- 401 — brak/niepoprawny token.
- 403 — brak wymaganego scope.
- 404 — nieznane, cudze lub już unieważnione urządzenie.
- 422 — walidacja (pusta/zbyt długa nazwa).

## Przykłady — API

### Lista urządzeń

curl -s https://app.nodea.io/api/v1/vault-devices \\ -H "Authorization: Bearer $NODEA\_TOKEN" \\ -H "Accept: application/json"

### Zmiana nazwy urządzenia

curl -s -X PATCH https://app.nodea.io/api/v1/vault-devices/9b1f2c3d-... \\ -H "Authorization: Bearer $NODEA\_TOKEN" \\ -H "Content-Type: application/json" \\ -d '{ "name": "MacBook Pro (praca)" }'

### Unieważnienie urządzenia

curl -s -X DELETE https://app.nodea.io/api/v1/vault-devices/9b1f2c3d-... \\ -H "Authorization: Bearer $NODEA\_TOKEN" \\ -H "Accept: application/json"

## MCP — narzędzia

Narzędzia MCP dzielą model uwierzytelniania i zakresów z API v1 (Bearer + scope sprawdzany w ensureScope). Moduł jest ungated (bez flagi funkcji). Urządzenia adresowane są po device\_id (UUID); brakujący, cudzy i już unieważniony identyfikator zwracają ten sam błąd (brak enumeracji między najemcami). Odpowiedzi zawierają wyłącznie metadane — żadnych blobów kryptograficznych.

NarzędzieScopeTrybOpisvault-devices-listinfra:readread-onlyLista sparowanych urządzeń; page, per\_page (max 50). Zwraca device\_id/name/has\_wrapped\_vmk/last\_seen/created\_at. Urządzenia unieważnione nie są listowane. vault-device-renameinfra:writeidempotentneZmiana nazwy; device\_id, name (max 255). Kosmetyczna — id, klucze i dostęp bez zmian. vault-device-revokeinfra:deletedestrukcyjneUnieważnienie; device\_id + wymagane confirm: true. Tokeny API urządzenia zostają natychmiast unieważnione; nieodwracalne (konieczne ponowne parowanie).

### Przykład — MCP (JSON-RPC)

{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "vault-device-rename", "arguments": { "device\_id": "9b1f2c3d-...uuid", "name": "MacBook Pro (praca)" } } } { "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "vault-device-revoke", "arguments": { "device\_id": "9b1f2c3d-...uuid", "confirm": true } } }

## Powiązane

- [Serwery — API v1 i MCP | Dokumentacja Nodea](https://nodea.pl/pl/dokumentacja-api/servers)
- [Klucze SSH — API v1 i MCP | Dokumentacja Nodea](https://nodea.pl/pl/dokumentacja-api/ssh-keys)
- [DNS](https://nodea.pl/pl/slownik-pojec/dns)

---

Wersje językowe: [en](https://nodea.io/en/api-docs/vault-devices.md)  
Spis treści witryny: [llms.txt](https://nodea.pl/pl/llms.txt)
