> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/unigetui/it/riferimento/ipc-api.md).

# API di automazione (IPC)

L'API HTTP locale che alimenta la riga di comando di UniGetUI, con i trasporti, l'autenticazione, i corpi delle richieste e ogni endpoint.

UniGetUI espone un'API HTTP locale che l'[interfaccia della riga di comando](/unigetui/it/riferimento/cli.md) usa per controllare una sessione. Può chiamarla direttamente per integrare UniGetUI con i propri script e strumenti. Ogni endpoint si trova sotto `/uniget/v1/`, e ognuno ha un equivalente CLI.

{% hint style="danger" %}
L'API è pensata solo per l'automazione locale. Non la esponga alla rete.
{% endhint %}

## Trasporti

<table><thead><tr><th width="250">IMPOSTAZIONE</th><th>PREDEFINITO</th></tr></thead><tbody><tr><td>Trasporto</td><td><code>named-pipe</code>: una named pipe di Windows in Windows, un socket di dominio Unix su macOS e Linux.</td></tr><tr><td>Trasporto alternativo</td><td><code>tcp</code>, vincolato solo a <code>localhost</code>.</td></tr><tr><td>Porta TCP</td><td><code>7058</code></td></tr><tr><td>Nome della pipe</td><td><code>UniGetUI.IPC</code></td></tr><tr><td>Cartella del socket Unix (macOS, Linux)</td><td><code>/tmp</code></td></tr></tbody></table>

Su macOS e Linux, un nome di pipe relativo come `UniGetUI.IPC` viene risolto in `/tmp/UniGetUI.IPC`, e un percorso assoluto viene usato così com'è. In Windows, i percorsi di pipe assoluti vengono rifiutati e si usa il nome di pipe predefinito.

{% hint style="info" %}
In una sessione desktop, l'API viene eseguita solo quando ***Abilita API in background (widget e condivisione UniGetUI, porta 7058)*** è attivato in ***Impostazioni*** – ***Impostazioni sperimentali e opzioni sviluppatore***. Una sessione avviata con `--headless` la esegue sempre.
{% endhint %}

### Configurazione del server

Viene letto quando UniGetUI avvia l'API.

<table><thead><tr><th width="250">ARGOMENTO</th><th>VARIABILE D'AMBIENTE</th><th>CHE COSA FA</th></tr></thead><tbody><tr><td><code>--ipc-api-transport {named-pipe|tcp}</code></td><td><code>UNIGETUI_IPC_API_TRANSPORT</code></td><td>Trasporto dell'API.</td></tr><tr><td><code>--ipc-api-port &#x3C;port></code></td><td><code>UNIGETUI_IPC_API_PORT</code></td><td>Porta TCP, con il trasporto <code>tcp</code>.</td></tr><tr><td><code>--ipc-api-pipe-name &#x3C;name-or-path></code></td><td><code>UNIGETUI_IPC_API_PIPE_NAME</code></td><td>Nome della pipe o percorso del socket Unix, con il trasporto <code>named-pipe</code>.</td></tr></tbody></table>

### Configurazione del client

La CLI lo legge per trovare la sessione.

<table><thead><tr><th width="250">ARGOMENTO</th><th>VARIABILE D'AMBIENTE</th><th>CHE COSA FA</th></tr></thead><tbody><tr><td><code>--transport {named-pipe|tcp}</code></td><td><code>UNIGETUI_IPC_API_TRANSPORT</code></td><td>Trasporto usato per raggiungere la sessione.</td></tr><tr><td><code>--tcp-port &#x3C;port></code></td><td><code>UNIGETUI_IPC_API_PORT</code></td><td>Porta TCP della sessione.</td></tr><tr><td><code>--pipe-name &#x3C;name-or-path></code></td><td><code>UNIGETUI_IPC_API_PIPE_NAME</code></td><td>Nome della pipe o percorso del socket Unix della sessione.</td></tr></tbody></table>

## Individuazione delle sessioni

Ogni sessione registra il proprio endpoint e il proprio token nella cartella di configurazione dell'utente. Senza un'opzione di trasporto, il client:

