SharePoint-Listen klassisch per REST API abrufen
In diesem Artikel lernst du, wie du mit der SharePoint API Web Lists‑Schnittstelle SharePoint‑Listen per REST verwaltest – vom Anlegen über Lesen bis zum Löschen. Die SharePoint REST API Listen‑Methoden ermöglichen CRUD‑Operationen direkt aus Power Automate oder Power Apps.Die SharePoint API Listen abrufen über den Endpunkt /web/lists ermöglicht das Auslesen aller SharePoint-Listen einer Website inklusive Metadaten wie Titel, GUID, Beschreibung und Erstellungsdatum. Über die REST-Schnittstelle lassen sich Listen gezielt abfragen oder filtern – komplett ohne Microsoft Graph API.
Was macht der Endpunkt _api/web/lists?
Der Endpunkt _api/web/lists ist dein direkter Zugang zu allen Listen in einer SharePoint-Site – und das ganz ohne Graph API. Er gehört zu den klassischen SharePoint REST Services und funktioniert absolut zuverlässig.
Mit diesem Endpunkt kannst du:
- Alle Listen auf einer Website abrufen
- Metadaten zu Listen erhalten, z.B. Name, ID, Beschreibung, Erstellungsdatum
- Bestimmte Listen gezielt abfragen
- Listen-Einstellungen auslesen
- Weitere Abfragen an Listen hängen, z.B. für Felder oder Elemente
Der Endpunkt _api/web/lists ist ein echter Klassiker – und in vielen Szenarien immer noch eine extrem starke Alternative zur Graph API.
Gerade für Power Automate und Power Apps bietet er eine einfache Möglichkeit, SharePoint-Listen schnell und zuverlässig auszulesen. Du brauchst keinen Graph-Zugriff, keine Azure App-Registrierung – nur SharePoint und die passenden Rechte.
Mein Tipp: Wenn du häufig mit SharePoint-Listen arbeitest und schnelle Ergebnisse brauchst, solltest du diesen Endpunkt auf jeden Fall kennen. Er ist super für einfache Power Platform-Lösungen, für Admin-Skripte und für Automationen, bei denen du Listen-Infos brauchst.
/web/lists
GET
Mit dem SharePoint REST API Endpunkt GET _api/web/lists kannst du alle Listen einer SharePoint-Website abrufen. Du erhältst eine JSON-Antwort mit allen vorhandenen Listen inklusive Name, Titel, GUID und Typ. Dieser Endpunkt eignet sich ideal, um die Listenstruktur deiner SharePoint-Seite zu analysieren oder als Basis für automatisierte Prozesse zu nutzen. Schnell, effizient und perfekt für jede Low-Code-Lösung!
Power Apps |
'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"GET",
With(
{
hostname: "contoso.sharepoint.com",
'server-relative-path': "sites/Marketing"
},
$"https://{hostname}/{'server-relative-path'}/_api/web/lists?$select=id,title"
),
{
headers: Table(
{
key: "accept",
value: "application/json"
}
)
}
)
POST
Mit dem SharePoint REST API Endpunkt POST _api/web/lists kannst du eine neue Liste auf einer SharePoint-Website erstellen. Du sendest im Body der Anfrage die Eigenschaften der Liste, wie Titel, TemplateType oder Beschreibung. Der Endpunkt legt dann automatisch die neue Liste an und liefert dir die Details der erstellten Liste im JSON-Format zurück. Ideal, wenn du in Power Automate oder Power Apps automatisiert SharePoint-Listen anlegen möchtest, etwa für Projekte oder neue Teams. So kannst du komplette Listenstrukturen automatisch aufbauen – perfekt für skalierbare Low-Code-Lösungen!
Power Apps |
'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"POST",
With(
{
hostname: "contoso.sharepoint.com",
'server-relative-path': "sites/Marketing"
},
$"https://{hostname}/{'server-relative-path'}/_api/web/lists"
),
{
body: JSON(
{
BaseTemplate: 100,
Description: "ListDescription",
Title: "New List by PowerApps",
NoCrawl: false,
Hidden: false
}
),
headers: Table(
{
key: "accept",
value: "application/json;odata=verbose"
},
{
key: "content-type",
value: "application/json"
}
)
}
)
/web/lists/getBy()
GET
Mit dem
Power Apps |
'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"GET",
With(
{
hostname: "contoso.sharepoint.com",
'server-relative-path': "sites/Marketing",
listId: "46605d23-7f4f-4074-afba-da5e27f4e175"
},
$"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')"
),
{
headers: Table(
{
key: "accept",
value: "application/json;odata=verbose"
},
{
key: "content-type",
value: "application/json"
}
)
}
)
MERGE
Mit dem SharePoint REST API Endpunkt POST _api/web/lists(guid’Liste-ID‘) kannst du die Eigenschaften einer bestehenden SharePoint-Liste ändern. Typische Änderungen sind der Listentitel, die Beschreibung oder bestimmte Einstellungen wie Versionierung. Du sendest die neuen Werte im Body der Anfrage. Die Anfrage liefert in der Regel keine Rückgabe, sondern nur einen Erfolgsstatus.
Power Apps |
With(
{
hostname: "contoso.sharepoint.com",
'server-relative-path': "sites/Marketing",
listId: "46605d23-7f4f-4074-afba-da5e27f4e175"
},
'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"POST",
$"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')",
{
body: JSON(
{
Description: "New Description",
Title: "New Title"
}
),
headers: Table(
{
key: "accept",
value: "application/json;odata=verbose"
},
{
key: "content-type",
value: "application/json"
},
{
key: "X-HTTP-Method",
value: "MERGE"
},
{
key: "X-RequestDigest",
value: 'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"POST",
$"https://{hostname}/{'server-relative-path'}/_api/contextinfo",
{
body: JSON(Blank()),
headers: Table(
{
key: "accept",
value: "application/json;odata=verbose"
}
)
}
).FormDigestValue
},
{
key: "IF-MATCH",
value: 'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"GET",
$"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')?$select=__metadata",
{
headers: Table(
{
key: "accept",
value: "application/json;odata=verbose"
},
{
key: "content-type",
value: "application/json"
}
)
}
).d.__metadata.etag
}
)
}
)
)
DELETE
Mit dem SharePoint REST API Endpunkt DELETE _api/web/lists(guid’Liste-ID‘) kannst du eine vorhandene Liste auf einer SharePoint-Website löschen. Du gibst dabei die GUID der Liste direkt in der URL an. Dieser Aufruf entfernt die Liste samt aller enthaltenen Daten dauerhaft. Besonders praktisch ist das in Power Automate, wenn du automatisiert nicht mehr benötigte Listen aufräumen möchtest, zum Beispiel am Ende eines Projekts. Die Anfrage liefert keine Rückgabe, bestätigt aber den Löschvorgang über den HTTP-Status. Ideal für automatisierte Aufräum-Prozesse in deinen Low-Code-Lösungen!
Power Apps |
'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
"DELETE",
With(
{
hostname: "contoso.sharepoint.com",
'server-relative-path': "sites/Marketing",
listId: "46605d23-7f4f-4074-afba-da5e27f4e175"
},
$"https://{hostname}/{'server-relative-path'}/_api/web/lists/getbyid('{listId}')"
),
{
headers: Table(
{
key: "accept",
value: "*/*"
},
{
key: "IF-MATCH",
value: "*"
}
)
}
)