Suche

SharePoint API /web/lists-items

Themen

SharePoint-Listeneinträge per REST API verwalten

In diesem Artikel erfährst du, wie du mit der SharePoint API Web Lists Items‑Schnittstelle Listeneinträge per REST abrufst, erstellt, aktualisierst und löschst. Mit der SharePoint REST API List Items kannst du CRUD‑Operationen direkt aus Power Automate oder Power Apps automatisieren.

Du kannst:

  • Alle Listeneinträge abrufen
  • Bestimmte Felder gezielt abfragen
  • Abfragen filtern und sortieren (z.B. nur die letzten 10 Einträge oder nur Einträge mit bestimmtem Status)
  • Einzelne Einträge aktualisieren, hinzufügen oder löschen (je nach HTTP-Methode)
  • Anhänge bearbeiten

Der Endpunkt _api/web/lists(guid’LIST-ID‘)/items ist einer der einfachsten und schnellsten Wege, um SharePoint-Listen-Daten per REST API zu holen.

Gerade wenn du Power Apps oder Power Automate Flows baust, die Listen-Daten dynamisch abrufen oder verarbeiten sollen, ist dieser Endpunkt ein echtes Power-Tool.

/web/lists/getBy()/items

 

GET

Der SharePoint REST API Endpunkt GET _api/web/lists(guid’Liste-ID‘)/items ruft alle Listeneinträge einer bestimmten SharePoint-Liste ab. Du erhältst eine JSON-Antwort mit allen Elementen der Liste, inklusive ihrer Felder und Werte. Du kannst den Aufruf auch erweitern, um bestimmte Felder, Filter oder Sortierungen anzuwenden. Dieser Endpunkt ist essenziell für jede Lösung, die SharePoint-Daten nutzt!

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}')/items"
    ),
    {
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json;odata=verbose"
            }
        )
    }
)

POST

Mit dem SharePoint REST API Endpunkt `POST _api/web/lists(guid’Liste-ID‘)/items` kannst du neue Einträge in einer bestimmten SharePoint-Liste erstellen. Im Body der Anfrage übergibst du die Werte für die gewünschten Felder, zum Beispiel Titel, Datum oder benutzerdefinierte Spalten. Nach erfolgreichem Aufruf wird das neue Listenelement automatisch gespeichert und die Antwort enthält alle Details des erstellten Eintrags, inklusive ID und Feldwerte. 

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "POST",
    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}')/items"
    ),
    {
        body: JSON(
            {
                '__metadata': {
                    type: '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}')?$select=ListItemEntityTypeFullName"
                        ),
                        {
                            headers: Table(
                                {
                                    key: "accept",
                                    value: "application/json"
                                }
                            )
                        }
                    ).ListItemEntityTypeFullName
                },
                Title: "Neuer Eintrag"
            }
        ),
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json;odata=verbose"
            }
        )
    }
)

/web/lists/getBy()/items(id)

 

GET

Mit dem SharePoint REST API Endpunkt GET _api/web/lists(guid’Liste-ID‘)/items(ID) kannst du gezielt einen einzelnen Listeneintrag anhand seiner ID abrufen. Du bekommst alle Details dieses Eintrags im JSON-Format zurück, inklusive aller Feldwerte wie Titel, Ersteller, Änderungsdatum oder benutzerdefinierte Spalten. Dieser Endpunkt ist essenziell, wenn du präzise auf einzelne SharePoint-Daten zugreifen möchtest – sauber, schnell und extrem nützlich für Low-Code-Lösungen!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "GET",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})?$select=id,Title"
    ),
    {

        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json;odata=verbose"
            }
        )
    }
)

POST

