> This page is for Plattform, version V4 (default).
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - V4 Experimental: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Vorgängerversion: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# Leitfaden für die Migration von der älteren Frame.io-API nach V4

## Einführung

Die Frame.io V4-API ist eine Neugestaltung der älteren API, die oft als *V2-Endpunkte* oder *Frame.io V3-API* bezeichnet wird.Bei der Neugestaltung wurden alle neuen Möglichkeiten und Funktionen von Frame V4 voll ausgenutzt, während die gesamte relevante Funktionalität der älteren API beibehalten wurde.In diesem Leitfaden werden die wichtigsten Unterschiede zwischen den älteren und den V4-APIs beschrieben, und Sie erhalten eine schrittweise Anleitung für eine reibungslose Migration.

## Migrations-Checkliste

#### Authentifizierung

Für V4-migrierte Konten, die noch nicht über die Adobe Admin Console verwaltet werden, können Sie weiterhin ältere Entwicklungstoken verwenden, die auf der [Frame.io-Entwickelnden-Site](/) verwaltet werden. Sie müssen Ihren API-Anfragen aber einen Header mit dem Schlüssel `x-frameio-legacy-token-auth` und dem Wert `true` hinzufügen.Führen Sie ansonsten die Schritten in dem unten stehenden Abschnitt [Authentifizierung](#adobe-developer-console-managed-authentication) aus.

#### Bestehende API-Aufrufe aktualisieren

Alle älteren API-Routen müssen den neuen Routen der V4-API und den JSON-Payloads zugeordnet werden.Weiter unten finden Sie eine recht umfassende [Zuordnungstabelle](#endpoint-mappings-legacy-api-to-v4), die bei diesem Prozess hilft.

#### Tests werden dringend empfohlen

\*\*Testen Sie gründlich.\*\*Da es viele Änderungen an der API gibt, wird empfohlen, sie mit einem V4-Konto zu testen. So wird gewährleistet, dass die neue API wie erwartet funktioniert.

#### Dedizierte Anmeldung implementieren

Implementieren Sie aufgrund separater Authentifizierungs-URLs eine dedizierte Anmeldemethode für V4.Die Authentifizierungs-URLs von V4 unterscheidet sich von der älteren API; es werden keine Konten zurückgegeben, die noch nicht auf V4 aktualisiert wurden. Dies sollte als separate Integration behandelt werden.

> **Note**
>
> Falls es einen Endpunkt gibt, der nicht in der Zuordnungstabelle unten aufgeführt ist und Sie Fragen dazu haben, wenden Sie sich bitte unter [support@frame.io](mailto:support@frame.io) an unser Support-Team.

## Von Adobe Developer Console verwaltete Authentifizierung

Für V4-migrierte Konten, die über die [Adobe Developer Console](https://developer.adobe.com/developer-console/) verwaltet werden, müssen Sie die V4-API mit OAuth 2.0 verwenden.Führen Sie die folgenden Schritte aus.

#### Adobe-Projekt erstellen

**Erstellen Sie in der Adobe Developer Console ein Projekt** und fügen Sie Frame.io als Produkt hinzu.

#### Authentifizierungstyp wählen

**Authentifizieren**Weitere Informationen finden Sie im [Authentifizierungsleitfaden](https://developer.adobe.com/frameio/guides/Authentication/).Falls Ihr V4-Konto noch nicht über die Adobe Admin Console verwaltet wird, können Sie diesen Schritt überspringen.\* **Benutzenden-Authentifizierung:** Über eine Client-ID und/oder einen Clientschlüssel wird eine Verbindung zu Frame hergestellt. Benutzende müssen sich mit ihren Benutzendennamen und Passwort anmelden. \* **Server-zu-Server-Authentifizierung**: Über eine Client-ID und/oder einen Clientschlüssel wird eine Verbindung zu Frame hergestellt. Dafür sind jedoch keine Benutzenden erforderlich, die sich über einen Browser anmelden.

#### Bearer-Authentifizierung implementieren

**JWT Bearer-Authentifizierung:** Übergeben Sie für jede API-Anfrage den Authentifizierungstoken über einen Header mit dem Schlüssel `Authorization` und dem Wert `Bearer<ims_access_token></ims_access_token>`.

## Endpunktzuordnungen (ältere API zu V4)

> **Note**
>
> Falls Sie die Authentifizierung mit älteren Entwicklungstoken verwenden, müssen Sie Ihren API-Anfragen einen Header mit dem Schlüssel x-frameio-legacy-token-auth und dem Wert „true“ hinzufügen.

Allgemeine Hinweise zur Unterstützung bei der Migration:

#### Payloads

Die Anfrage- und Antwort-Payloads können unterschiedlich sein.

#### Teams → Arbeitsbereiche

„Teams" in der älteren API entsprechen in V4 „Arbeitsbereichen".

#### Elemente

„Assets" in der älteren API sind in V4 jetzt aufgeteilt in „Dateien“, „Ordner“ und „Versionsstapel“.

#### Berechtigungen

Berechtigungen und Rollen sind in V4 unterschiedlich, wodurch die Struktur der Endpunkte verändert wird.In V4 haben Sie Benutzendenrollen für Arbeitsbereiche und Projekte.Weitere Details finden Sie unter [Benutzendenberechtigungen verwalten](/platform/v4/docs/guides/managing-user-permissions).

### 1.Konten und Benutzendeninfos

| Methode | Endpunkt Vorgängerversion                                                                                           | Methode | V4-Endpunkt                                                                    | Hinweise                                                                                    |
| ------- | ------------------------------------------------------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- |
| **GET** | `/v2/accounts` ([Abrufen von Konten für Benutzende](/platform/v2/api-reference/accounts/get-accounts))              | **GET** | `/v4/accounts` ([Konten auflisten](/platform/v4/api-reference/accounts/index)) | In V4 werden alle Konten zurückgegeben, auf die Benutzende zugreifen können.                |
| **GET** | `/v2/accounts/{account_id}` ([Abrufen von Konten anhand der ID](/platform/v2/api-reference/accounts/get-account))   | -/-     | -/-                                                                            | Informationen über ein bestimmtes Konto finden Sie im Endpunkt „Konten auflisten“.          |
| **GET** | `/v2/me` ([Abrufen des aktuellen Benutzers bzw. der aktuellen Benutzerin](/platform/v2/api-reference/users/get-me)) | **GET** | `/v4/me` ([Benutzendendetails](/platform/v4/api-reference/users/show))         | Ruft das Profil des aktuellen Benutzers bzw. der aktuellen Benutzerin ab.                   |
| **GET** | `/v2/accounts/{account_id}/membership`                                                                              | -/-     | -/-                                                                            | Rollen und Berechtigungen werden über Arbeitsbereichs- und Projektberechtigungen verwaltet. |

### 2.Arbeitsbereiche (ersetzen Team-Endpunkte)

| Methode  | Endpunkt Vorgängerversion                                                                                                               | Methode   | V4-Endpunkt                                                                                                                                                                                                                     | Hinweise                                                                                          |
| -------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **GET**  | `/v2/accounts/{account_id}/teams` ([Abrufen aller Teams in einem Konto](/platform/v2/api-reference/teams/get-teams-by-account))         | **GET**   | `/v4/Accounts/{Account_id}/Workspaces` ([Auflisten von Arbeitsbereichen](/platform/v4/api-reference/workspaces/index))                                                                                                          | Älteres API-Konzept von „Teams“ → in V4 „Arbeitsbereiche“.                                        |
| **POST** | `/v2/accounts/{account_id}/teams` ([Erstellen eines Teams für das gegebene Konto](/platform/v2/api-reference/teams/create-team))        | **POST**  | `/v4/accounts/{account_id}/workspaces` ([Erstellen eines Arbeitsbereichs](/platform/v4/api-reference/workspaces/create))                                                                                                        | Der Hauptteil ist ähnlich (Name usw.).Die Antwort ist ein Arbeitsbereichsobjekt, kein Teamobjekt. |
| **GET**  | `/v2/teams/{team_id}` ([Abrufen von Teams](/platform/v2/api-reference/teams/get-team))                                                  | **GET**   | `/v4/accounts/{account_id}/workspaces/{workspace_id}` ([Anzeigen von Arbeitsbereichen](/platform/v4/api-reference/workspaces/show))                                                                                             | Team-ID → in V4 Arbeitsbereichs-ID                                                                |
| **GET**  | `/v2/teams/{team_id}/members` ([Abrufen von Teammitgliedern](/platform/v2/api-reference/teams/get-team-members))                        | **GET**   | `/v4/accounts/{account_id}/workspaces/{workspace_id}/users` [(Abrufen von Arbeitsbereichsmitgliedern)](/platform/v4/api-reference/workspace-permissions/index)                                                                  | Gibt alle Benutzenden in einem Arbeitsbereich zurück.                                             |
| **POST** | `/v2/teams/{team_id}/members` ([Hinzufügen von Teammitgliedern](/platform/v2/api-reference/teams/add-team-member))                      | **PATCH** | `/v4/accounts/{account_id}/workspaces/{workspace_id}/users/{user_id}` ([Hinzufügen oder Aktualisieren von Benutzendenrollen in Arbeitsbereichen](/platform/v4/api-reference/workspace-permissions/workspace-user-roles-update)) | Ermöglicht das Hinzufügen oder Entfernen von Benutzenden aus einem Arbeitsbereich.                |
| **GET**  | `/v2/teams/{team_id}/membership` ([Abrufen des Benutzenden-Abos für das Team](/platform/v2/api-reference/teams/get-membership-by-team)) | -/-       | -/-                                                                                                                                                                                                                             | Rollen und Berechtigungen werden über Arbeitsbereichs- und Projektberechtigungen verwaltet.       |

### 3.Projekte

| Methode    | Endpunkt Vorgängerversion                                                                                                                                   | Methode    | V4-Endpunkt                                                                                                                                                                                                  | Hinweise                                                                                                                                              |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GET**    | `/v2/teams/{team_id}/projects` ([Abrufen von Projekten nach Team](/platform/v2/api-reference/projects/get-projects-by-team))                                | **GET**    | `/v4/accounts/{account_id}/workspaces/{workspace_id}/projects` ([Auflisten von Projekten](/platform/v4/api-reference/projects/index))                                                                        | In V4 müssen sowohl `account_id` als auch `workspace_id` angegeben werden.                                                                            |
| **GET**    | `/v2/projects/shared`                                                                                                                                       | **GET**    | `/v4/accounts/{account_id}/invited_projects` ([Auflisten eingeladener Projekte](https://next.developer.frame.io/platform/api-reference/projects/invited-projects-index))                                     | Listet nur eingeladene Projekte auf. Mit `/v4/accounts/{account_id}/projects` werden alle Projekte aufgelistet, einschließlich eingeladener Projekte. |
| **POST**   | `/v2/teams/{team_id}/projects` ([Erstellen von Projekten](/platform/v2/api-reference/projects/create-project))                                              | **POST**   | `/v4/accounts/{account_id}/workspaces/{workspace_id}/projects` ([Erstellen von Projekten](/platform/v4/api-reference/projects/create))                                                                       | Der Hauptteil ist ähnlich: `{ &quot;name&quot;: &quot;MyProject&quot;, ... }`.                                                                        |
| **GET**    | `/v2/projects/{project_id}` ([Abrufen von Projekten anhand der ID](/platform/v2/api-reference/projects/get-project))                                        | **GET**    | `/v4/accounts/{account_id}/projects/{project_id}` ([Anzeigen von Projekten](/platform/v4/api-reference/projects/show))                                                                                       | Erfordert `account_id` und `project_id`.                                                                                                              |
| **PUT**    | `/v2/projects/{project_id}` ([Aktualisieren von Projekten](/platform/v2/api-reference/projects/update-project))                                             | **PATCH**  | `/v4/accounts/{account_id}/workspaces/{workspace_id}/projects/{project_id}` ([Aktualisieren von Projekten](/platform/v4/api-reference/projects/update))                                                      | In V4 wird für partielle Aktualisierungen PATCH verwendet.                                                                                            |
| **DELETE** | `/v2/projects/{project_id}` [(Löschen von Projekten anhand der ID)](/platform/v2/api-reference/projects/delete-project)                                     | **DELETE** | `/v4/accounts/{account_id}/workspaces/{workspace_id}/projects/{project_id}` [(Löschen von Projekten)](/platform/v4/api-reference/projects/delete)                                                            | Entfernt ein Projekt.                                                                                                                                 |
| **GET**    | `/v2/projects/{project_id}/collaborators` ([Abrufen von Projektmitwirkenden](/platform/v2/api-reference/projects/get-project-collaborators))                | **GET**    | `/v4/accounts/{account_id}/projects/{project_id}/users` ([Auflisten von Projektbenutzendenrollen](/platform/v4/api-reference/project-permissions/index))                                                     | Gibt alle Benutzenden in einem Projekt zurück (nächstes Äquivalent zu dem älteren Mitwirkenden-Endpunkt).                                             |
| **POST**   | `/v2/projects/{project_id}/collaborators` ([Hinzufügen von Mitwirkenden zu einem Projekt](/platform/v2/api-reference/projects/add-collaborator-to-project)) | **PATCH**  | `/v4/accounts/{account_id}/projects/{project_id}/users/{user_id}` ([Aktualisieren von Benutzendenrollen für das gegebene Projekt](/platform/v4/api-reference/project-permissions/project-user-roles-update)) | Ermöglicht das Hinzufügen oder Entfernen von Benutzenden aus einem Projekt (nächstes Äquivalent zu dem älteren Mitwirkenden-Endpunkt).                |

### 4.Ordner

| Methode    | Endpunkt Vorgängerversion                                                                                         | Methode    | V4-Endpunkt                                                                                                                                             | Hinweise                                                                                                                                                                         |
| ---------- | ----------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **GET**    | `/v2/assets/{asset_id}/children` ([Abrufen untergeordneter Assets](/platform/v2/api-reference/assets/get-assets)) | **GET**    | `/v4/accounts/{account_id}/folders/{folder_id}/children` ([Auflisten untergeordneter Elemente eines Ordners](/platform/v4/api-reference/folders/index)) | Falls Ihre `asset_id` in der älteren API ein Ordner war, ist sie in V4 jetzt `folder_id`.                                                                                        |
| **POST**   | `/v2/assets/{parent_asset_id}/children` ([Erstellen von Assets](/platform/v2/api-reference/assets/create-asset))  | **POST**   | `/v4/accounts/{account_id}/folders/{folder_id}/folders` ([Erstellen von Ordnern](/platform/v4/api-reference/folders/create))                            | In der älteren API haben Sie `&quot;type&quot;: &quot;folder&quot;` verwendet, in V4 arbeiten Sie mit `{&quot;data&quot;: {&quot;name&quot;: &quot;Folder name&quot;}}`.         |
| **GET**    | `/v2/assets/{asset_id}` ([Abrufen von Assets](/platform/v2/api-reference/assets/get-asset))                       | **GET**    | `/v4/accounts/{account_id}/folders/{folder_id}` ([Anzeigen von Ordnern](/platform/v4/api-reference/folders/show))                                       | Ältere API erfordert "type": "folder" , V4-API erfordert `folder_id` und `account_id` in Pfadparametern.                                                                         |
| **PUT**    | `/v2/assets/{asset_id}` ([Aktualisieren von Assets](/platform/v2/api-reference/assets/update-asset))              | **PATCH**  | `/v4/accounts/{account_id}/folders/{folder_id}` ([Aktualisieren von Ordnern](/platform/v4/api-reference/folders/update))                                | Ältere API: `asset_id` ist Ihre Ordner-ID V4-API: Hauptteil: `{&quot;data&quot;: {&quot;name&quot;: &quot;New Folder Name&quot;}}`.                                              |
| **DELETE** | `/v2/assets/{asset_id}` ([Löschen von Assets](/platform/v2/api-reference/assets/delete-asset))                    | **DELETE** | `/v4/accounts/{account_id}/folders/{folder_id}` ([Löschen von Ordnern)](/platform/v4/api-reference/folders/delete)                                      | Entfernt einen Ordner.                                                                                                                                                           |
| -/-        | -/-                                                                                                               | **GET**    | `/v4/Accounts/{Account_id}/folders/{folder_id}/folders` ([Auflisten von Ordnern](/platform/v4/api-reference/folders/list))                              | Listet Ordner in einem gegebenen Ordner auf.(Rufen Sie die root\_folder\_id aus der Route „Projekt anzeigen“ ab. Damit können Sie alle Ordner auf der höchsten Ebene auflisten.) |

### 5.Versionsstapel

| Methode    | Endpunkt Vorgängerversion                                                                                           | Methode   | V4-Endpunkt                                                                                                                                                                     | Hinweise                                                                                                                                               |
| ---------- | ------------------------------------------------------------------------------------------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **POST**   | `/v2/assets/{destination_folder}/copy` ([Kopieren von Assets](/platform/v2/api-reference/assets/copy-asset))        | **POST**  | `/v4/accounts/{account_id}/version_stacks/{version_stack_id}/copy` ([Kopieren von Versionsstapeln](/platform/api-reference/version-stacks/copy))                                | Vorgängerversion: Zielordner im Pfad; mit einem Versionsstapel in der Anfrage verwenden.V4: Versionsstapel kopieren.                                   |
| **POST**   | `/v2/assets/{asset_id}/version` ([Versionieren von Assets](/platform/v2/api-reference/assets/add-version-to-asset)) | **POST**  | `/v4/accounts/{account_id}/folders/{folder_id}/version_stacks` ([Erstellen von Versionsstapeln](/platform/api-reference/version-stacks/create))                                 | Versionsstapel erstellen.Erfordert 2–10 Datei-IDs im Anfragefließtext.                                                                                 |
| **POST**   | `/v2/assets/{asset_id}/version` ([Versionieren von Assets](/platform/v2/api-reference/assets/add-version-to-asset)) | **PATCH** | `/v4/accounts/{account_id}/files/{file_id}/move` ([Verschieben von Dateien in Versionsstapel](/platform/api-reference/files/move))                                              | Verschiebt eine Datei in einen vorhandenen Versionsstapel.Verwenden Sie die `version_stack_id` im Anfragefließtext als `parent_id`.                    |
| **GET**    | `/v2/assets/{asset_id}/children` ([Abrufen untergeordneter Assets](/platform/v2/api-reference/assets/get-assets))   | **GET**   | `/v4/accounts/{account_id}/version_stacks/{version_stack_id}/children` ([Auflisten untergeordneter Elemente des Versionsstapels](/platform/api-reference/version-stacks/index)) | Vorgängerversion: Mit einer asset\_id für Versionsstapel verwenden.V4: Listet untergeordnete Elemente (Dateien/Versionen) in einem Versionsstapel auf. |
| -/-        | -/-                                                                                                                 | **GET**   | `/v4/accounts/{account_id}/folders/{folder_id}/version_stacks` ([Auflisten von Versionsstapeln](/platform/api-reference/version-stacks/list))                                   | Listet Versionsstapel in einem Ordner auf.                                                                                                             |
| -/-        | -/-                                                                                                                 | **PATCH** | `/v4/accounts/{account_id}/version_stacks/{version_stack_id}/move` ([Verschieben von Versionsstapeln](/platform/api-reference/version-stacks/move))                             | Verschiebt Versionsstapel in einen anderen Ordner.                                                                                                     |
| **GET**    | `/v2/assets/{asset_id}` ([Abrufen von Assets](/platform/v2/api-reference/assets/get-asset))                         | **GET**   | `/v4/accounts/{account_id}/version_stacks/{version_stack_id}` ([Anzeigen von Versionsstapeln](/platform/api-reference/version-stacks/show))                                     | Vorgängerversion: Mit einer asset\_id für Versionsstapel verwenden.V4: Details des Versionsstapels anzeigen.                                           |
| **DELETE** | `/v2/assets/{asset_id}/unversion` (Löschen der Aufhebung der Versionskontrolle)                                     | -/-       | -/-                                                                                                                                                                             | Das Aufheben der Versionierung wird derzeit nicht in V4 unterstützt.                                                                                   |

### 6.Dateien

Hinweis: In V4 gibt es jetzt zwei Endpunkte zum Erstellen von Dateien (lokal und über S3-Upload).Weitere Details finden Sie unter [Hochladen von Dateien](/platform/v4/docs/guides/how-to-upload).

| Methode    | Endpunkt Vorgängerversion                                                                                        | Methode    | V4-Endpunkt                                                                                                                                                    | Hinweise                                                                                                                                                                                    |
| ---------- | ---------------------------------------------------------------------------------------------------------------- | ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **POST**   | `/v2/assets/{parent_asset_id}/children` ([Erstellen von Assets](/platform/v2/api-reference/assets/create-asset)) | **POST**   | `/v4/accounts/{account_id}/folders/{folder_id}/files/local_upload` ([Datei erstellen (lokaler Upload)](/platform/v4/api-reference/files/create_local_upload))  | Ältere API: erfordert Name, Typ, Dateityp, Dateigröße und auto\_version\_id V4-API: In den Pfadparametern sind account\_id und folder\_id erforderlich, in der Payload file\_size und Name. |
| -/-        | -/-                                                                                                              | **POST**   | `/v4/accounts/{account_id}/folders/{folder_id}/files/remote_upload` ([Datei erstellen (Remote-Upload)](/platform/v4/api-reference/files/create_remote_upload)) | In den Pfadparametern sind account\_id und folder\_id erforderlich, in der Payload Quell-URL und Name.                                                                                      |
| **GET**    | `/v2/assets/{asset_id}` ([Abrufen von Assets](/platform/v2/api-reference/assets/get-asset))                      | **GET**    | `/v4/accounts/{account_id}/files/{file_id}` ([Anzeigen von Dateien](/platform/v4/api-reference/files/show))                                                    | Dateidetails anzeigen - Es sind viele Einbindungen verfügbar, um in der Antwort zusätzliche Dateidetails zurückzugeben.                                                                     |
| -/-        | -/-                                                                                                              | **GET**    | `/v4/accounts/{account_id}/files/{file_id}/status` ([Abrufen von Datei-Metadaten](/platform/api-reference/files/show-file-upload-status))                      | Ruft Status eines Remote-Uploads von einem Endpunkt „Datei erstellen (Remote-Upload)“ ab.                                                                                                   |
| **PUT**    | `/v2/assets/{asset_id}` ([Aktualisieren von Assets](/platform/v2/api-reference/assets/update-asset))             | **PATCH**  | `/v4/accounts/{account_id}/files/{file_id}` ([Aktualisieren von Dateien](/platform/v4/api-reference/files/update))                                             | Aktualisiert den Dateinamen.                                                                                                                                                                |
| **DELETE** | `/v2/assets/{asset_id}` ([Löschen von Assets](/platform/v2/api-reference/assets/delete-asset))                   | **DELETE** | `/v4/accounts/{account_id}/files/{file_id}` ([Löschen von Dateien](/platform/v4/api-reference/files/delete))                                                   | Bei Erfolg: „204 No Content“.                                                                                                                                                               |

### 7.Kommentare

Derzeit werden die meisten Kommentarfunktionen der V4-API unterstützt.

> **Info**
>
> **In Kürze erhältliche Funktionen:**
>
> * Reaktionen auf Kommentare, d. h. Emojis
> * Anzeigen oder Ändern des Kommentarabschlussstatus
> * Sehen, wer einen Kommentar angesehen hat (Impressions)

> **Note**
>
> Das Feld „Zeitstempel“ stellt den Einzelbild-Stempel dar, auf dem der Kommentar hinterlassen wurde (beginnend bei 1), nicht den Zeitstempel.

| Methode    | Endpunkt Vorgängerversion                                                                                                                                | Methode    | V4-Endpunkt                                                                                                                  | Hinweise                                                                                                              |
| ---------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **GET**    | `/v2/assets/{asset_id}/comments` ([Abrufen aller Kommentare und Antworten aus einem Kommentar-Thread](/platform/v2/api-reference/comments/get-comments)) | **GET**    | `/v4/accounts/{account_id}/files/{file_id}/comments` ([Auflisten von Kommentaren](/platform/api-reference/comments/index))   | Listet Kommentare zu einer Datei auf.                                                                                 |
| **POST**   | `/v2/assets/{asset_id}/comments` ([Erstellen von Kommentaren](/platform/v2/api-reference/comments/create-comment))                                       | **POST**   | `/v4/accounts/{account_id}/files/{asset_id}/comments` ([Erstellen von Kommentaren](/platform/api-reference/comments/create)) | Erstellt einen Kommentar.Der Hauptteil ist ähnlich: `{&quot;text&quot;:&quot;Nice&quot;,&quot;timestamp&quot;:12.3}`. |
| **GET**    | `/v2/comments/{comment_id}` ([Abrufen von Kommentaren anhand der ID](/platform/v2/api-reference/comments/get-comment))                                   | **GET**    | `/v4/accounts/{account_id}/comments/{comment_id}` ([Anzeigen von Kommentaren](/platform/api-reference/comments/show))        | Ruft einen einzelnen Kommentar anhand der ID ab.                                                                      |
| **PUT**    | `/v2/comments/{comment_id}` ([Aktualisieren von Kommentaren](/platform/v2/api-reference/comments/update-comment))                                        | **PATCH**  | `/v4/accounts/{account_id}/comments/{comment_id}` ([Aktualisieren von Kommentaren](/platform/api-reference/comments/update)) | Aktualisiert Text, Uhrzeit usw.                                                                                       |
| **DELETE** | `/v2/comments/{comment_id}` ([Löschen von Kommentaren](/platform/v2/api-reference/comments/delete-comment))                                              | **DELETE** | `/v4/accounts/{account_id}/comments/{comment_id}` ([Löschen von Kommentaren](/platform/api-reference/comments/delete))       | Entfernt einen Kommentar.                                                                                             |
| **GET**    | `/v2/comments/{comment_id}/impressions` ([Abrufen von Impressions](/platform/v2/api-reference/comments/get-comment-impressions))                         | -/-        | -/-                                                                                                                          | Impressions werden derzeit nicht in V4 unterstützt.                                                                   |

### 8.Freigaben (Review Links / Präsentationen)

In Frame V4 werden Freigabe-Links nicht mehr zwischen Review Links (Links zum Anzeigen und Kommentieren) und Präsentations-Links aufgeteilt.In V4 kann der Freigabe-Link jetzt mit unterschiedlichen Stilen konfiguriert werden, damit er dem Review- oder Präsentationserlebnis entspricht.

Hinweis: Die Interaktion mit älteren Review Links und Präsentationen über die V4-API wird nicht unterstützt.

| Methode    | Endpunkt Vorgängerversion                                                                                                                           | Methode    | V4-Endpunkt                                                                                                                                                               | Hinweise                                                                                                                                                     |
| ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **GET**    | `/v2/projects/{project_id}/review_links` ([Auflisten von Review Links in einem Projekt](/platform/v2/api-reference/review-links/list))              | **GET**    | `/v4/accounts/{account_id}/projects/{project_id}/shares` ([Auflisten von Freigaben](https://developer.adobe.com/frameio/api/current/#tag/Shares/operation/shares.index))  | Listet Freigaben in einem Projekt auf (beachten Sie, dass hier keine Review Links und Präsentationen aus der Vorgängerversion enthalten sind).               |
| **POST**   | `/v2/projects/{project_id}/review_links` ([Erstellen von Review Links](/platform/v2/api-reference/review-links/review-link-create))                 | **POST**   | `/v4/accounts/{account_id}/projects/{project_id}/shares` ([Erstellen von Freigaben](https://developer.adobe.com/frameio/api/current/#tag/Shares/operation/shares.create)) | Erstellt einen neuen Freigabelink.Hauptteil könnte `{&quot;data&quot;:{&quot;name&quot;:&quot;Review Link&quot;,&quot;type&quot;:&quot;review&quot;}}` sein. |
| **POST**   | `/v2/review_links/{link_id}/assets` ([Hinzufügen von Assets zu einem Review Link](/platform/v2/api-reference/review-links/review-link-item-create)) | **POST**   | `/v4/accounts/{account_id}/shares/{share_id}/assets` ([Hinzufügen von Assets zur Freigabe](/platform/api-reference/shares/add-asset))                                     | Fügt ein Asset zu einer Freigabe hinzu.Unterstützt für Dateien, Ordner und Versionsstapel.                                                                   |
| -/-        | Existiert nicht.                                                                                                                                    | **DELETE** | `/v4/accounts/{account_id}/shares/{share_id}/assets/{asset_id}` [(Löschen von Freigaben)](/platform/api-reference/shares/remove-asset)                                    | Asset aus Freigabe entfernen                                                                                                                                 |
| **DELETE** | `/v2/review_links/{link_id}` ([Löschen von Review Links](/platform/v2/api-reference/review-links/review-link-delete))                               | **DELETE** | `/v4/accounts/{account_id}/shares/{share_id}` [(Löschen von Freigaben)](/platform/api-reference/shares/delete)                                                            | Löscht den Freigabe-Link.                                                                                                                                    |
| **PUT**    | `/v2/review_links/{review_link_id}` ([Aktualisieren von Review Links](/platform/v2/api-reference/review-links/review-link-update))                  | **PATCH**  | `/v4/accounts/{account_id}/shares/{share_id}` [(Aktualisieren von Freigaben)](/platform/api-reference/shares/update)                                                      | Aktualisiert den Freigabe-Link.                                                                                                                              |

### 9.Webhooks

Die Webhooks, die Sie in V3 verwendet haben, werden migriert und funktionieren größtenteils gleich.Bei der Migration werden sie deaktiviert und müssen aktiviert werden, damit sie funktionieren.Es sind einige Änderungen für Asset-Ereignisse erforderlich, die jetzt in Dateien und Ordner aufgeteilt sind.Es gibt einige neue V4-spezifische Ereignisse, die Sie kennen sollten: metadata.value.updated, sammlungsbezogene Ereignisse und freigabebezogene Ereignisse.

| Methode    | Endpunkt Vorgängerversion                                                                                                                | Methode    | V4-Endpunkt                                                                                                                                                                    | Hinweise                                                                                                                                                                                                          |
| ---------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **POST**   | `/v2/teams/{team_id}/hooks` [(Erstellen von Webhooks)](/platform/v2/api-reference/webhooks/create-webhook-for-team)                      | **POST**   | `/v4/accounts/{account_id}/workspaces/{workspaces_id}/webhooks` [(Erstellen von Webhooks)](/platform/api-reference/webhooks/create)                                            | Geben Sie `{&quot;data&quot;:{&quot;url&quot;:&quot;...&quot;,&quot;events&quot;:[&quot;file.created&quot;,...]}}` an.                                                                                            |
| **GET**    | `/v2/accounts/{account_id}/webhooks` [(Abrufen von Webhooks für ein Konto)](/platform/v2/api-reference/webhooks/get-webhooks-by-account) | **GET**    | `/v4/accounts/{account_id}/workspaces/{workspaces_id}/webhooks` [(Auflisten von Webhooks)](/platform/api-reference/webhooks/index)                                             | Ruft alle Webhooks für einen Arbeitsbereich ab.Hinweis: Um alle Webhooks für ein Konto abzurufen, müssen Sie alle Arbeitsbereiche für das Konto abrufen und anschließend alle Webhooks für diese Arbeitsbereiche. |
| **GET**    | `/v2/hooks/{hook_id}` [(Abrufen von Webhooks)](/platform/v2/api-reference/webhooks/get-webhook)                                          | **GET**    | `/v4/accounts/{account_id}/webhooks/{webhook_id}` [(Auflisten von Webhooks)](/platform/api-reference/webhooks/index)                                                           | Ruft Informationen zu Webhooks ab.                                                                                                                                                                                |
| **PUT**    | `/v2/hooks/{hook_id}` [(Aktualisieren von Webhooks)](/platform/v2/api-reference/webhooks/update-webhook)                                 | **PATCH**  | `/v4/accounts/{account_id}/webhooks/{webhook_id}` [(Aktualisieren von Webhooks)](https://developer.adobe.com/frameio/api/experimental/#tag/Webhooks/operation/webhooks.update) | Aktualisiert Webhook-Einstellungen.                                                                                                                                                                               |
| **DELETE** | `/v2/hooks/{hook_id}` [(Löschen von Webhooks)](/platform/v2/api-reference/webhooks/delete-webhook)                                       | **DELETE** | `/v4/accounts/{account_id}/webhooks/{webhook_id}` [(Löschen von Webhooks)](https://developer.adobe.com/frameio/api/experimental/#tag/Webhooks/operation/webhooks.delete)       | Entfernt den Webhook.                                                                                                                                                                                             |

### 10.Custom Actions

Die Custom Actions, die Sie in V3 verwendet haben, werden migriert, doch bei Anfragen und der Antwortverarbeitung sind einige Änderungen erforderlich.Bei der Migration werden sie deaktiviert und müssen aktiviert werden, damit sie funktionieren.Weitere Details finden Sie in diesem [(Dokument)](/platform/v4/docs/guides/custom-actions#migrated-actions).

Hinweis: Die Endpunkte für Custom Actions befinden sich derzeit in der experimentellen API und benötigen einen Header: „api-version: experimental".

| Methode    | Endpunkt Vorgängerversion                                                                                                                   | Methode    | V4-Endpunkt                                                                                                                                                           | Hinweise                                                     |
| ---------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| **POST**   | `/v2/teams/{team_id}/actions` ([Erstellen von Custom Actions](/platform/v2/api-reference/custom-actions/create-action-for-team))            | **POST**   | `/v4/accounts/{account_id}/workspaces/{workspace_id}/actions` ([Erstellen von Custom Actions](/platform/v4-experimental/api-reference/custom-actions/actions-create)) | Erstellt eine Custom Action in einem Arbeitsbereich.         |
| **DELETE** | `/v2/actions/{action_id}` ([Löschen von Custom Actions](/platform/v2/api-reference/custom-actions/delete-action))                           | **DELETE** | `/v4/accounts/{account_id}/actions/{action_id}` ([Löschen von Custom Actions](/platform/v4-experimental/api-reference/custom-actions/actions-delete))                 | Löscht eine Custom Action.                                   |
| **PUT**    | `/v2/actions/{action_id}` ([Aktualisieren von Custom Actions](/platform/v2/api-reference/custom-actions/update-action))                     | **PATCH**  | `/v4/accounts/{account_id}/actions/{action_id}` ([Aktualisieren von Custom Actions](/platform/v4-experimental/api-reference/custom-actions/actions-update))           | Aktualisiert Details einer Custom Action.                    |
| **GET**    | `/v2/teams/{team_id}/actions` ([Abrufen von Custom Actions für ein Team](/platform/v2/api-reference/custom-actions/get-actions-by-account)) | **GET**    | `/v4/accounts/{account_id}/workspaces/{workspace_id}/actions` ([Auflisten von Custom Actions](/platform/v4-experimental/api-reference/custom-actions/actions-index))  | Listet Custom Actions in einem gegebenen Arbeitsbereich auf. |
| **GET**    | `/v2/actions/{action_id}` ([Abrufen von Custom Actions anhand der ID](/platform/v2/api-reference/custom-actions/get-action))                | **GET**    | `/v4/accounts/{account_id}/actions/{action_id}` ([Anzeigen von Details der Custom Action](/platform/v4-experimental/api-reference/custom-actions/actions-show))       | Zeigt Details der Custom Action an.                          |

## Migrationsschritte

#### Nicht unterstützte V2-Endpunkte anpassen

**Passen** Sie nicht unterstützte V2-Endpunkte aus Vorgängerversionen an.

#### Basis-URLs aktualisieren

**Aktualisieren Sie Basis-URLs** von `api.frame.io/v2/...` auf `api.frame.io/v4/...`.

#### API-Anfragen aktualisieren

**Aktualisieren Sie API-Anfragen** in Ihrem Code, um auf das neue Endpunkt-Schema zu verweisen.

#### JSON-Payloads aktualisieren

**Aktualisieren Sie JSON-Payloads** der Anfrage-/Antwort-Schemata, um zu gewährleisten, dass Sie die richtigen Felder generieren und verarbeiten.

#### Terminologie aktualisieren

Aktualisieren Sie die Terminologie: „Teams“ → „Arbeitsbereiche“; „Assets“ → „Dateien/Ordner“; „Review Links" oder „Präsentations-Links“ → „Freigaben“ in Ihrem Code und Ihrem Front-End.

#### Endpunkte testen

**Testen** Sie alle frisch aktualisierten Endpunkte.Wenn Sie die Fehler 403, 404, 422 erhalten, bestätigen Sie Endpunkte, Form der Anfrage-Payload usw.

#### Fehlerantworten analysieren

**Analysieren** Sie die neuen detaillierten Fehlerantworten und suchen Sie in der JSON-Antwort `{\&quot;errors\&quot;: [...]}`nach dem Problem, wenn Ihr API-Aufruf fehlschlägt.

#### In Produktion bereitstellen

**Stellen** Sie in Produktion bereit, sobald mit einem V4 [Frame.io](http://frame.io/)-Konto validiert.

## Fehlerbehandlung und gängige Probleme

> **Note**
>
> Bei einigen Routen werden Fehler mit selbstdefinierten Beschreibungen ausgegeben, die sich möglicherweise geringfügig von den folgenden Beispielen unterscheiden.

#### Client-Fehler (4xx)

* **400** Bad Request: Überprüfen Sie die Genauigkeit der Payload.\* **401** Unauthorized: Ungültiger oder fehlender Autorisierungstoken. \* **403** Forbidden: Gültigkeitsbereich fehlt oder Benutzende haben keinen Zugriff.\* **404** Not Found: Bestätigen Sie Endpunkt, API-Version oder IDs.\* **422** Unprocessable Entity: Validieren Sie Anfragedaten \* **429** Too Many Requests: Implementieren Sie Wiederholung mit Rückzug.

#### Server-Fehler (5xx)

* **500** Internal Server Error: Wiederholen Sie nach kurzer Pause.

## Unterstützung für SDK

Ähnlich wie bei dem älteren SDK gibt es ein Python-SDK für Entwickelnde, und zum ersten Mal gibt es auch ein Typescript-SDK.Diese SDKs sind in ihrer Funktionalität ähnliche, arbeiten aber mit völlig unterschiedlichen Methoden. Wenn Sie von dem älteren SDK auf das V4-SDK aktualisieren, achten Sie darauf, Ihren Code entsprechend anzupassen.Sie finden sie unter den folgenden Links:

[Erste Schritte > SDKS](/platform/docs/getting-started#sdks)

[Python-SDK](/platform/docs/sdk-reference/python-sdk-reference)

[Typescript-SDK](/platform/docs/sdk-reference/type-script-sdk-reference)

---