1. Carica le sessioni registrate, prima le sessioni senza interfaccia, poi le più recenti.
2. Si connette alla prima sessione attiva e ne usa automaticamente il token.

Con un'opzione di trasporto, il client si connette a quel trasporto e attende fino a 5 secondi la comparsa di un token corrispondente.

## Autenticazione

<table><thead><tr><th width="250">ENDPOINT</th><th>AUTENTICAZIONE</th></tr></thead><tbody><tr><td><code>GET /uniget/v1/status</code></td><td>Nessuno.</td></tr><tr><td>Tutti gli altri endpoint</td><td>Parametro di query <code>token</code>.</td></tr></tbody></table>

UniGetUI genera un nuovo token a ogni avvio dell'API e lo archivia con la registrazione della sessione. La CLI lo aggiunge automaticamente alle richieste.

## Sicurezza

* La modalità TCP resta in ascolto solo su `localhost`, non su tutte le interfacce di rete.
* Su macOS e Linux, il socket Unix è leggibile e scrivibile solo dal proprietario (equivalente a `0600`).
* In Windows, la named pipe non crea un file sul disco.

## Risposte ed errori

<table><thead><tr><th width="250">CONDIZIONE</th><th>RISULTATO</th></tr></thead><tbody><tr><td>Token mancante o non valido</td><td>HTTP <code>401</code>.</td></tr><tr><td>Argomenti della query o del corpo non validi</td><td>HTTP <code>400</code> con un messaggio di testo normale.</td></tr><tr><td>Esito positivo</td><td>JSON con nomi di proprietà in camelCase.</td></tr></tbody></table>

## Parametri della richiesta

La maggior parte degli endpoint accetta parametri di query. Gli endpoint seguenti accettano invece un corpo JSON con campi in camelCase.

### Corpo di manutenzione del gestore

Usato da `/managers/maintenance/reload`, `/executable/set`, `/executable/clear` e `/action`.

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>managerName</code></td><td>string</td><td>Obbligatorio. ID del gestore, ad esempio <code>winget</code>.</td></tr><tr><td><code>action</code></td><td>string</td><td>Azione di manutenzione, per <code>/action</code>.</td></tr><tr><td><code>path</code></td><td>string</td><td>Percorso personalizzato dell'eseguibile, per <code>/executable/set</code>.</td></tr><tr><td><code>confirm</code></td><td>boolean</td><td>Conferma un'azione distruttiva.</td></tr></tbody></table>

### Corpo di accesso a GitHub

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>launchBrowser</code></td><td>boolean</td><td>Apre automaticamente l'URL di verifica nel browser.</td></tr></tbody></table>

### Corpo del backup nel cloud

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>key</code></td><td>string</td><td>Identificatore del backup.</td></tr><tr><td><code>append</code></td><td>boolean</td><td>Aggiunge elementi alla raccolta corrente invece di sostituirla.</td></tr></tbody></table>

### Corpo di importazione della raccolta

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>path</code></td><td>string</td><td>Percorso del file della raccolta.</td></tr><tr><td><code>content</code></td><td>string</td><td>Contenuto non elaborato della raccolta.</td></tr><tr><td><code>format</code></td><td>string</td><td><code>ubundle</code>, <code>json</code>, <code>yaml</code> o <code>xml</code>.</td></tr><tr><td><code>append</code></td><td>boolean</td><td>Aggiunge i pacchetti importati alla raccolta corrente.</td></tr></tbody></table>

### Corpo di esportazione della raccolta

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>path</code></td><td>string</td><td>Percorso facoltativo del file di output.</td></tr></tbody></table>

### Corpo del pacchetto della raccolta

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>packageId</code></td><td>string</td><td>Identificatore del pacchetto.</td></tr><tr><td><code>managerName</code></td><td>string</td><td>ID del gestore.</td></tr><tr><td><code>packageSource</code></td><td>string</td><td>Nome dell'origine.</td></tr><tr><td><code>version</code></td><td>string</td><td>Versione richiesta.</td></tr><tr><td><code>scope</code></td><td>string</td><td>Ambito richiesto.</td></tr><tr><td><code>preRelease</code></td><td>boolean</td><td>Include le versioni di anteprima.</td></tr><tr><td><code>selection</code></td><td>string</td><td>Come viene trovato il pacchetto: <code>search</code>, <code>installed</code>, <code>updates</code> o <code>auto</code>.</td></tr></tbody></table>

