> 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.

# Python SDK-Referenz

### Installation

```curl
pip install frameio
```

---

### Verwendung

Instanziieren Sie den Client und verwenden Sie ihn mit dem Folgenden:

```python
from frameio import (
    Frameio,
    SelectDefinitionParamsFieldConfiguration,
    SelectDefinitionParamsFieldConfigurationOptionsItem,
)
from frameio.metadata_fields import CreateFieldDefinitionParamsData_Select

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata_fields.metadata_field_definitions_create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=CreateFieldDefinitionParamsData_Select(
        field_configuration=SelectDefinitionParamsFieldConfiguration(
            enable_add_new=False,
            options=[
                SelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 1",
                ),
                SelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 2",
                ),
            ],
        ),
        name="Fields definition name",
    ),
)
```

---

### Async Client

Vom SDK wird auch ein asynchroner Client exportiert, damit Sie nichtblockierende Aufrufe an unsere API durchführen können.Verwenden Sie beim Konstruieren einer Async httpx-Client-Klasse, um sie an diesen Client zu übergeben, httpx.AsyncClient() anstelle von httpx.Client() (z. B. für den Parameter „httpx\_client“ dieses Clients).

```python
import asyncio

from frameio import (
    AsyncFrameio,
    SelectDefinitionParamsFieldConfiguration,
    SelectDefinitionParamsFieldConfigurationOptionsItem,
)
from frameio.metadata_fields import CreateFieldDefinitionParamsData_Select

client = AsyncFrameio(
    token="YOUR_TOKEN",
)


async def main() -> None:
    await client.metadata_fields.metadata_field_definitions_create(
        account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
        data=CreateFieldDefinitionParamsData_Select(
            field_configuration=SelectDefinitionParamsFieldConfiguration(
                enable_add_new=False,
                options=[
                    SelectDefinitionParamsFieldConfigurationOptionsItem(
                        display_name="Option 1",
                    ),
                    SelectDefinitionParamsFieldConfigurationOptionsItem(
                        display_name="Option 2",
                    ),
                ],
            ),
            name="Fields definition name",
        ),
    )


asyncio.run(main())
```

---

### Ausnahmebehandlung

Wenn die API einen Nichterfolgs-Statuscode zurückgibt (4xx- oder 5xx-Antwort), wird eine Unterklasse des folgenden Fehlers ausgelöst.

```python
from frameio.core.api_error import ApiError

try:
    client.metadata_fields.metadata_field_definitions_create(...)
except ApiError as e:
    print(e.status_code)
    print(e.body)
```

---

### Paginierung

Von paginierten Anfragen wird SyncPager oder AsyncPager zurückgegeben, die als Generatoren für das zugrunde liegende Objekt verwendet werden können.

```python
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.project_permissions.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

---

### Erweitert

#### Zugreifen auf Rohdaten der Antwort

Im SDK können Sie über die Eigenschaft .with\_raw\_response auf rohe Antwortdaten zugreifen, einschließlich Headern.Mit der Eigenschaft .with\_raw\_response wird ein „roher“ Client zurückgegeben, mit dem auf die Attribute .headers und .data zugegriffen werden kann.

```python
from frameio import Frameio

client = Frameio(
    ...,
)
response = (
    client.metadata_fields.with_raw_response.metadata_field_definitions_create(
        ...
    )
)
print(response.headers)  # access the response headers
print(response.data)  # access the underlying object
pager = client.project_permissions.index(...)
print(pager.response.headers)  # access the response headers for the first page
for item in pager:
    print(item)  # access the underlying object(s)
for page in pager.iter_pages():
    print(page.response.headers)  # access the response headers for each page
    for item in page:
        print(item)  # access the underlying object(s)
```

---

#### Wiederholungsversuche

Das SDK ist mit automatischen Wiederholungsversuchen mit exponentiellem Rückzug ausgestattet.Eine Anfrage wird wiederholt, solange sie als wiederholbar eingestuft wird und die Anzahl der Wiederholungsversuche nicht größer geworden ist als der konfigurierte Wiederholungsgrenzwert (Standard: 2).

Eine Anfrage wird als wiederholbar eingestuft, wenn einer der folgenden HTTP-Statuscodes zurückgegeben wird:

* 408 (Timeout)
* 429 (Too Many Requests)
* 5XX (Internal Server Errors)

\
&#x20;Dieses Verhalten konfigurieren Sie mit der Anfrageoption `max_retries`.

```python
client.metadata_fields.metadata_field_definitions_create(..., request_options={
    "max_retries": 1
})
```

---

#### Timeouts

Im SDK ist standardmäßig ein Timeout (Zeitüberschreitung) von 60 Sekunden eingestellt.Sie können dies mit einer Timeout-Option auf Client- oder Anfrage-Ebene konfigurieren.

```python
from frameio import Frameio

client = Frameio(
    ...,
    timeout=20.0,
)


# Override timeout for a specific method
client.metadata_fields.metadata_field_definitions_create(..., request_options={
    "timeout_in_seconds": 1
})
```

---

#### Selbstdefinierter Client

Sie können den httpx-Client überschreiben, um ihn an Ihren Anwendungsfall anzupassen.Einige gängige Anwendungsfälle beinhalten die Unterstützung für Proxys und Transporte.

```python
import httpx
from frameio import Frameio

client = Frameio(
    ...,
    httpx_client=httpx.Client(
        proxy="http://my.test.proxy.example.com",
        transport=httpx.HTTPTransport(local_address="0.0.0.0"),
    ),
)
```

---

### Referenz

#### Kontoberechtigungen

#### client.account\_permissions.index(...) -> AsyncPager\[AccountUserRole, AccountUserRolesResponse]

Listet Benutzendenrollen für ein gegebenes Konto auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.account_permissions.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include_deactivated=True,
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page

```

**Parameter**

`account_id`: Uuid –

`include_deactivated`: typing.Optional\[bool] – Unterstützt die Einbindung von deaktivierten Benutzenden in die Antwort. Standardwert lautet „false“.

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Konten

#### client.accounts.index(...) -> AsyncPager\[Account, AccountsResponse]