Mit dem SharePoint REST API Endpunkt POST _api/web/lists(guid’Liste-ID‘)/items(ID) kannst du gezielt ein vorhandenes Listenelement in einer SharePoint-Liste ändern. Du gibst die ID des Elements in der URL an und überträgst die zu ändernden Felder im Body. Typisch ist das Anpassen von Feldern wie Titel, Status oder benutzerdefinierte Werte. Die Antwort enthält keinen Body, sondern nur einen Erfolgsstatus.

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "POST",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})?$select=id,Title"
    ),
    {
        body: JSON(
            {
                '__metadata': {
                    type: '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}')?$select=ListItemEntityTypeFullName"
                        ),
                        {
                            headers: Table(
                                {
                                    key: "accept",
                                    value: "application/json"
                                }
                            )
                        }
                    ).ListItemEntityTypeFullName
                },
                Title: "Neuer Titel"
            }
        ),
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json;odata=verbose"
            },
            {
                key: "If-Match",
                value: "*"
            },
            {
                key: "X-HTTP-Method",
                value: "MERGE"
            }
        )
    }
)

DELETE

Mit dem SharePoint REST API Endpunkt DELETE _api/web/lists(guid’Liste-ID‘)/items(ID) kannst du gezielt einen Listeneintrag anhand seiner ID löschen. Du gibst in der URL die GUID der Liste sowie die ID des zu löschenden Elements an. Der Eintrag wird dabei vollständig aus der Liste entfernt, inklusive aller zugehörigen Daten. Nach erfolgreichem Löschen liefert SharePoint keinen Inhalt zurück, sondern nur einen HTTP-Status, der den Erfolg des Löschvorgangs bestätigt. Schnell, sauber, effektiv!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "DELETE",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})"
    ),
    {
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json"
            },
            {
                key: "If-Match",
                value: "*"
            },
            {
                key: "X-HTTP-Method",
                value: "DELETE"
            }
        )
    }
)

/web/lists/getBy()/items(id)/AttachmentFiles

 

GET

Mit dem SharePoint REST API Endpunkt GET _api/web/lists(guid’Liste-ID‘)/items(ID)/AttachmentFiles kannst du alle Dateianhänge eines bestimmten Listeneintrags abrufen. Du erhältst eine JSON-Antwort mit allen angehängten Dateien, inklusive Dateinamen, URLs und weiteren Metadaten. Besonders praktisch in Szenarien, wo Listen als Dateiablage dienen oder Formulare mit Anhängen genutzt werden. Damit holst du dir schnell alle relevanten Dateien eines Eintrags!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "GET",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/AttachmentFiles"
    ),
    {
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json;odata=verbose"
            }
        )
    }
)

GET-File

Mit dem SharePoint REST API Endpunkt GET _api/web/lists(guid’Liste-ID‘)/items(ID)/AttachmentFiles(‚Filename‘) kannst du gezielt die Metadaten einer bestimmten angehängten Datei eines Listeneintrags abrufen. Du erhältst Informationen wie Dateiname, Server-URL und weitere Details im JSON-Format. Das ist besonders nützlich in Power Apps oder Power Automate, wenn du einzelne Anhänge gezielt anzeigen, prüfen oder weiterverarbeiten möchtest, etwa für Download-Links oder Detailansichten. Dieser Endpunkt hilft dir, präzise auf Anhänge zuzugreifen, ohne alle Dateien abrufen zu müssen – perfekt für fokussierte, datengetriebene Anwendungen!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "GET",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1,
            fileName: "JsonEmpty.json"
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/AttachmentFiles('{fileName}')"
    ),
    {
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            }
        )
    }
)

POST

Mit dem SharePoint REST API Endpunkt POST _api/web/lists(guid’Liste-ID‘)/items(ID)/AttachmentFiles/add kannst du eine Datei als Anhang zu einem bestimmten Listeneintrag hochladen. Du übergibst dabei den Dateinamen und den Dateiinhalt im Body der Anfrage. Nach erfolgreichem Upload speichert SharePoint den Anhang direkt am angegebenen Listeneintrag und gibt Informationen zur hochgeladenen Datei im JSON-Format zurück. Dieser Endpunkt ist ideal für Power Apps oder Power Automate, wenn du automatisiert Anhänge zu Listeneinträgen hinzufügen möchtest. Einfach, schnell und perfekt für datengetriebene Lösungen!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "POST",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1,
            fileName: "EmptyJSONFile.json"
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/AttachmentFiles/add(FileName='{fileName}')"
    ),
    {
        body: JSON({}),
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "content-type",
                value: "application/json"
            }
        )
    }
)