### Corpo di installazione della raccolta

<table><thead><tr><th width="250">CAMPO</th><th>TIPO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>includeInstalled</code></td><td>boolean</td><td>Elabora anche i pacchetti già installati.</td></tr><tr><td><code>elevated</code></td><td>boolean</td><td>Viene eseguito con diritti di amministratore.</td></tr><tr><td><code>interactive</code></td><td>boolean</td><td>Esegue i programmi di installazione in modo interattivo.</td></tr><tr><td><code>skipHash</code></td><td>boolean</td><td>Salta il controllo dell'hash quando è supportato.</td></tr></tbody></table>

### Parametri di query del pacchetto

Usato dagli endpoint dei pacchetti (dettagli, versioni, installazione, aggiornamento, disinstallazione, download, aggiornamenti ignorati).

<table><thead><tr><th width="250">PARAMETRO</th><th>DESCRIZIONE</th></tr></thead><tbody><tr><td><code>packageId</code></td><td>Identificatore del pacchetto.</td></tr><tr><td><code>manager</code></td><td>ID del gestore.</td></tr><tr><td><code>packageSource</code></td><td>Nome dell'origine.</td></tr><tr><td><code>version</code></td><td>Versione richiesta.</td></tr><tr><td><code>scope</code></td><td>Ambito di installazione.</td></tr><tr><td><code>preRelease</code></td><td>Booleano. Include le versioni di anteprima.</td></tr><tr><td><code>elevated</code></td><td>Booleano. Viene eseguito con diritti di amministratore.</td></tr><tr><td><code>interactive</code></td><td>Booleano. Esegue il programma di installazione in modo interattivo.</td></tr><tr><td><code>skipHash</code></td><td>Booleano. Salta il controllo dell'hash.</td></tr><tr><td><code>removeData</code></td><td>Booleano. Rimuove i dati del pacchetto durante la disinstallazione.</td></tr><tr><td><code>wait</code></td><td>Booleano. Attende la fine dell'operazione.</td></tr><tr><td><code>architecture</code></td><td>Architettura da installare.</td></tr><tr><td><code>location</code></td><td>Cartella di installazione.</td></tr><tr><td><code>outputPath</code></td><td>Cartella di download. Per impostazione predefinita, il percorso di download impostato nelle impostazioni o la cartella Download dell'utente.</td></tr></tbody></table>

### Altri parametri di query

<table><thead><tr><th width="250">PARAMETRO</th><th>USATO DA</th></tr></thead><tbody><tr><td><code>page</code>, <code>manager</code>, <code>helpAttachment</code></td><td><code>/app/navigate</code></td></tr><tr><td><code>tailLines</code></td><td><code>/operations/{operationId}/output</code></td></tr><tr><td><code>mode</code></td><td><code>/operations/{operationId}/retry</code></td></tr><tr><td><code>action</code></td><td><code>/operations/{operationId}/reorder</code></td></tr></tbody></table>

## Endpoint

I percorsi sono relativi a `/uniget/v1`. Tutti, tranne `/status`, richiedono il parametro di query `token`.

### Sessione e applicazione

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/status</code></td><td>Nessuno</td><td><code>status</code>, <code>version</code>. Restituisce <code>running</code>, <code>transport</code>, <code>tcpPort</code>, <code>namedPipeName</code>, <code>namedPipePath</code>, <code>baseAddress</code>, <code>version</code>, <code>buildNumber</code>.</td></tr><tr><td><code>GET</code></td><td><code>/app</code></td><td>Nessuno</td><td><code>app status</code></td></tr><tr><td><code>POST</code></td><td><code>/app/show</code></td><td>Nessuno</td><td><code>app show</code></td></tr><tr><td><code>POST</code></td><td><code>/app/navigate</code></td><td>Query: <code>page</code>, facoltativo <code>manager</code>, <code>helpAttachment</code></td><td><code>app navigate</code></td></tr><tr><td><code>POST</code></td><td><code>/app/quit</code></td><td>Nessuno</td><td><code>app quit</code></td></tr></tbody></table>