Listet Konten für den aktuellen Benutzer bzw. die aktuelle Benutzerin auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.accounts.index(
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.accounts.auditlog\_index(...) -> AsyncPager\[AuditLog, AuditLogsWithIncludesResponse]

Auditprotokolle mit Filterungsmöglichkeiten über Abfrageparameter auflisten

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.accounts.auditlog_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="user",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
    api_version="4.0",
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`api_version`: `typing.Literal["4.0"]` –

`include`: `typing.Optional[typing.Literal["user"]]` –

`filters`: `typing.Optional[Filters]` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Auth

#### frameio.auth.ServerToServerAuth(\*, client\_id, client\_secret, …)

Authentifizierung mit dem OAuth 2.0 client\_credentials Grant.In diesem Fluss gibt es keine Benutzenden, und es wird kein Aktualisierungstoken zurückgegeben.Wenn der Zugriffstoken abläuft, wird vom SDK mithilfe der Client-Anmeldedaten automatisch ein neuer angefordert.Verwenden Sie für die asynchrone Nutzung `AsyncServerToServerAuth`.

**`usage`**

```python usage

from frameio import Frameio
from frameio.auth import ServerToServerAuth

auth = ServerToServerAuth(client_id="YOUR_CLIENT_ID", client_secret="YOUR_CLIENT_SECRET")
client = Frameio(token=auth.get_token)
```

**Parameter**

`client_id`: `str` – Adobe IMS OAuth Client-ID.

`client_secret`: `str` – Adobe IMS OAuth Clientschlüssel.

`scopes`: `str` – Durch Leerzeichen getrennte Gültigkeitsbereiche (OAuth 2.0 RFC 6749).Standardeinstellung ist `openid AdobeID frame.s2s.all`.

`ims_base_url`: `str` – IMS-Basis-URL für Staging / alternative Umgebungen.Standardwert ist „Produktion“.

`http_client`: `typing.Optional[httpx.Client]` – Optionaler httpx.Client für Proxy, TLS oder Verbindungs-Pooling.

`on_token_refreshed`: `typing.Optional[typing.Callable[[dict[str, Any]], None]]` – Optionaler Rückruf, der nach jedem Tokenabruf ausgelöst wird.

`timeout`: `float` – Timeout der HTTP-Anfrage in Sekunden.Standardwert ist 30.

`max_retries`: `int` – Maximale Anzahl von Wiederholungsversuchen bei vorübergehenden Fehlern.Standardwert ist 2.

`refresh_buffer`: `int` – Sekunden vor Ablauf, um proaktive Aktualisierung auszulösen.Standardwert ist 60.**Methoden**`get_token() -&gt; str` – Gibt einen gültigen Zugriffstoken zurück, der bei Bedarf aktualisiert wird. Übergibt diese Methodenreferenz (kein Aufruf) an das SDK: `Frameio(token=auth.get_token)`.`authenticate() -&gt; dict[str, Any]` – Ruft explizit einen neuen Zugriffstoken ab.Gibt die Tokenantwort „dict“ (Wörterbuch) mit `access_token`, `expires_in` usw. zurück. `revoke() -&gt; None` – Widerruft beide Token serverseitig und löscht den lokalen Status.`export_tokens() -&gt; dict[str, Any]` – Exportiert den aktuellen Tokenstatus für die Persistenz.`import_tokens(data: dict[str, Any]) -&gt; None` – Stellt den Tokenstatus aus einem zuvor exportierten „dict“ wieder her.

#### frameio.auth.WebAppAuth(\*, client\_id, client\_secret, redirect\_uri …)

Authentifizierung mit dem OAuth 2.0 authorization\_code Grant.Geeignet für serverseitige Anwendungen, in denen ein Clientschlüssel sicher gespeichert werden kann.Verwenden Sie bei asynchroner Nutzung `AsyncWebAppAuth`.

**`usage`**

```python usage

import secrets
from frameio import Frameio
from frameio.auth import WebAppAuth

auth = WebAppAuth(
    client_id="YOUR_CLIENT_ID",
    client_secret="YOUR_CLIENT_SECRET",
    redirect_uri="https://myapp.com/callback",
)
url = auth.get_authorization_url(state=secrets.token_urlsafe(32))
# redirect user to url ...
auth.exchange_code(code="CODE_FROM_CALLBACK")
client = Frameio(token=auth.get_token)
```

**Parameter**

`client_id`: `str` – Adobe IMS OAuth Client-ID.

`client_secret`: `str` – Adobe IMS OAuth Clientschlüssel.

`redirect_uri`: `str` – Registrierter Umleitungs-URI.

`scopes`: `str` – Durch Leerzeichen getrennte Gültigkeitsbereiche (OAuth 2.0 RFC 6749).

`ims_base_url`: `str` – IMS-Basis-URL für Staging / alternative Umgebungen.Standardwert ist „Produktion“.

`http_client`: `typing.Optional[httpx.Client]` – Optionaler httpx.Client für Proxy, TLS oder Verbindungs-Pooling.

`on_token_refreshed`: `typing.Optional[typing.Callable[[dict[str, Any]], None]]` – Optionaler Rückruf, der nach jeder Tokenaktualisierung ausgelöst wird.

`timeout`: `float` – Timeout der HTTP-Anfrage in Sekunden.Standardwert ist 30.

`max_retries`: `int` – Maximale Anzahl von Wiederholungsversuchen bei vorübergehenden Fehlern.Standardwert ist 2.

`refresh_buffer`: `int` – Sekunden vor Ablauf, um proaktive Aktualisierung auszulösen.Standardwert ist 60.**Methoden**`get_token() -&gt; str` – Gibt einen gültigen Zugriffstoken zurück, der bei Bedarf aktualisiert wird.Übergibt diese Methodenreferenz an das SDK: `Frameio(token=auth.get_token)`.`get_authorization_url(state: str) -&gt; str` – Adobe IMS-Autorisierungs-URL erstellen.Übergibt einen intransparenten CSRF-/Zustandswert, der als Echo ausgegeben wird.`exchange_code(code: str) -&gt; dict[str, Any]` – Tauscht einen Autorisierungscode gegen Zugriffs- und Aktualisierungstoken aus.`refresh() -&gt; dict[str, Any]` – Löst eine manuelle Tokenaktualisierung aus.`revoke() -&gt; None` – Widerruft beide Token serverseitig und löscht den lokalen Status.`export_tokens() -&gt; dict[str, Any]` – Exportiert den aktuellen Tokenstatus für die Persistenz.`import_tokens(data: dict[str, Any]) -&gt; None` – Stellt den Tokenstatus aus einem zuvor exportierten „dict“ wieder her.

#### frameio.auth.SPAAuth(\*, client\_id, redirect\_uri …)

Authentifiziert mit authorization\_code  und PKCE (ohne Clientschlüssel).Dies ist für browserbasierte oder native Anwendungen vorgesehen, in denen ein Clientschlüssel nicht sicher gespeichert werden kann. Verwenden Sie bei asynchroner Nutzung `AsyncSPAAuth`.

**`usage`**

```python usage

import secrets
from frameio import Frameio
from frameio.auth import SPAAuth

auth = SPAAuth(client_id="YOUR_CLIENT_ID", redirect_uri="https://myapp.com/cb")
result = auth.get_authorization_url(state=secrets.token_urlsafe(32))
# redirect user to result.url, store result.code_verifier
auth.exchange_code(code="CODE_FROM_CALLBACK", code_verifier=result.code_verifier)
client = Frameio(token=auth.get_token)
```

**Parameter**

`client_id`: `str` – Adobe IMS OAuth Client-ID.

`redirect_uri`: `str` – Registrierter Umleitungs-URI.

`scopes`: `str` – Durch Leerzeichen getrennte Gültigkeitsbereiche (OAuth 2.0 RFC 6749).

`ims_base_url`: `str` – IMS-Basis-URL für Staging / alternative Umgebungen.Standardwert ist „Produktion“.

`http_client`: `typing.Optional[httpx.Client]` – Optionaler httpx.Client für Proxy, TLS oder Verbindungs-Pooling.

`on_token_refreshed`: `typing.Optional[typing.Callable[[dict[str, Any]], None]]` – Optionaler Rückruf, der nach jeder Tokenaktualisierung ausgelöst wird.

`timeout`: `float` – Timeout der HTTP-Anfrage in Sekunden.Standardwert ist 30.

`max_retries`: `int` – Maximale Anzahl von Wiederholungsversuchen bei vorübergehenden Fehlern.Standardwert ist 2.

`refresh_buffer`: `int` – Sekunden vor Ablauf, um proaktive Aktualisierung auszulösen.Standardwert ist 60.**Methoden**`get_token() -&gt; str` – Gibt einen gültigen Zugriffstoken zurück, der bei Bedarf aktualisiert wird.Übergibt diese Methodenreferenz an das SDK: `Frameio(token=auth.get_token)`.`get_authorization_url(state: str) -&gt; AuthorizationUrlResult` – Erstellt die Adobe IMS-Autorisierungs-URL mit PKCE-Challenge.Gibt ein `AuthorizationUrlResult` mit den Attributen `url` und `code_verifier` zurück.`exchange_code(code: str, code_verifier: str) -&gt; dict[str, Any]` – Tauscht einen Autorisierungscode und PKCE-Prüfer gegen Token aus.`refresh() -&gt; dict[str, Any]` – Löst eine manuelle Tokenaktualisierung aus.`revoke() -&gt; None` – Widerruft beide Token serverseitig und löscht den lokalen Status.`export_tokens() -&gt; dict[str, Any]` – Exportiert den aktuellen Tokenstatus für die Persistenz.`import_tokens(data: dict[str, Any]) -&gt; None` – Stellt den Tokenstatus aus einem zuvor exportierten „dict“ wieder her.

#### frameio.auth.AuthorizationUrlResult

Gesperrte Datenklasse, die von `SPAAuth.get_authorization_url()` und `AsyncSPAAuth.get_authorization_url()` zurückgegeben wird.Enthält die Autorisierungs-URL und den PKCE-Codeprüfer.**Attribute**`url`: `str` – Die vollständige Autorisierungs-URL, zu der Benutzende umgeleitet werden sollen. `code_verifier`: `str` – Der PKCE-Codeprüfer, den Sie speichern und an `exchange_code()` übergeben müssen.

#### frameio.auth.close\_clients() / aclose\_clients()

Schließt die HTTP-Clients auf Modulebene, die vom Authentifizierungsmodul verwendet werden.Ruft beim Herunterfahren der Anwendung `close_clients()` in synchronem Code oder `await aclose_clients()` in asynchronem Code auf, um Verbindungen freizugeben.

**`usage`**

```python usage

from frameio.auth import close_clients

# During application shutdown
close_clients()
```

#### Authentifizierungsausnahmen

Alle Authentifizierungsausnahmen übernehmen von `FrameioAuthError`.

| Ausnahme              | Beschreibung                                                                                                         |
| --------------------- | -------------------------------------------------------------------------------------------------------------------- |
| `FrameioAuthError`    | Basis-Ausnahme für alle `frameio.auth`-Fehler.                                                                       |
| `AuthenticationError` | Tokenaustausch oder -aktualisierung fehlgeschlagen.Enthält die Attribute `error_code` und `error_description`.       |
| `TokenExpiredError`   | Aktualisierungstoken ist abgelaufen; eine erneute Authentifizierung ist erforderlich.                                |
| `ConfigurationError`  | Erforderliche Konfiguration fehlt oder ist ungültig.                                                                 |
| `NetworkError`        | Netzwerkanfrage fehlgeschlagen (Timeout, Verbindungsfehler usw.).                                                    |
| `RateLimitError`      | Von der API wurde 429 zurückgegeben, und Wiederholungsversuche sind ausgeschöpft.Enthält das Attribut `retry_after`. |
| `PKCEError`           | PKCE-Verifizierung fehlgeschlagen.                                                                                   |

#### Sammlungen

#### client.collections.index(...) -> AsyncHttpResponse\[CollectionsResponse]

Sammlungen für ein Projekt auflisten

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.collections.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator,project",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`include`: `typing.Optional[CollectionInclude]` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.collections.show(...) -> AsyncHttpResponse\[CollectionResponse]

Sammlungsdetails anzeigen

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.collections.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    collection_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator,project",
)
```

**Parameter**

`account_id`: `Uuid` –

`collection_id`: `Uuid` –

`include`: `typing.Optional[CollectionInclude]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Kommentare

