# PUT /v1/ui

Die Seite einer App setzen: Feld, Antwort und Fehler.

Mit `PUT /v1/ui` sagt dein Tool, welche Webseite eine App zeigt. Den Aufruf gibt es nur für Packlets der Art App.

Die Anleitung dazu: [Eigene App bauen](https://packlets.app/docs/apps.md).

## PUT /v1/ui

```http
PUT https://api.packlets.app/v1/ui
Authorization: Bearer <SAMY_KEY>
Content-Type: application/json
```

| Feld | Typ | Pflicht | Bedeutung |
|---|---|---|---|
| `page` | `https`-Adresse, bis 2.048 Zeichen | ja | Die Seite, die die App zeigt. |

```json
{ "page": "https://dein-server.de/rechnungen" }
```

Was ein `PUT` bewirkt:

- Die App zeigt ab jetzt diese Seite. Eine andere Adresse setzt du mit einem neuen `PUT`.
- Der erste erfolgreiche `PUT` verbindet das Packlet: Die App zeigt „Verbunden!“.
- Wechselt die Adresse auf einen anderen Host oder Port, fragt Samy beim nächsten Öffnen nach, bevor es die Seite lädt.

Einmal reicht. Was die Seite zeigt, bestimmt danach dein Server.

### Antwort

```json
{ "ok": true, "page": "https://dein-server.de/rechnungen" }
```

## Fehler

| Status | `error` | Wann |
|---|---|---|
| 400 | `invalid_body` | `page` fehlt, ist keine `https`-Adresse oder zu lang. `details` nennt Feld und Grund. |
| 401 | `missing_key`, `invalid_key` | Schlüssel fehlt oder ist falsch. |
| 409 | `wrong_kind` | Das Packlet ist ein Kanal, keine App. |
| 429 | `rate_limited` | Mehr als 60 Aufrufe in einer Minute. |

Was du jeweils tun kannst, steht unter [Fehlercodes](https://packlets.app/docs/fehler.md).