### Operazioni

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/operations</code></td><td>Nessuno</td><td><code>operation list</code></td></tr><tr><td><code>GET</code></td><td><code>/operations/{operationId}</code></td><td>Route: <code>operationId</code></td><td><code>operation get</code></td></tr><tr><td><code>GET</code></td><td><code>/operations/{operationId}/output</code></td><td>Route: <code>operationId</code>, query facoltativa <code>tailLines</code></td><td><code>operation output</code></td></tr><tr><td><code>POST</code></td><td><code>/operations/{operationId}/cancel</code></td><td>Route: <code>operationId</code></td><td><code>operation cancel</code></td></tr><tr><td><code>POST</code></td><td><code>/operations/{operationId}/retry</code></td><td>Route: <code>operationId</code>, query facoltativa <code>mode</code></td><td><code>operation retry</code></td></tr><tr><td><code>POST</code></td><td><code>/operations/{operationId}/reorder</code></td><td>Route: <code>operationId</code>, query <code>action</code></td><td><code>operation reorder</code></td></tr><tr><td><code>POST</code></td><td><code>/operations/{operationId}/forget</code></td><td>Route: <code>operationId</code></td><td><code>operation forget</code></td></tr></tbody></table>

### Gestori di pacchetti

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/managers</code></td><td>Nessuno</td><td><code>manager list</code></td></tr><tr><td><code>GET</code></td><td><code>/managers/maintenance</code></td><td>Query: <code>manager</code></td><td><code>manager maintenance</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/maintenance/reload</code></td><td>Corpo di manutenzione del gestore</td><td><code>manager reload</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/maintenance/executable/set</code></td><td>Corpo di manutenzione del gestore</td><td><code>manager set-executable</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/maintenance/executable/clear</code></td><td>Corpo di manutenzione del gestore</td><td><code>manager clear-executable</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/maintenance/action</code></td><td>Corpo di manutenzione del gestore</td><td><code>manager action</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/set-enabled</code></td><td>Query: <code>manager</code>, <code>enabled</code></td><td><code>manager enable</code>, <code>manager disable</code></td></tr><tr><td><code>POST</code></td><td><code>/managers/set-update-notifications</code></td><td>Query: <code>manager</code>, <code>enabled</code></td><td><code>manager notifications enable</code>, <code>manager notifications disable</code></td></tr></tbody></table>

### Sorgenti

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/sources</code></td><td>Query facoltativa: <code>manager</code></td><td><code>source list</code></td></tr><tr><td><code>POST</code></td><td><code>/sources/add</code></td><td>Query: <code>manager</code>, <code>name</code>, facoltativo <code>url</code></td><td><code>source add</code></td></tr><tr><td><code>POST</code></td><td><code>/sources/remove</code></td><td>Query: <code>manager</code>, <code>name</code>, facoltativo <code>url</code></td><td><code>source remove</code></td></tr></tbody></table>

### Impostazioni

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/settings</code></td><td>Nessuno</td><td><code>settings list</code></td></tr><tr><td><code>GET</code></td><td><code>/settings/item</code></td><td>Query: <code>key</code></td><td><code>settings get</code></td></tr><tr><td><code>POST</code></td><td><code>/settings/set</code></td><td>Query: <code>key</code>, facoltativo <code>enabled</code>, facoltativo <code>value</code></td><td><code>settings set</code></td></tr><tr><td><code>POST</code></td><td><code>/settings/clear</code></td><td>Query: <code>key</code></td><td><code>settings clear</code></td></tr><tr><td><code>POST</code></td><td><code>/settings/reset</code></td><td>Nessuno</td><td><code>settings reset</code></td></tr><tr><td><code>GET</code></td><td><code>/secure-settings</code></td><td>Query facoltativa: <code>user</code></td><td><code>settings secure list</code></td></tr><tr><td><code>GET</code></td><td><code>/secure-settings/item</code></td><td>Query: <code>key</code>, facoltativo <code>user</code></td><td><code>settings secure get</code></td></tr><tr><td><code>POST</code></td><td><code>/secure-settings/set</code></td><td>Query: <code>key</code>, <code>enabled</code>, facoltativo <code>user</code></td><td><code>settings secure set</code></td></tr></tbody></table>

