---
title: "Komponenten sortieren"
description: "Setzt Position und Gruppe vieler Komponenten in einem Aufruf."
---

`PUT /api/status-pages/{id}/components/order`

Setzt `sort` und `groupId` mehrerer Komponenten in einer Transaktion, zum Beispiel nach Drag and drop. Jede genannte Komponente und Gruppe muss zu dieser Seite gehören; sonst antwortet der Aufruf `404` und nichts wird geschrieben. Komponenten, die du nicht nennst, bleiben, wie sie sind.

## Zugriff

Organisations-`admin` und `editor`. Ein kundengebundener Nutzer oder API-Token erreicht nur Seiten eines Kunden in seinem Bereich; eine Seite ohne Kunde (`customerId: null`) beantwortet ihm `403` (`forbidden`). Eine Seite einer anderen Organisation antwortet `404` (`statusPageNotFound`). IDs im Pfad nehmen die numerische ID oder die `publicId`. Die Änderung steht im Audit-Protokoll der Organisation.

## Request-Body

| Feld | Typ | Pflicht | Beschreibung |
|------|-----|---------|--------------|
| `items` | array | Ja | 1 bis 500 Einträge. |
| `items[].id` | number\|string | Ja | ID oder `publicId` der Komponente. |
| `items[].groupId` | number\|string\|null | Ja | ID oder `publicId` der Zielgruppe, `null` für keine Gruppe. |
| `items[].sort` | number | Ja | Neue Position, 0-100000. |

## Beispiel (cURL)

```bash
BASE_URL="https://uptimeify.io"
TOKEN="<dein-api-token>"

curl -X PUT "$BASE_URL/api/status-pages/1/components/order" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "id": 8, "groupId": 3, "sort": 0 },
      { "id": 7, "groupId": 3, "sort": 1 }
    ]
  }'
```

## Antwort

`200 OK` mit allen Komponenten der Seite nach der Änderung, sortiert nach `sort`, in derselben Form wie bei [Komponenten auflisten](/de/api/status-pages/list-status-page-components) (`{ items, total, page, perPage }`).

## Häufige Fehler

- `400 Bad Request` (`invalidRequestBody`), wenn `items` leer ist, mehr als 500 Einträge hat oder ein Eintrag ungültig ist
- `400 Bad Request` (`invalidIdentifier`), wenn eine ID im Pfad weder Zahl noch UUID ist
- `401 Unauthorized`, wenn du nicht angemeldet bist
- `403 Forbidden` (`forbidden`), wenn deine Rolle das nicht darf, oder für einen kundengebundenen Aufrufer auf einer Seite ohne Kunde oder eines anderen Kunden
- `403 Forbidden` (`statusPagesModuleDisabled`), wenn das Statusseiten-Modul nicht aktiviert ist
- `404 Not Found` (`statusPageNotFound`), wenn die Status-Seite nicht existiert oder zu einer anderen Organisation gehört
- `404 Not Found` (`statusPageComponentNotFound`), wenn eine genannte Komponente auf dieser Seite nicht existiert
- `404 Not Found` (`statusPageComponentGroupNotFound`), wenn eine genannte `groupId` keine Gruppe dieser Seite ist