#### client.comments.show(...) -> AsyncHttpResponse\[CommentWithIncludesResponse]

Zeigt einen einzelnen Kommentar zu einer Datei an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="owner",
)
```

**Parameter**

`account_id`: Uuid –

`comment_id`: Uuid –

`include`: typing.Optional\[CommentsShowRequestInclude] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.comments.delete(...) -> AsyncHttpResponse\[None]

Löscht Kommentar von einem Asset.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: Uuid –

`comment_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.comments.update(...) -> AsyncHttpResponse\[CommentResponse]

Aktualisiert Kommentar für gegebenes Asset.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.comments import UpdateCommentParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    timestamp_as_timecode=True,
    data=UpdateCommentParamsData(
        annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
        completed=False,
        page=4,
        text="This is great!",
    ),
)
```

**Parameter**

`account_id`: Uuid –

`comment_id`: Uuid –

`data`: UpdateCommentParamsData

`timestamp_as_timecode`: typing.Optional\[bool] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.comments.index(...) -> AsyncPager\[CommentWithIncludes, CommentsWithIncludesResponse]

Listet Kommentare für gegebenes Asset auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.comments.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="owner",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: Uuid –

`file_id`: Uuid –

`include`: typing.Optional\[CommentInclude] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.comments.create(...) -> AsyncHttpResponse\[CommentResponse]

Erstellt Kommentar zu einer Datei.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.comments import CreateCommentParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    timestamp_as_timecode=True,
    data=CreateCommentParamsData(
        annotation='[{"tool":"rect","color":"#F22237","size":8,"x":0.277726001863933,"y":0.12909555568499534,"w":0.3153168321877913,"h":0.5308131407269339,"ix":0.277726001863933,"iy":0.12909555568499534,"radius":8}]',
        completed=False,
        page=4,
        text="This is great!",
        timestamp="00:00:02:12",
    ),
)
```

**Parameter**

`account_id`: Uuid –

`file_id`: Uuid –

`data`: CreateCommentParamsData

`timestamp_as_timecode`: typing.Optional\[bool] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.comments.create\_attachment(...) -> AsyncHttpResponse\[CommentAttachmentResponse]