### Collegamenti

Gli endpoint del menu Start sono solo per Windows. Le regole di percorso e di pacchetto sono descritte nel riferimento della CLI, in [Collegamenti del menu Start](/unigetui/it/riferimento/cli.md#start-menu-shortcuts) e [Cartelle del menu Start](/unigetui/it/riferimento/cli.md#start-menu-folders). La risposta di `/start-menu-folders/set` elenca i collegamenti corrispondenti in `matchingShortcuts`.

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/desktop-shortcuts</code></td><td>Nessuno</td><td><code>shortcut list</code></td></tr><tr><td><code>POST</code></td><td><code>/desktop-shortcuts/set</code></td><td>Query: <code>path</code>, <code>status</code></td><td><code>shortcut set</code></td></tr><tr><td><code>POST</code></td><td><code>/desktop-shortcuts/reset</code></td><td>Query: <code>path</code></td><td><code>shortcut reset</code></td></tr><tr><td><code>POST</code></td><td><code>/desktop-shortcuts/reset-all</code></td><td>Nessuno</td><td><code>shortcut reset-all</code></td></tr><tr><td><code>GET</code></td><td><code>/start-menu-shortcuts</code></td><td>Nessuno</td><td><code>start-menu shortcut list</code></td></tr><tr><td><code>POST</code></td><td><code>/start-menu-shortcuts/set</code></td><td>Query: <code>path</code>, <code>status</code></td><td><code>start-menu shortcut set</code></td></tr><tr><td><code>POST</code></td><td><code>/start-menu-shortcuts/reset</code></td><td>Query: <code>path</code></td><td><code>start-menu shortcut reset</code></td></tr><tr><td><code>POST</code></td><td><code>/start-menu-shortcuts/reset-all</code></td><td>Nessuno</td><td><code>start-menu shortcut reset-all</code></td></tr><tr><td><code>GET</code></td><td><code>/start-menu-folders</code></td><td>Nessuno</td><td><code>start-menu folder list</code></td></tr><tr><td><code>POST</code></td><td><code>/start-menu-folders/set</code></td><td>Query: <code>package</code>, <code>folder</code>, facoltativo <code>relocate-existing</code></td><td><code>start-menu folder set</code></td></tr><tr><td><code>POST</code></td><td><code>/start-menu-folders/remove</code></td><td>Query: <code>package</code></td><td><code>start-menu folder remove</code></td></tr></tbody></table>

### Registri

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/logs/app</code></td><td>Query facoltativa: <code>level</code></td><td><code>log app</code></td></tr><tr><td><code>GET</code></td><td><code>/logs/history</code></td><td>Nessuno</td><td><code>log operations</code></td></tr><tr><td><code>GET</code></td><td><code>/logs/manager</code></td><td>Query facoltativa: <code>manager</code>, <code>verbose</code></td><td><code>log manager</code></td></tr></tbody></table>

### Backup

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/backups/status</code></td><td>Nessuno</td><td><code>backup status</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/local/create</code></td><td>Nessuno</td><td><code>backup local create</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/github/sign-in/start</code></td><td>Corpo di accesso a GitHub</td><td><code>backup github login start</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/github/sign-in/complete</code></td><td>Nessuno</td><td><code>backup github login complete</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/github/sign-out</code></td><td>Nessuno</td><td><code>backup github logout</code></td></tr><tr><td><code>GET</code></td><td><code>/backups/cloud</code></td><td>Nessuno</td><td><code>backup cloud list</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/cloud/create</code></td><td>Nessuno</td><td><code>backup cloud create</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/cloud/download</code></td><td>Corpo del backup nel cloud</td><td><code>backup cloud download</code></td></tr><tr><td><code>POST</code></td><td><code>/backups/cloud/restore</code></td><td>Corpo del backup nel cloud</td><td><code>backup cloud restore</code></td></tr></tbody></table>

### Raccolte

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/bundles</code></td><td>Nessuno</td><td><code>bundle get</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/reset</code></td><td>Nessuno</td><td><code>bundle reset</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/import</code></td><td>Corpo di importazione della raccolta</td><td><code>bundle import</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/export</code></td><td>Corpo di esportazione della raccolta</td><td><code>bundle export</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/add</code></td><td>Corpo del pacchetto della raccolta</td><td><code>bundle add</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/remove</code></td><td>Corpo del pacchetto della raccolta</td><td><code>bundle remove</code></td></tr><tr><td><code>POST</code></td><td><code>/bundles/install</code></td><td>Corpo di installazione della raccolta</td><td><code>bundle install</code></td></tr></tbody></table>

### Pacchetti

<table><thead><tr><th width="250">METODO</th><th>PERCORSO</th><th>PARAMETRI</th><th>EQUIVALENTE CLI</th></tr></thead><tbody><tr><td><code>GET</code></td><td><code>/packages/search</code></td><td>Query: <code>query</code>, facoltativo <code>manager</code>, <code>maxResults</code></td><td><code>package search</code></td></tr><tr><td><code>GET</code></td><td><code>/packages/installed</code></td><td>Query facoltativa: <code>manager</code></td><td><code>package installed</code></td></tr><tr><td><code>GET</code></td><td><code>/packages/updates</code></td><td>Query facoltativa: <code>manager</code></td><td><code>package updates</code></td></tr><tr><td><code>GET</code></td><td><code>/packages/details</code></td><td>Parametri di query del pacchetto</td><td><code>package details</code></td></tr><tr><td><code>GET</code></td><td><code>/packages/versions</code></td><td>Parametri di query del pacchetto</td><td><code>package versions</code></td></tr><tr><td><code>GET</code></td><td><code>/packages/ignored</code></td><td>Nessuno</td><td><code>package ignored list</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/ignore</code></td><td>Parametri di query del pacchetto</td><td><code>package ignored add</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/unignore</code></td><td>Parametri di query del pacchetto</td><td><code>package ignored remove</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/download</code></td><td>Parametri di query del pacchetto</td><td><code>package download</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/install</code></td><td>Parametri di query del pacchetto</td><td><code>package install</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/reinstall</code></td><td>Parametri di query del pacchetto</td><td><code>package reinstall</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/update</code></td><td>Parametri di query del pacchetto</td><td><code>package update</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/uninstall</code></td><td>Parametri di query del pacchetto</td><td><code>package uninstall</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/uninstall-then-reinstall</code></td><td>Parametri di query del pacchetto</td><td><code>package repair</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/show</code></td><td>Query: <code>packageId</code>, <code>packageSource</code></td><td><code>package show</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/update-all</code></td><td>Nessuno</td><td><code>package update-all</code></td></tr><tr><td><code>POST</code></td><td><code>/packages/update-manager</code></td><td>Query: <code>manager</code></td><td><code>package update-manager</code></td></tr></tbody></table>

## Limiti della modalità senza interfaccia

In una sessione senza interfaccia, questi endpoint restituiscono HTTP `400` con un messaggio descrittivo:

* `POST /uniget/v1/app/show` e `POST /uniget/v1/app/navigate`: non c'è nessuna finestra.
* `POST /uniget/v1/packages/update-all` e `POST /uniget/v1/packages/update-manager`: a meno che l'host non fornisca i gestori che avviano questi aggiornamenti.

## Provare con curl

Avvii una sessione senza interfaccia in modalità TCP:

```powershell
UniGetUI.exe --headless --ipc-api-transport tcp --ipc-api-port 7058
```

Quindi interroghi l'endpoint dello stato, che non richiede alcun token:

```powershell
curl http://localhost:7058/uniget/v1/status
```

Gli altri endpoint richiedono il token della sessione nel parametro di query `token`. La CLI se ne occupa per lei.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/unigetui/it/riferimento/ipc-api.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