PUT

Mis

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "POST",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1,
            fileName: "JsonFile.json"
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/AttachmentFiles('{fileName}')/$value"
    ),
    {
        body: JSON({key: 1, id: GUID()}),
        headers: Table(
                {
                    key: "X-HTTP-Method",
                    value: "PUT"
                },
                {
                    key: "X-RequestDigest",
                    value: 'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
                        "POST",
                        With(
                            {
                                hostname: "contoso.sharepoint.com",
                                'server-relative-path': "sites/Marketing"
                            },
                            $"https://{hostname}/{'server-relative-path'}/_api/contextinfo"
                        ),
                        {
                            body: JSON(Blank()),
                            headers: Table(
                                {
                                    key: "accept",
                                    value: "application/json;odata=verbose"
                                }
                            )
                        }
                    ).FormDigestValue
                }
        )
    }
)

DELETE

Mit dem SharePoint REST API Endpunkt DELETE _api/web/lists(guid’Liste-ID‘)/items(ID)/AttachmentFiles(‚<Dateiname>‘) kannst du gezielt einen bestimmten Dateianhang von einem Listeneintrag löschen. Du gibst dabei den genauen Dateinamen in der URL an. Nach dem Aufruf wird die Datei dauerhaft entfernt. Besonders praktisch, wenn du in Power Automate automatisch Anhänge löschen möchtest, zum Beispiel zur Datenbereinigung oder um veraltete Dateien zu entfernen. SharePoint liefert dabei keine Antwort im Body zurück, sondern nur einen HTTP-Status zur Bestätigung. Ideal für saubere, automatisierte Datenpflege!

Power Apps

'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
    "DELETE",
    With(
        {
            hostname: "contoso.sharepoint.com",
            'server-relative-path': "sites/Marketing",
            listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
            itemId: 1,
            fileName: "JsonEmpty.json"
        },
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/AttachmentFiles('{fileName}')"
    ),
    {
        headers: Table(
            {
                key: "accept",
                value: "application/json;odata=verbose"
            },
            {
                key: "X-HTTP-Method",
                value: "DELETE"
            }
        )
    }
)

/web/lists/getBy()/items(id)/validateUpdateListItem

 

POST

Dieser Endpunkt ist ideal, wenn du Listeneinträge in SharePoint aktualisieren möchtest. Mit „POST _api/web/lists(‚{listId}‘)/items({itemId})/validateUpdateListItem“ kannst du Felder eines bestimmten Listenelements ändern. Praktisch: Er prüft dabei automatisch, ob die Werte korrekt sind.

Power Apps

With(
    {
        hostname: "contoso.sharepoint.com",
        'server-relative-path': "sites/Marketing",
        listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
        itemId: First(
            'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
                "GET",
                With(
                    {
                        hostname: "contoso.sharepoint.com",
                        'server-relative-path': "sites/Marketing",
                        listId: "46605d23-7f4f-4074-afba-da5e27f4e175",
                        folderName: "Ordnername"
                    },
                    $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items?$filter=FSObjType eq 1 and FileLeafRef eq '{folderName}'&$select=Id,FileLeafRef,FileRef"
                ),
                {
                    headers: Table(
                        {
                            key: "accept",
                            value: "application/json"
                        }
                    )
                }
            ).value
        ).Id
    },
    'HTTPwithMicrosoftEntraID(preauthorized)'.InvokeHttp(
        "POST",
        $"https://{hostname}/{'server-relative-path'}/_api/web/lists('{listId}')/items({itemId})/validateUpdateListItem",
        {
            body: JSON(
                {
                    formValues: [
                        {
                            FieldName: "FileLeafRef",
                            FieldValue: "Neuer Ordnername"
                        }
                    ]
                }
            ),
            headers: Table(
                {
                    key: "accept",
                    value: "application/json"
                }
            )
        }
    )
)

noch mehr interessante Beiträge

Nach oben scrollen