Anhang für einen vorhandenen Kommentar erstellen

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import AttachmentInput, Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.create_attachment(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=AttachmentInput(
        file_size=1024000,
        media_type="image/png",
        name="screenshot.png",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`comment_id`: `Uuid` –

`data`: `AttachmentInput`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.comments.delete\_attachment(...) -> AsyncHttpResponse\[None]

Anhang von einem Kommentar löschen.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.comments.delete_attachment(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    comment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    attachment_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`comment_id`: `Uuid` –

`attachment_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Selbstdefinierte Aktionen

#### client.custom\_actions.actions\_index(...) -> AsyncHttpResponse\[ActionsWithIncludesResponse]

Aktionen in einem gegebenen Arbeitsbereich auflisten

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.custom_actions.actions_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["creator"]]` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.custom\_actions.actions\_show(...) -> AsyncHttpResponse\[ActionWithIncludesResponse]

Zeigt Details der Custom Action an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.custom_actions.actions_show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    action_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
)
```

**Parameter**

`account_id`: `Uuid` –

`action_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["creator"]]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.custom\_actions.actions\_create(...) -> AsyncHttpResponse\[ActionCreateResponse]

Erstellt eine Custom Action in einem Arbeitsbereich.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.custom_actions import ActionCreateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.custom_actions.actions_create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=ActionCreateParamsData(
        description="customizing our workflow",
        event="my.event",
        name="First Custom Action",
        timeout=7,
        url="https://example.com/custom-action",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`data`: `ActionCreateParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.custom\_actions.actions\_update(...) -> AsyncHttpResponse\[ActionResponse]

Aktualisiert Details einer Custom Action.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.custom_actions import ActionUpdateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.custom_actions.actions_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    action_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=ActionUpdateParamsData(
        active=True,
        description="customizing our workflow",
        event="my.event",
        multi_asset=True,
        name="First Custom Action",
        timeout=7,
        url="https://example.com/custom-action",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`action_id`: `Uuid` –

`data`: `ActionUpdateParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.custom\_actions.actions\_delete(...) -> AsyncHttpResponse\[None]

Löscht eine Custom Action.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.custom_actions.actions_delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    action_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`action_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Dateien

#### client.files.list(...) -> AsyncHttpResponse\[AssetsWithIncludesResponse]

Listet Dateien in einem gegebenen Ordner auf.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.list(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`include`: `typing.Optional[FileWithMediaLinksInclude]` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.create(...) -> AsyncHttpResponse\[FileWithUploadUrlsResponse]

Erstellt neue Datei unter übergeordnetem Ordner. Dieser Endpunkt wurde durch `Datei erstellen (lokaler Upload)` und `Datei erstellen (Remote-Upload)` ersetzt.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileCreateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileCreateParamsData(
        file_size=1137444,
        media_type="image/png",
        name="asset.png",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`data`: `FileCreateParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.show(...) -> AsyncHttpResponse\[FileWithIncludesResponse]

Zeigt Dateidetails an.

Beziehen Sie mit dem Abfrageparameter „Einbindung“ selektiv zusätzliche Eigenschaften in die Antwort ein.

> **Note**
>
> Wenn Sie `media_links.original` einbeziehen und die Benutzenden keine Berechtigung zum Herunterladen der Datei haben, wird von diesem Endpunkt der Fehler `403 Forbidden` ausgegeben. Ist der Inhalt nicht zugänglich, weil für diesen Benutzer bzw. diese Benutzerin ein Wasserzeichen erforderlich ist und von den angeforderten media\_links nicht unterstützt wird, ist die Anfrage erfolgreich, aber die nicht unterstützten Medien-Links werden auf Null gesetzt.Ähnlich verhält es sich, wenn ein angeforderter Transcode-Link für eine bestimmte Datei nicht existiert (z. B. das Einbinden von `media_links.video_h264_180` in eine statische Bilddatei) oder die Transkodierung nicht abgeschlossen ist (d. h., der Status der Datei lautet „hochgeladen“ anstatt „transkodiert“); dann wird der Link in der Antwort-Payload ebenfalls auf Null gesetzt.Kurz gesagt, der Client muss Null-Medien-Links elegant verarbeiten.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`include`: `typing.Optional[FileWithMediaLinksInclude]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.delete(...) -> AsyncHttpResponse\[None]

Löscht Datei anhand der ID.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.update(...) -> AsyncHttpResponse\[FileResponse]

Aktualisiert Dateidetails.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileUpdateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileUpdateParamsData(
        name="asset.png",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`data`: `FileUpdateParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.copy(...) -> AsyncHttpResponse\[FileCopyResponse]

Kopiert Datei.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileCopyParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.copy(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    copy_metadata=True,
    copy_comments="none",
    data=FileCopyParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`copy_metadata`: `typing.Optional[bool]` – Gibt an, ob Metadatenwerte zusammen mit der Datei kopiert werden sollen.

`copy_comments`: `typing.Optional[FilesCopyRequestCopyComments]` – Gibt an, welche Kommentare zusammen mit der Datei kopiert werden sollen.

`data`: `typing.Optional[FileCopyParamsData]`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.create\_remote\_upload(...) -> AsyncHttpResponse\[FileRemoteUploadResponse]

Erstellt durch Remote-Upload unter dem übergeordneten Ordner neue Datei.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileCreateRemoteUploadParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.create_remote_upload(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileCreateRemoteUploadParamsData(
        name="asset.png",
        source_url="https://upload.wikimedia.org/wikipedia/commons/e/e1/White_Pixel_1x1.png",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`data`: `FileCreateRemoteUploadParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.move(...) -> AsyncHttpResponse\[FileResponse]

Verschiebt Datei in einen Ordner oder version\_stack.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileMoveParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.move(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileMoveParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`data`: `FileMoveParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.create\_local\_upload(...) -> AsyncHttpResponse\[FileWithUploadUrlsResponse]

Erstellt durch lokalen Upload unter dem übergeordneten Ordner neue Datei.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileCreateLocalUploadParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.create_local_upload(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileCreateLocalUploadParamsData(
        file_size=1137444,
        name="asset.png",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`data`: `FileCreateLocalUploadParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.show\_file\_upload\_status(...) -> AsyncHttpResponse\[FileUploadStatusResponse]

Zeigt Details zum Status des Datei-Uploads an.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.show_file_upload_status(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.files.import\_file(...) -> AsyncHttpResponse\[FileResponse]

Datei von einem im Konto konfigurierten Speicherort importieren

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileImportParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.files.import_file(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileImportParamsData(
        key="uploads/08091b0f-a541-42f5-a059-5e8c4afecc12/original.png",
        name="asset.png",
        storage_location="123e4567-e89b-12d3-a456-426614174000",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`data`: `FileImportParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Ordnerberechtigungen

#### client.folder\_permissions.folder\_user\_roles\_index(...) -> AsyncHttpResponse\[UserRolesResponse]

Benutzendenrollen für einen gegebenen Ordner auflisten

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folder_permissions.folder_user_roles_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include_deactivated=True,
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`include_deactivated`: `typing.Optional[bool]` – Unterstützt die Einbindung von deaktivierten Benutzenden in die Antwort. Standardwert lautet „false“.

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.folder\_permissions.folder\_user\_roles\_update(...) -> AsyncHttpResponse\[UpdateUserRolesResponse]

Benutzendenrollen für den gegebenen Ordner aktualisieren, wenn der Benutzer bzw. die Benutzerin bereits dem Ordner hinzugefügt wurde Wenn Benutzende nicht dem Ordner hinzugefügt wurden, werden sie mit der gegebenen Rolle hinzugefügt.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio, UpdateUserRolesParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.folder_permissions.folder_user_roles_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateUserRolesParamsData(
        role="editor",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`user_id`: `Uuid` –

`data`: `UpdateUserRolesParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.folder\_permissions.delete(...) -> AsyncHttpResponse\[None]

Benutzende aus einem gegebenen Ordner entfernen

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folder_permissions.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`folder_id`: `Uuid` –

`user_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Ordner

#### client.folders.show(...) -> AsyncHttpResponse\[FolderWithIncludesResponse]

Zeigt Ordnerdetails an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`include`: typing.Optional\[AssetInclude] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.delete(...) -> AsyncHttpResponse\[None]

Löscht Ordner anhand der ID.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.update(...) -> AsyncHttpResponse\[FolderResponse]

Aktualisiert Ordnerdetails.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.folders import FolderUpdateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FolderUpdateParamsData(
        name="Folder name",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`data`: FolderUpdateParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.index(...) -> AsyncHttpResponse\[AssetsWithIncludesResponse]

Listet die untergeordneten Elemente im gegebenen Ordner auf.

Beziehen Sie mit dem Abfrageparameter „Einbindung“ selektiv zusätzliche Eigenschaften in die Antwort ein.

> **Note**
>
> Wenn Sie `media_links.original` einbinden und Benutzende im entsprechenden Projekt keine Berechtigung zum Herunterladen von Dateien haben, wird von diesem Endpunkt der Fehler „403 Forbidden“ ausgegeben. Ist der Inhalt nicht zugänglich, weil für diesen Benutzer bzw. diese Benutzerin ein Wasserzeichen erforderlich ist und von den angeforderten media\_links nicht unterstützt wird, ist die Anfrage erfolgreich, aber die nicht unterstützten Medien-Links werden auf Null gesetzt.Ähnlich verhält es sich, wenn ein angeforderter Transkodierungs-Link für eine bestimmte Datei nicht existiert (z. B. das Einbinden von `media_links.video_h264_180` in eine statische Bilddatei) oder die Transkodierung nicht abgeschlossen ist (d. h., der Status der Datei lautet „hochgeladen“ statt „transkodiert“); dann wird ein Medien-Link in der Antwort-Payload ebenfalls auf Null gesetzt.Kurz gesagt, der Client muss Null-Medien-Links elegant verarbeiten.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
    type="file,folder,version_stack",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`include`: typing.Optional\[FileWithMediaLinksInclude] –

`type`: typing.Optional\[ChildrenType] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Links aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.copy(...) -> AsyncHttpResponse\[FolderCopyResponse]

Kopiert Ordner.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.folders import FolderCopyParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.copy(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    copy_metadata=True,
    data=FolderCopyParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`copy_metadata`: typing.Optional\[bool] – Gibt an, ob Metadatenwerte zusammen mit dem Ordner kopiert werden sollen.

`data`: typing.Optional\[FolderCopyParamsData]

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.list(...) -> AsyncHttpResponse\[FoldersWithIncludesResponse]

Listet Ordner in einem gegebenen Ordner auf.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.list(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`include`: typing.Optional\[AssetInclude] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Links aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.create(...) -> AsyncHttpResponse\[FolderResponse]

Erstellt innerhalb des gegebenen Pfadparameters folder\_id einen neuen Ordner.

Ratenbegrenzungen: 3 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.folders import FolderCreateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FolderCreateParamsData(
        name="Folder name",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`data`: FolderCreateParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.folders.move(...) -> AsyncHttpResponse\[FolderResponse]

Verschiebt Ordner in einen Ordner.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.folders import FolderMoveParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.folders.move(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FolderMoveParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`data`: FolderMoveParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Gruppen

#### client.groups.index(...) -> AsyncHttpResponse\[GroupsWithIncludesResponse]

Gruppen im Konto auflisten

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.groups.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
    sort="creator_asc",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["creator"]]` –

`sort`: `typing.Optional[GroupsIndexRequestSort]` – Gruppen anhand von Abfrageparametern sortieren

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.groups.show(...) -> AsyncHttpResponse\[GroupWithIncludesResponse]

Gruppendetails anzeigen

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.groups.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    group_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="creator",
)
```

**Parameter**

`account_id`: `Uuid` –

`group_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["creator"]]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.groups.create(...) -> AsyncHttpResponse\[GroupResponse]

Gruppe für das aktuelle Konto erstellen

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.groups import CreateGroupParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.groups.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=CreateGroupParamsData(
        emoji="smile",
        name="group-1",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`data`: `CreateGroupParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.groups.update(...) -> AsyncHttpResponse\[GroupResponse]

Gruppendetails aktualisieren

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.groups import UpdateGroupParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.groups.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    group_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateGroupParamsData(
        emoji="smile",
        name="group-1",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`group_id`: `Uuid` –

`data`: `UpdateGroupParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Metadaten

#### client.metadata.bulk\_update(...) -> AsyncHttpResponse\[None]

Aktualisiert mehrere Dateien umfassende Metadatenwerte.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.metadata import (
    BulkUpdateMetadataParamsData,
    BulkUpdateMetadataParamsDataValuesItem,
)

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata.bulk_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=BulkUpdateMetadataParamsData(
        file_ids=[
            "09b31c2a-04de-464a-a593-643a36ef0d98",
            "b967fc36-4e18-4b48-a3ab-c790100e2baa",
        ],
        values=[
            BulkUpdateMetadataParamsDataValuesItem(
                field_definition_id="ff41ce50-269b-4624-8306-aac10e28ab94",
                value=[
                    {
                        "id": "e60f47b4-cf8e-4273-96d5-3258a830a0aa",
                        "type": "user",
                    },
                    {
                        "id": "24eeaf7e-ce27-4555-bc77-cce39900626d",
                        "type": "account_user_group",
                    },
                ],
            )
        ],
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`data`: `BulkUpdateMetadataParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.metadata.show(...) -> AsyncHttpResponse\[MetadataResponse]

Zeigt die Metadaten einer Datei an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    file_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    show_null=True,
)
```

**Parameter**

`account_id`: `Uuid` –

`file_id`: `Uuid` –

`show_null`: `typing.Optional[bool]` –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Metadatenfelder

#### client.metadata\_fields.metadata\_field\_definitions\_delete(...) -> AsyncHttpResponse\[None]

Löscht selbstdefinierte Felddefinitionen auf Kontoebene.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata_fields.metadata_field_definitions_delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    field_definition_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: Uuid –

`field_definition_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.metadata\_fields.metadata\_field\_definitions\_update(...) -> AsyncHttpResponse\[FieldDefinitionResponse]

Aktualisiert Definitionen selbstdefinierter Felder auf Kontoebene.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import (
    Frameio,
    UpdateSelectDefinitionParamsFieldConfiguration,
    UpdateSelectDefinitionParamsFieldConfigurationOptionsItem,
)
from frameio.metadata_fields import UpdateFieldDefinitionParamsData_Select

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata_fields.metadata_field_definitions_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    field_definition_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateFieldDefinitionParamsData_Select(
        field_configuration=UpdateSelectDefinitionParamsFieldConfiguration(
            enable_add_new=False,
            options=[
                UpdateSelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 1",
                ),
                UpdateSelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 2",
                ),
            ],
        ),
        name="Updated-Field-Name",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`field_definition_id`: Uuid –

`data`: typing.Optional\[UpdateFieldDefinitionParamsData]

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.metadata\_fields.metadata\_field\_definitions\_index(...) -> AsyncHttpResponse\[FieldDefinitionsWithIncludesResponse]

Listet Felddefinitionen auf Kontoebene auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata_fields.metadata_field_definitions_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)

```

**Parameter**

`account_id`: Uuid –

`include`: typing.Optional\[typing.Literal\["creator"]] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Links aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.metadata\_fields.metadata\_field\_definitions\_create(...) -> AsyncHttpResponse\[FieldDefinitionResponse]

Erstellt Felddefinitionen auf Kontoebene.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import (
    Frameio,
    SelectDefinitionParamsFieldConfiguration,
    SelectDefinitionParamsFieldConfigurationOptionsItem,
)
from frameio.metadata_fields import CreateFieldDefinitionParamsData_Select

client = Frameio(
    token="YOUR_TOKEN",
)
client.metadata_fields.metadata_field_definitions_create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=CreateFieldDefinitionParamsData_Select(
        field_configuration=SelectDefinitionParamsFieldConfiguration(
            enable_add_new=False,
            options=[
                SelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 1",
                ),
                SelectDefinitionParamsFieldConfigurationOptionsItem(
                    display_name="Option 2",
                ),
            ],
        ),
        name="Fields definition name",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`data`: typing.Optional\[CreateFieldDefinitionParamsData]

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Projektberechtigungen

#### client.project\_permissions.index(...) -> AsyncPager\[UserRole, UserRolesResponse]

Listet Benutzendenrollen für das gegebene Projekt auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.project_permissions.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include_deactivated=True,
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page

```

**Parameter**

`account_id`: Uuid –

`project_id`: Uuid –

`include_deactivated`: typing.Optional\[bool] – Unterstützt die Einbindung von deaktivierten Benutzenden in die Antwort. Standardwert lautet „false“.

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> HINWEIS: Dieser Wert wird automatisch generiert und als Teil von Links aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.project\_permissions.delete(...) -> AsyncHttpResponse\[None]

Entfernt Benutzende aus einem gegebenen Projekt.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.project_permissions.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: Uuid –

`project_id`: Uuid –

`user_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.project\_permissions.project\_user\_roles\_update(...) -> AsyncHttpResponse\[UpdateUserRolesResponse]

Aktualisiert Benutzendenrollen für das gegebene Projekt, wenn Benutzende bereits dem Projekt hinzugefügt wurden.Wenn Benutzende nicht dem Projekt hinzugefügt wurden, werden sie mit der gegebenen Rolle hinzugefügt.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio, UpdateUserRolesParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.project_permissions.project_user_roles_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateUserRolesParamsData(
        role="editor",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`project_id`: Uuid –

`user_id`: Uuid –

`data`: UpdateUserRolesParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Projekte

#### client.projects.show(...) -> AsyncHttpResponse\[ProjectWithIncludesResponse]

Zeigt Projektdetails an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.projects.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["owner"]]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.delete(...) -> AsyncHttpResponse\[None]

Löscht ein Projekt.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.projects.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.update(...) -> AsyncHttpResponse\[ProjectResponse]

Aktualisiert Projektdetails.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.projects import ProjectUpdateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.projects.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=ProjectUpdateParamsData(
        name="Project Name",
        restricted=True,
        status="active",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`data`: `ProjectUpdateParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.index(...) -> AsyncPager\[ProjectWithIncludes, ProjectsWithIncludesResponse]

Projekte in einem gegebenen Arbeitsbereich auflisten.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.projects.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["owner"]]` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.create(...) -> AsyncHttpResponse\[ProjectResponse]

Erstellt ein Projekt in einem gegebenen Arbeitsbereich.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.projects import ProjectParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.projects.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=ProjectParamsData(
        name="Project Name",
        restricted=True,
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`data`: `ProjectParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.account\_projects\_index(...) -> AsyncPager\[ProjectWithIncludes, ProjectsWithIncludesResponse]

Alle Projekte auflisten, auf die authentifizierte Benutzende innerhalb des angegebenen Kontos Zugriff haben.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.projects.account_projects_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="owner",
    sort="name_asc",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["owner"]]` –

`sort`: `typing.Optional[AccountProjectsIndexRequestSort]` – Projekte anhand von Abfrageparametern sortieren

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.projects.invited\_projects\_index(...) -> AsyncPager\[ProjectWithIncludes, ProjectsWithIncludesResponse]

Projekte auflisten, zu denen der aktuelle Benutzer bzw. die aktuelle Benutzerin innerhalb des angegebenen Kontos eingeladen wurde, auf die er bzw. sie jedoch keinen Zugriff auf Arbeitsbereich-Ebene hat. Das sind Projekte, bei denen der Benutzer bzw. die Benutzerin projektspezifischen Zugriff als mitwirkende Person hat, jedoch ohne breiter gefasste Team-/Arbeitsbereichsberechtigungen.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.projects.invited_projects_index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="owner",
    sort="name_asc",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`include`: `typing.Optional[typing.Literal["owner"]]` –

`sort`: `typing.Optional[InvitedProjectsIndexRequestSort]` – Projekte anhand von Abfrageparametern sortieren

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Suche

#### client.search.search(...) -> AsyncHttpResponse\[SearchResponse]

Durchsuchen von Assets, Ordnern und Projekten innerhalb eines Kontos

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.search import SearchParamsFilters

client = Frameio(
    token="YOUR_TOKEN",
)
client.search.search(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    engine="nlp",
    query="red car driving on highway",
    filters=SearchParamsFilters(
        files_and_version_stacks=True,
        folders=False,
        projects=False,
    ),
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
```

**Parameter**

`account_id`: `Uuid` –

`engine`: `SearchParamsEngine` – Suchmaschine, die verwendet werden soll. Verfügbare Maschinen: lexical, nlp.

`query`: `str` – Der Suchanfragetext

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`filters`: `typing.Optional[SearchParamsFilters]` – Filter, um zu steuern, welche Ergebnistypen zurückgegeben werden.

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Freigaben

#### client.shares.show(...) -> AsyncHttpResponse\[ShareResponse]

Zeigt eine einzelne Freigabe an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.delete(...) -> AsyncHttpResponse\[None]

Löscht eine Freigabe.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.update(...) -> AsyncHttpResponse\[ShareResponse]

Aktualisiert eine Freigabe.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

import datetime

from frameio import Frameio
from frameio.shares import UpdateShareParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateShareParamsData(
        access="public",
        description="A descriptive summary of the share",
        downloading_enabled=True,
        expiration=datetime.datetime.fromisoformat(
            "2026-01-22 17:04:53+00:00",
        ),
        name="Share Name",
        passphrase="as!dfj39sd(*",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid`–

`data`: `UpdateShareParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.list\_reviewers(...) -> AsyncPager\[User, ShareReviewersResponse]

Auflisten von Freigabe-Prüfenden.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.shares.list_reviewers(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.add\_reviewers(...) -> AsyncHttpResponse\[None]

Fügt Prüfende anhand von drei Bezeichnertypen der sicheren Freigabe hinzu: `adobe_user_id`, `email` und `user_id`.

Eine Anfrage kann nur einen Bezeichnertyp-Parameter enthalten.

`email` ist der einzige Bezeichner, mit dem Prüfende einer Freigabe hinzugefügt werden können, die kein Frame-Konto-Mitglied des Kontos sind, zu dem die Freigabe gehört.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.shares import (
    AddReviewersToShareParamsData,
    AddReviewersToShareParamsDataReviewers,
)

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.add_reviewers(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=AddReviewersToShareParamsData(
        message="Please join my share!",
        reviewers=AddReviewersToShareParamsDataReviewers(
            emails=["email1@domain.com", "email2@domain.com"],
        ),
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid`–

`data`: `AddReviewersToShareParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.remove\_reviewers(...) -> AsyncHttpResponse\[None]

Entfernt Prüfende anhand von drei Bezeichnertypen aus der sicheren Freigabe: `adobe_user_id`, `email` und `user_id`.

Eine Anfrage kann nur einen Bezeichnertyp-Parameter enthalten.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.shares import (
    RemoveReviewerParamsData,
    RemoveReviewerParamsDataReviewers,
)

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.remove_reviewers(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=RemoveReviewerParamsData(
        reviewers=RemoveReviewerParamsDataReviewers(
            adobe_user_ids=[
                "2A3C1A3D66C621B20A494021@176719f5667c82b4499999.e"
            ],
        ),
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid`–

`data`: `RemoveReviewerParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.remove\_asset(...) -> AsyncHttpResponse\[RemoveAssetResponse]

Entfernen eines Assets aus dieser Freigabe, das sich aktuell dort befindet.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.remove_asset(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    asset_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid`–

`asset_id`: `Uuid`–

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.add\_asset(...) -> AsyncHttpResponse\[AddAssetResponse]

Fügt neue Asset-Freigabe hinzu.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.shares import AddAssetParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.add_asset(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    share_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=AddAssetParamsData(
        asset_id="0cc1cb59-1d7c-4176-8532-afe099897318",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`share_id`: `Uuid`–

`data`: `AddAssetParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.index(...) -> AsyncPager\[Share, SharesResponse]

Listet Freigaben in einem Projekt auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.shares.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid` –

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.shares.create(...) -> AsyncHttpResponse\[ShareResponse]

Erstellt Freigabe.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
import datetime

from frameio import Frameio
from frameio.shares import CreateShareParamsData_Asset

client = Frameio(
    token="YOUR_TOKEN",
)
client.shares.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    project_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=CreateShareParamsData_Asset(
        access="public",
        asset_ids=[
            "12eb1446-5736-4f93-85fc-3b636f156211",
            "f23a3b3e-7b1f-4655-b91a-acf0566e5bb9",
        ],
        downloading_enabled=True,
        expiration=datetime.datetime.fromisoformat(
            "2026-01-22 17:04:53+00:00",
        ),
        name="Share Name",
        passphrase="as!dfj39sd(*",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`project_id`: `Uuid`–

`data`: `CreateShareParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Hochladen

#### frameio.upload.FrameioUploader(asset, file, ...)

Mit den vorab signierten URLs, die von `client.files.create_local_upload(...)` zurückgegeben werden, laden Sie eine lokale Datei auf Frame.io hoch. `FrameioUploader` ist eine dünne Schicht, mit der `upload_urls`, `file_size` und `media_type` aus der `FileWithUploadUrls`-Antwort gelesen werden und von der ein Multi-Thread-S3-Upload von Chunks durchgeführt wird.

**`usage`**

```python usage

from frameio import Frameio
from frameio.files import FileCreateLocalUploadParamsData
from frameio.upload import FrameioUploader

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.files.create_local_upload(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=FileCreateLocalUploadParamsData(
        file_size=1137444,
        name="asset.png",
    ),
)
with open("asset.png", "rb") as f:
    FrameioUploader(response.data, f).upload()
```

**Parameter**

`asset`: `FileWithUploadUrls` – Eine von `client.files.create_local_upload(...)` zurückgegebene `FileWithUploadUrls`-Instanz.

`file`: `typing.BinaryIO` – Ein im binären Lesemodus geöffnetes, dateiähnliches Objekt (`"rb"`)

`max_workers`: `int` – Nebenläufigkeit von Thread-Pools, die durch den zugrunde liegenden Uploader weitergegeben werden. Standardwert ist 5.

`headers`: `typing.Optional[typing.Dict[str, str]]` – Zusätzliche Header, die in jede S3-PUT-Anfrage eingebunden werden. Standardwert ist `{"x-amz-acl": "private"}`, wie für Frame.io erforderlich.

`max_retries`: `int` – Anzahl der Wiederholungsversuche pro Chunk. Standardwert ist 3.

`on_progress`: `typing.Optional[typing.Callable[[int, int], None]]` – Optionaler Rückruf, der nach jedem Chunk mit `(bytes_uploaded_so_far, total_bytes)` aufgerufen wird. **Methoden**`upload() -&gt; None` – Laden Sie die Datei hoch. Blockiert bis zum Abschluss oder löst einen Fehler aus.

#### Benutzende

#### client.users.show() -> AsyncHttpResponse\[ProfileResponse]

Prüft Details von Benutzenden, die mit dem Bearer-Token verknüpft sind.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.users.show()
```

**Parameter**

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Versionsstapel

#### client.version\_stacks.index(...) -> AsyncHttpResponse\[AssetsWithIncludesResponse]

Listet die untergeordneten Elemente (Dateien) in einem vorgegebenen Versionsstapel auf.

Beziehen Sie mit dem Abfrageparameter „Einbindung“ selektiv zusätzliche Eigenschaften in die Antwort ein.

> **Note**
>
> Wenn Sie `media_links.original` einbinden und Benutzende im entsprechenden Projekt keine Berechtigung zum Herunterladen von Dateien haben, wird von diesem Endpunkt der Fehler `403 Forbidden` ausgegeben. Ist der Inhalt nicht zugänglich, weil für diesen Benutzer bzw. diese Benutzerin ein Wasserzeichen erforderlich ist und von den angeforderten media\_links nicht unterstützt wird, ist die Anfrage erfolgreich, aber die nicht unterstützten Medien-Links werden auf Null gesetzt.Ähnlich verhält es sich, wenn ein angeforderter Transkodierungs-Link für eine bestimmte Datei nicht existiert (z. B. das Einbinden von `media_links.video_h264_180` in eine statische Bilddatei) oder die Transkodierung nicht abgeschlossen ist (d. h., der Status der Datei lautet „hochgeladen“ statt „transkodiert“); dann wird ein Medien-Link in der Antwort-Payload ebenfalls auf Null gesetzt.Kurz gesagt, der Client muss Null-Medien-Links elegant verarbeiten.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    version_stack_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)

```

**Parameter**

`account_id`: Uuid –

`version_stack_id`: Uuid –

`include`: typing.Optional\[FileWithMediaLinksInclude] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.version\_stacks.show(...) -> AsyncHttpResponse\[VersionStackWithIncludesResponse]

Zeigt Details des Versionsstapels an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    version_stack_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
)

```

**Parameter**

`account_id`: Uuid –

`version_stack_id`: Uuid –

`include`: typing.Optional\[VersionStacksShowRequestInclude] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.version\_stacks.copy(...) -> AsyncHttpResponse\[VersionStackCopyResponse]

Kopiert Versionsstapel.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.version_stacks import VersionStackCopyParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.copy(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    version_stack_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    copy_metadata=True,
    data=VersionStackCopyParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`version_stack_id`: Uuid –

`copy_metadata`: typing.Optional\[bool] – Gibt an, ob Metadatenwerte zusammen mit dem Versionsstapel kopiert werden sollen.

`data`: typing.Optional\[VersionStackCopyParamsData]

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.version\_stacks.list(...) -> AsyncHttpResponse\[VersionStacksWithIncludesResponse]

Listet Versionsstapel in einem gegebenen Ordner auf.

Ratenbegrenzungen: 5 Aufrufe pro 1 Sekunde(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.list(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include="media_links",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`include`: typing.Optional\[FileWithMediaLinksInclude] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.version\_stacks.create(...) -> AsyncHttpResponse\[VersionStackWithIncludesResponse]

Erstellt einen neuen Versionsstapel unter dem übergeordneten Ordner.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.version_stacks import VersionStackCreateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    folder_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=VersionStackCreateParamsData(
        file_ids=[
            "dd2a3cdd-fc90-41bd-a7b8-8a0447aec6d4",
            "79fed48a-8372-496e-8dcb-5e959b9b9fcf",
        ],
    ),
)

```

**Parameter**

`account_id`: Uuid –

`folder_id`: Uuid –

`data`: VersionStackCreateParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.version\_stacks.move(...) -> AsyncHttpResponse\[VersionStackResponse]

Verschiebt Versionsstapel in einen Ordner.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.version_stacks import VersionStackMoveParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.version_stacks.move(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    version_stack_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=VersionStackMoveParamsData(
        parent_id="2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`version_stack_id`: Uuid –

`data`: VersionStackMoveParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Webhooks

#### client.webhooks.index(...) -> AsyncPager\[WebhookWithIncludes, WebhooksWithIncludesResponse]

Listet Webhooks für den gegebenen Arbeitsbereich auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.webhooks.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`include`: typing.Optional\[typing.Literal\["creator"]] –

`after`: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.webhooks.create(...) -> AsyncHttpResponse\[WebhookCreateResponse]

Erstellt einen einzelnen Webhook mit Geheimnis.

Gültige Ereignisse:

`file.created`, `file.deleted`, `file.ready`, `file.updated`, `file.upload.completed`, `file.versioned`, `file.copied`, `folder.created`, `folder.deleted`, `folder.updated`, `folder.copied`, `comment.completed`, `comment.created`, `comment.deleted`, `comment.uncompleted`, `comment.updated`, `customfield.created`, `customfield.updated`, `customfield.deleted`, `metadata.value.updated`, `project.created`, `project.deleted`, `project.updated`, `collection.created`, `collection.updated`, `collection.deleted`, `share.created`, `share.updated`, `share.deleted`, `share.viewed`.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro Konto

**`usage`**

```python usage

from frameio import Frameio
from frameio.webhooks import WebhookCreateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.webhooks.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=WebhookCreateParamsData(
        events=[
            "file.created",
            "file.deleted",
            "file.ready",
            "file.updated",
            "file.upload.completed",
            "file.versioned",
            "file.copied",
            "folder.created",
            "folder.deleted",
            "folder.updated",
            "folder.copied",
            "comment.completed",
            "comment.created",
            "comment.deleted",
            "comment.uncompleted",
            "comment.updated",
            "customfield.created",
            "customfield.updated",
            "customfield.deleted",
            "metadata.value.updated",
            "project.created",
            "project.deleted",
            "project.updated",
            "collection.created",
            "collection.updated",
            "collection.deleted",
            "share.created",
            "share.updated",
            "share.deleted",
            "share.viewed",
        ],
        name="New Webhook",
        url="https://url.example.com",
    ),
)

```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`data`: WebhookCreateParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.webhooks.show(...) -> AsyncHttpResponse\[WebhookWithIncludesResponse]

Zeigt Webhook-Details an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.webhooks.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    webhook_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: Uuid –

`webhook_id`: Uuid –

`include`: typing.Optional\[typing.Literal\["creator"]] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.webhooks.delete(...) -> AsyncHttpResponse\[None]

Löscht einen Webhook.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.webhooks.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    webhook_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: Uuid –

`webhook_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.webhooks.update(...) -> AsyncHttpResponse\[WebhookResponse]

Aktualisiert Webhook-Details.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio
from frameio.webhooks import WebhookUpdateParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.webhooks.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    webhook_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=WebhookUpdateParamsData(
        active=True,
        events=[
            "file.created",
            "file.deleted",
            "file.ready",
            "file.updated",
            "file.upload.completed",
            "file.versioned",
            "file.copied",
            "folder.created",
            "folder.deleted",
            "folder.updated",
            "folder.copied",
            "comment.completed",
            "comment.created",
            "comment.deleted",
            "comment.uncompleted",
            "comment.updated",
            "customfield.created",
            "customfield.updated",
            "customfield.deleted",
            "metadata.value.updated",
            "project.created",
            "project.deleted",
            "project.updated",
            "collection.created",
            "collection.updated",
            "collection.deleted",
            "share.created",
            "share.updated",
            "share.deleted",
            "share.viewed",
        ],
        name="Updated Webhook",
        url="https://url.example.com",
    ),
)
```

**Parameter**

`account_id`: Uuid –

`webhook_id`: Uuid –

`data`: WebhookUpdateParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### Arbeitsbereichsberechtigungen

#### client.workspace\_permissions.index(...) -> AsyncPager\[UserRole, UserRolesResponse]

Listet Benutzendenrollen für einen gegebenen Arbeitsbereich auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.workspace_permissions.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    include_deactivated=True,
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`includ_deactivated`: `typing.Optional[bool]` – Unterstützt die Einbindung von deaktivierten Benutzenden in die Antwort. Standardwert lautet „false“.

`after`: `typing.Optional[RequestAfterOpaqueCursor]`

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: `typing.Optional[RequestPageSize]` –

`include_total_count`: `typing.Optional[IncludeTotalCount]` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.workspace\_permissions.workspace\_user\_roles\_delete(...) -> AsyncHttpResponse\[None]

Entfernt einen Benutzer bzw. eine Benutzerin aus einem gegebenen Arbeitsbereich.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspace_permissions.workspace_user_roles_delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`user_id`: `Uuid` –

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### client.workspace\_permissions.workspace\_user\_roles\_update(...) -> AsyncHttpResponse\[UpdateUserRolesResponse]

Aktualisiert Benutzendenrollen für den gegebenen Arbeitsbereich, wenn der Benutzer bzw. die Benutzerin bereits dem Arbeitsbereich hinzugefügt wurde.Wenn der Benutzer bzw. die Benutzerin nicht dem Arbeitsbereich hinzugefügt wurde, wird er bzw. sie mit der gegebenen Rolle hinzugefügt.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio, UpdateUserRolesParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspace_permissions.workspace_user_roles_update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    user_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=UpdateUserRolesParamsData(
        role="editor",
    ),
)
```

**Parameter**

`account_id`: `Uuid` –

`workspace_id`: `Uuid` –

`user_id`: `Uuid` –

`data`: `UpdateUserRolesParamsData`

`request_options`: `typing.Optional[RequestOptions]` – Anfragespezifische Konfiguration.

#### Arbeitsbereiche

#### client.workspaces.show(...) -> AsyncHttpResponse\[WorkspaceWithIncludesResponse]

Zeigt Arbeitsbereichsdetails an.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspaces.show(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)
```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`include`: typing.Optional\[typing.Literal\["creator"]] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.workspaces.delete(...) -> AsyncHttpResponse\[None]

Löscht Arbeitsbereich aus Konto.

Ratenbegrenzungen: 60 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspaces.delete(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
)

```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.workspaces.update(...) -> AsyncHttpResponse\[WorkspaceResponse]

Aktualisiert einen Arbeitsbereich.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage

from frameio import Frameio, WorkspaceParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspaces.update(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    workspace_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=WorkspaceParamsData(
        name="My Workspace",
    ),
)
```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`data`: WorkspaceParamsData

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.workspaces.index(...) -> AsyncPager\[WorkspaceWithIncludes, WorkspacesWithIncludesResponse]

Listet Arbeitsbereiche für ein gegebenes Konto auf.

Ratenbegrenzungen: 100 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio

client = Frameio(
    token="YOUR_TOKEN",
)
response = client.workspaces.index(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    after="<opaque_cursor>",
    page_size=10,
    include_total_count=False,
)
for item in response:
    yield item
# alternatively, you can paginate page-by-page
for page in response.iter_pages():
    yield page
```

**Parameter**

`account_id`: Uuid –

`workspace_id`: Uuid –

`include`: typing.Optional\[typing.Literal\["owner"]] –

after: typing.Optional\[RequestAfterOpaqueCursor]

Intransparenter Cursor-Abfrageparameter für Anfragen, bei denen paginierte Ergebnisse zurückgegeben werden.

> **Tip**
>
> Dieser Wert wird automatisch generiert und als Teil von Verknüpfungen aus einer vorherigen Antwort eingefügt.Er ist nicht dafür vorgesehen, für Menschen lesbar zu sein.

`page_size`: typing.Optional\[RequestPageSize] –

`include_total_count`: typing.Optional\[IncludeTotalCount] –

`request_options`: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

#### client.workspaces.create(...) -> AsyncHttpResponse\[WorkspaceResponse]

Erstellt einen Arbeitsbereich in einem Konto.

Ratenbegrenzungen: 10 Aufrufe pro 1,00 Minute(n) pro account\_user

**`usage`**

```python usage
from frameio import Frameio, WorkspaceParamsData

client = Frameio(
    token="YOUR_TOKEN",
)
client.workspaces.create(
    account_id="b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    data=WorkspaceParamsData(
        name="My Workspace",
    ),
)
```

**Parameter**

`account_id`: Uuid –

data`: WorkspaceParamsData `request\_options: typing.Optional\[RequestOptions] – Anfragespezifische Konfiguration.

---

### PyPI

> **Launch**
>
> Auf [PyPI](https://pypi.org/project/frameio/) anzeigen

---