> This page is for Plataforma, 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
> - Heredado: 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.

# Referencia del SDK para TypeScript

---

### Instalación

```curl
npm i -s frameio
```

---

### Uso

Instancie y use el cliente con lo siguiente:

```ts
import { FrameioClient } from "frameio";

const client = new FrameioClient({ token: "YOUR_TOKEN" });
await client.metadataFields.metadataFieldDefinitionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        field_type: "select",
        field_configuration: {
            enable_add_new: false,
            options: [
                {
                    display_name: "Option 1",
                },
                {
                    display_name: "Option 2",
                },
            ],
        },
        name: "Fields definition name",
    },
});
```

---

### Tipos de solicitud y respuesta

El SDK exporta todos los tipos de solicitud y respuesta como interfaces de TypeScript. Solo tiene que importarlos con el siguiente espacio de nombre:

```ts
import { Frameio } from "frameio";

const request: Frameio.UpdateFieldDefinitionParams = {
    ...
};
```

---

### Gestión de excepciones

Cuando la API devuelve un código de estado que no indica éxito, como una respuesta 4xx o 5xx, se genera una subclase del siguiente error.

```ts
import { FrameioError } from "frameio";

try {
    await client.metadataFields.metadataFieldDefinitionsCreate(...);
} catch (err) {
    if (err instanceof FrameioError) {
        console.log(err.statusCode);
        console.log(err.message);
        console.log(err.body);
        console.log(err.rawResponse);
    }
}
```

---

### Avanzado

#### Encabezados adicionales

Si desea enviar encabezados adicionales como parte de la solicitud, use la opción de solicitud headers.

```ts
const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
    headers: {
        'X-Custom-Header': 'custom value'
    }
});
```

#### Parámetros de cadena de consulta adicionales

Si desea enviar parámetros de cadena de consulta adicionales como parte de la solicitud, use la opción de solicitud queryParams.

```ts
const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
    queryParams: {
        'customQueryParamKey': 'custom query param value'
    }
});
```

---

#### Reintentos

El SDK incorpora reintentos automáticos con espera exponencial. Una solicitud se reintenta siempre que se considere apta para ello y el número de intentos no supere el límite configurado, cuyo valor predeterminado es 2.

Una solicitud se considera apta para reintento cuando se devuelve alguno de los siguientes códigos de estado HTTP:

* 408 (tiempo de espera agotado)
* 429 (demasiadas solicitudes)
* 5XX (errores internos del servidor)

\
&#x20;Use la opción de solicitud `maxRetries` para configurar este comportamiento.

```ts
const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
    maxRetries: 0 // override maxRetries at the request level
});
```

---

#### Tiempos de espera

El SDK tiene un tiempo de espera predeterminado de 60 segundos. Use la opción timeoutInSeconds para configurar este comportamiento.

```ts
const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
    timeoutInSeconds: 30 // override timeout to 30s
});
```

#### Anulación de solicitudes

El SDK permite anular solicitudes en cualquier momento pasando una señal de anulación.

```ts
const controller = new AbortController();
const response = await client.metadataFields.metadataFieldDefinitionsCreate(..., {
    abortSignal: controller.signal
});
controller.abort(); // aborts the request
```

---

#### Acceso a datos de respuesta sin procesar

El SDK proporciona acceso a los datos de respuesta sin procesar, incluidos los encabezados, mediante el método `.withRawResponse()`. El método `.withRawResponse()` devuelve una promesa que da como resultado un objeto con una propiedad `data` y una propiedad `rawResponse`.

```ts
const { data, rawResponse } = await client.metadataFields.metadataFieldDefinitionsCreate(...).withRawResponse();

console.log(data);
console.log(rawResponse.headers['X-My-Header']);
```

#### Compatibilidad en tiempo de ejecución

El SDK funciona en los siguientes tiempos de ejecución:

* Node.js 18+
* Vercel
* Cloudflare Workers
* Deno v1.25+
* Bun 1.0+
* React Native

---

#### Personalización del cliente Fetch

El SDK permite personalizar el cliente HTTP subyacente o la función Fetch. Si se ejecuta en un entorno no compatible, esto permite recurrir a una solución alternativa y garantizar que el SDK funcione.

```ts
import { FrameioClient } from "frameio";

const client = new FrameioClient({
    ...
    fetcher: // provide your implementation here
});
```

---

### Referencia

#### Permisos de cuenta

#### client.accountPermissions.index(accountId, \{ ...params }) -> core.Page\<Frameio.AccountUserRole>

Enumere las funciones de usuario de una cuenta determinada.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

const response = await client.accountPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include_deactivated: true,
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.accountPermissions.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include_deactivated: true,
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.AccountPermissionsIndexRequest`

`requestOptions`: `AccountPermissions.RequestOptions`

#### Cuentas

#### client.accounts.index(\{ ...params }) -> core.Page\<Frameio.Account>

Enumere las cuentas del usuario actual.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.accounts.index({
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.accounts.index({
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`request`: `Frameio.AccountsIndexRequest`

`requestOptions`: `Accounts.RequestOptions`

#### client.accounts.auditlogIndex(accountId, \{ ...params }) -> Frameio.AuditLogsWithIncludesResponse

Enumera los registros de auditoría con funciones de filtrado mediante parámetros de consulta.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.accounts.auditlogIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "user",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.AuditlogIndexRequest`

`requestOptions`: `Accounts.RequestOptions`

#### Autorización

#### new ServerToServerAuth(\{ clientId, clientSecret, … })

Autentíquese mediante la concesión `client_credentials` de OAuth 2.0. Este flujo no implica a ningún usuario y no devuelve ningún token de actualización. Cuando el token de acceso caduca, el SDK solicita automáticamente uno nuevo con las credenciales de cliente.

**`usage`**

```ts usage
import { FrameioClient, ServerToServerAuth } from "frameio";

const auth = new ServerToServerAuth({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET",
});
const client = new FrameioClient({ token: () => auth.getToken() });
```

**Parámetros**

`clientid`: `string` — ID de cliente de Adobe IMS Oauth.

`clientSecret`: `string` — Secreto de cliente de Adobe IMS Oauth.

`scopes`: `string` — Ámbitos separados por espacios (OAuth 2.0 RFC 6749). El valor predeterminado es el ámbito de servidor a servidor.

`imsBaseUrl`: `string` — URL base de IMS para entornos de ensayo o alternativos. El valor predeterminado es producción.

`fetch`: `typeof fetch` — Implementación de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Devolución de llamada opcional que se activa después de cada obtención de token.

`timeout`: `number` — Tiempo de espera de la petición HTTP en milisegundos. El valor predeterminado es 30000.

`maxRetries`: `number` — Número máximo de reintentos ante errores transitorios. El valor predeterminado es 2.

`refreshBuffer`: `number` — Segundos antes de la caducidad para activar una actualización proactiva. El valor predeterminado es 60.

`logger`: `Logger` — Instancia de registrador para la salida de diagnóstico. **Methods** `getToken(): Promise<string>` — Devuelve un token de acceso válido y lo actualiza si es necesario. Pass it to the client: `new FrameioClient({ token: () => auth.getToken() })`. `authenticate(): Promise<TokenResponse>` — Obtiene explícitamente un nuevo token de acceso. `revoke(): Promise<void>` — Revoca los tokens en el servidor y borra el estado local. `exportTokens(): ExportedTokens` — Exporta el estado actual de los tokens para conservarlo. `importTokens(data: ExportedTokens): void` — Restaura el estado de los tokens a partir de un objeto exportado anteriormente.

#### new WebAppAuth(\{ clientId, clientSecret, redirectUri, … })

Autentíquese mediante la concesión `authorization_code` de OAuth 2.0. Use este método para aplicaciones del lado del servidor que puedan almacenar de forma segura un secreto de cliente.

**`usage`**

```ts usage
import { randomBytes } from "crypto";
import { FrameioClient, WebAppAuth } from "frameio";

const auth = new WebAppAuth({
    clientId: "YOUR_CLIENT_ID",
    clientSecret: "YOUR_CLIENT_SECRET",
    redirectUri: "https://myapp.com/callback",
});
const url = auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
// redirect the user to url ...
await auth.exchangeCode("CODE_FROM_CALLBACK");
const client = new FrameioClient({ token: () => auth.getToken() });
```

**Parámetros**

`clientid`: `string` — ID de cliente de Adobe IMS Oauth.

`clientSecret`: `string` — Secreto de cliente de Adobe IMS Oauth.

`redirectUri`: `string` — URI de redireccionamiento registrado.

`scopes`: `string` — Ámbitos separados por espacios (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base de IMS para entornos de ensayo o alternativos. El valor predeterminado es producción.

`fetch`: `typeof fetch` — Implementación de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Devolución de llamada opcional que se activa después de cada actualización del token.

`timeout`: `number` — Tiempo de espera de la petición HTTP en milisegundos. El valor predeterminado es 30000.

`maxRetries`: `number` — Número máximo de reintentos ante errores transitorios. El valor predeterminado es 2.

`refreshBuffer`: `number` — Segundos antes de la caducidad para activar una actualización proactiva. El valor predeterminado es 60.

`logger`: `Logger` — Instancia de registrador para la salida de diagnóstico. **Methods** `getToken(): Promise<string>` — Devuelve un token de acceso válido y lo actualiza si es necesario. `getAuthorizationUrl({ state }): string` — Crea la URL de autorización de Adobe IMS. Pase un valor opaco de CSRF/estado que se devolverá en la respuesta. `exchangeCode(code: string): Promise<TokenResponse>` — Intercambia un código de autorización por tokens de acceso y actualización. `refresh(): Promise<TokenResponse>` — Activa manualmente una actualización del token. `revoke(): Promise<void>` — Revoca los tokens en el servidor y borra el estado local. `exportTokens(): ExportedTokens` — Exporta el estado actual de los tokens para conservarlo. `importTokens(data: ExportedTokens): void` — Restaura el estado de los tokens a partir de un objeto exportado anteriormente.

#### new SPAAuth(\{ clientId, redirectUri, … })

Autentíquese mediante `authorization_code` + PKCE, sin secreto de cliente. Use este método para aplicaciones basadas en explorador o aplicaciones de una sola página que no puedan almacenar de forma segura un secreto de cliente.

**`usage`**

```ts usage
import { randomBytes } from "crypto";
import { FrameioClient, SPAAuth } from "frameio";

const auth = new SPAAuth({
    clientId: "YOUR_CLIENT_ID",
    redirectUri: "https://myapp.com/cb",
});
const result = await auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
// redirect the user to result.url, store result.codeVerifier ...
await auth.exchangeCode({ code: "CODE_FROM_CALLBACK", codeVerifier: result.codeVerifier });
const client = new FrameioClient({ token: () => auth.getToken() });
```

**Parámetros**

`clientid`: `string` — ID de cliente de Adobe IMS Oauth.

`redirectUri`: `string` — URI de redireccionamiento registrado.

`scopes`: `string` — Ámbitos separados por espacios (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base de IMS para entornos de ensayo o alternativos. El valor predeterminado es producción.

`fetch`: `typeof fetch` — Implementación de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Devolución de llamada opcional que se activa después de cada actualización del token.

`timeout`: `number` — Tiempo de espera de la petición HTTP en milisegundos. El valor predeterminado es 30000.

`maxRetries`: `number` — Número máximo de reintentos ante errores transitorios. El valor predeterminado es 2.

`refreshBuffer`: `number` — Segundos antes de la caducidad para activar una actualización proactiva. El valor predeterminado es 60.

`logger`: `Logger` — Instancia de registrador para la salida de diagnóstico. **Methods** `getToken(): Promise<string>` — Devuelve un token de acceso válido y lo actualiza si es necesario. `getAuthorizationUrl({ state }): Promise<AuthorizationUrlResult>` — Crea la URL de autorización de Adobe IMS con un desafío PKCE. Devuelve un `AuthorizationUrlResult` con `url` y `codeVerifier`. `exchangeCode({ code, codeVerifier }): Promise<TokenResponse>` — Intercambia un código de autorización y el verificador PKCE por tokens. `refresh(): Promise<TokenResponse>` — Activa manualmente una actualización del token. `revoke(): Promise<void>` — Revoca los tokens en el servidor y borra el estado local. `exportTokens(): ExportedTokens` — Exporta el estado actual de los tokens para conservarlo. `importTokens(data: ExportedTokens): void` — Restaura el estado de los tokens a partir de un objeto exportado anteriormente.

#### new NativeAppAuth(\{ clientId, redirectUri, … })

Autentíquese mediante `authorization_code` + PKCE para aplicaciones móviles y de escritorio. Comparte la misma API que `SPAAuth`; utilice un URI de redireccionamiento de esquema personalizado (por ejemplo, `myapp://callback`).

**`usage`**

```ts usage
import { randomBytes } from "crypto";
import { FrameioClient, NativeAppAuth } from "frameio";

const auth = new NativeAppAuth({
    clientId: "YOUR_CLIENT_ID",
    redirectUri: "myapp://callback",
});
const result = await auth.getAuthorizationUrl({ state: randomBytes(24).toString("hex") });
// open result.url in the system browser, store result.codeVerifier ...
await auth.exchangeCode({ code: "CODE_FROM_CALLBACK", codeVerifier: result.codeVerifier });
const client = new FrameioClient({ token: () => auth.getToken() });
```

**Parámetros**

`clientid`: `string` — ID de cliente de Adobe IMS Oauth.

`RedirectUri`: `string` — URI de redireccionamiento registrado (admite esquema personalizado).

`scopes`: `string` — Ámbitos separados por espacios (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base de IMS para entornos de ensayo o alternativos. El valor predeterminado es producción.

`fetch`: `typeof fetch` — Implementación de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Devolución de llamada opcional que se activa después de cada actualización del token.

`timeout`: `number` — Tiempo de espera de la petición HTTP en milisegundos. El valor predeterminado es 30000.

`maxRetries`: `number` — Número máximo de reintentos ante errores transitorios. El valor predeterminado es 2.

`refreshBuffer`: `number` — Segundos antes de la caducidad para activar una actualización proactiva. El valor predeterminado es 60.

`logger`: `Logger` — Instancia de registrador para la salida de diagnóstico. **Methods** Same as `SPAAuth`: `getToken()`, `getAuthorizationUrl({ state })`, `exchangeCode({ code, codeVerifier })`, `refresh()`, `revoke()`, `exportTokens()`, `importTokens(data)`.

#### AuthorizationUrlResult

Objeto devuelto por `SPAAuth.getAuthorizationUrl()` y `NativeAppAuth.getAuthorizationUrl()`. Contiene la URL de autorización y el verificador de código PKCE. **Properties** `url`: `string` — URL de autorización completa a la que se redirige al usuario. `codeVerifier`: `string` — Verificador de código PKCE que se debe almacenar y pasar a `exchangeCode()`.

#### Excepciones de autenticación

Todos los errores de autenticación se extienden a `FrameioAuthError` y se pueden importar desde `frameio`.

| Excepción             | Descripción                                                                                          |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| `FrameioAuthError`    | Error base para todos los errores de auth-SDK.                                                       |
| `AuthenticationError` | Error al intercambiar o actualizar el token. Tiene las propiedades `errorCode` y `errorDescription`. |
| `TokenExpiredError`   | El token de actualización ha caducado; es necesario volver a autenticarse.                           |
| `NetworkError`        | Error en la solicitud de red (tiempo de espera agotado, error de conexión, etc.).                    |
| `RateLimitError`      | Adobe IMS ha devuelto 429 y se han agotado los reintentos. Tiene una propiedad `retryAfter`.         |
| `PKCEError`           | Error en la verificación de PKCE.                                                                    |
| `ConfigurationError`  | Falta la configuración necesaria o no es válida.                                                     |

#### Colecciones

#### client.collections.index(accountId, projectId, \{ ...params }) -> Frameio.CollectionsResponse

Enumera las colecciones de un proyecto.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.collections.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator,project",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.CollectionsIndexRequest`

`requestOptions`: `Collections.RequestOptions`

#### client.collections.show(accountId, collectionId, \{ ...params }) -> Frameio.CollectionResponse

Muestra los detalles de la colección.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.collections.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator,project",
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`collectionId`: `Frameio.Uuid` —

`request`: `Frameio.CollectionsShowRequest`

`requestOptions`: `Collections.RequestOptions`

#### Comentarios

#### client.comments.show(accountId, commentId, \{ ...params }) -> Frameio.CommentWithIncludesResponse

Muestre un solo comentario de un archivo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`commentId`: `Frameio.Uuid` —

`request`: `Frameio.CommentsShowRequest`

`requestOptions`: `Comments.RequestOptions`

#### client.comments.delete(accountId, commentId) -> void

Elimine el comentario de un activo.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`commentId`: `Frameio.Uuid` —

`requestOptions`: `Comments.RequestOptions`

#### client.comments.update(accountId, commentId, \{ ...params }) -> Frameio.CommentResponse

Actualice el comentario del activo determinado.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    timestamp_as_timecode: true,
    data: {
        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!",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`commentId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateCommentParams`

`requestOptions`: `Comments.RequestOptions`

#### client.comments.index(accountId, fileId, \{ ...params }) -> core.Page\<Frameio.CommentWithIncludes>

Enumere los comentarios de un activo determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.comments.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include: "owner",
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.comments.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.CommentsIndexRequest`

`requestOptions`: `Comments.RequestOptions`

#### client.comments.create(accountId, fileId, \{ ...params }) -> Frameio.CommentResponse

Cree un comentario en un archivo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    timestamp_as_timecode: true,
    data: {
        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",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.CreateCommentParams`

`requestOptions`: `Comments.RequestOptions`

#### client.comments.createAttachment(accountId, commentId, \{ ...params }) -> Frameio.CommentAttachmentResponse

Crea un archivo adjunto para un comentario existente.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.createAttachment("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        file_size: 1024000,
        media_type: "image/png",
        name: "screenshot.png",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`commentId`: `Frameio.Uuid` —

`request`: `Frameio.CreateAttachmentParams`

`requestOptions`: `Comments.RequestOptions`

#### client.comments.deleteAttachment(accountId, commentId, attachmentId) -> void

Elimina un archivo adjunto de un comentario.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.comments.deleteAttachment("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`commentId`: `Frameio.Uuid` —

`attachmentId`: `Frameio.Uuid` —

`requestOptions`: `Comments.RequestOptions`

#### Acciones personalizadas

#### client.customActions.actionsIndex(accountId, workspaceId, \{ ...params }) -> Frameio.ActionsWithIncludesResponse

Enumera las acciones de un espacio de trabajo determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.customActions.actionsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.ActionsIndexRequest`

`requestOptions`: `CustomActions.RequestOptions`

#### client.customActions.actionsShow(accountId, actionId, \{ ...params }) -> Frameio.ActionWithIncludesResponse

Muestre los detalles de una acción personalizada.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.customActions.actionsShow("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`actionId`: `Frameio.Uuid` —

`request`: `Frameio.ActionsShowRequest`

`requestOptions`: `CustomActions.RequestOptions`

#### client.customActions.actionsCreate(accountId, workspaceId, \{ ...params }) -> Frameio.ActionCreateResponse

Cree una acción personalizada en un espacio de trabajo.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.customActions.actionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        description: "customizing our workflow",
        event: "my.event",
        name: "First Custom Action",
        timeout: 7,
        url: "https://example.com/custom-action",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.ActionCreateParams`

`requestOptions`: `CustomActions.RequestOptions`

#### client.customActions.actionsUpdate(accountId, actionId, \{ ...params }) -> Frameio.ActionResponse

Actualice los detalles de una acción personalizada.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.customActions.actionsUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        active: true,
        description: "customizing our workflow",
        event: "my.event",
        multi_asset: true,
        name: "First Custom Action",
        timeout: 7,
        url: "https://example.com/custom-action",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`actionId`: `Frameio.Uuid` —

`request`: `Frameio.ActionUpdateParams`

`requestOptions`: `CustomActions.RequestOptions`

#### client.customActions.actionsDelete(accountId, actionId) -> void

Elimine una acción personalizada.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.customActions.actionsDelete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`actionId`: `Frameio.Uuid` —

`requestOptions`: `CustomActions.RequestOptions`

#### Archivos

#### client.files.list(accountId, folderId, \{ ...params }) -> Frameio.AssetsWithIncludesResponse

Enumere los archivos de una carpeta determinada.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FilesListRequest`

`requestOptions`: `Files.RequestOptions`

#### client.files.create(accountId, folderId, \{ ...params }) -> Frameio.FileWithUploadUrlsResponse

Cree un archivo nuevo en la carpeta principal. `Crear archivo (carga local)` y `Crear archivo (carga remota)` han sustituido a este punto final.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        file_size: 1137444,
        media_type: "image/png",
        name: "asset.png",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FileCreateParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.show(accountId, fileId, \{ ...params }) -> Frameio.FileWithIncludesResponse

Muestre los detalles del archivo.

Use el parámetro de consulta include para incluir de forma selectiva propiedades adicionales en la respuesta.

> **Note**
>
> Si incluye `media_links.original` y el usuario no tiene permiso para descargar el archivo, este punto final responderá con un error `403 Forbidden`. Si no se puede acceder al contenido porque se requiere marca de agua para este usuario y los media\_links solicitados no la admiten, la solicitud se completará correctamente, pero los vínculos de medios no compatibles se definirán como null. Del mismo modo, si un vínculo de transcodificación solicitado no existe para un archivo concreto (por ejemplo, si se incluye `media_links.video_h264_180` en un archivo de imagen estática) o si el proceso de transcodificación no se ha completado (es decir, el estado del archivo es "uploaded" en lugar de "transcoded"), el vínculo también se definirá como null en la carga útil de respuesta. En resumen, el cliente debe gestionar correctamente los vínculos de medios.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FilesShowRequest`

`requestOptions`: `Files.RequestOptions`

#### client.files.delete(accountId, fileId) -> void

Elimine el archivo por ID.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.files.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`requestOptions`: `Files.RequestOptions`

#### client.files.update(accountId, fileId, \{ ...params }) -> Frameio.FileResponse

Actualice los detalles del archivo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.files.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "asset.png",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.FileUpdateParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.copy(accountId, fileId, \{ ...params }) -> Frameio.FileCopyResponse

Copie el archivo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.files.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    copy_metadata: true,
    copy_comments: "none",
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.FileCopyParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.createRemoteUpload(accountId, folderId, \{ ...params }) -> Frameio.FileRemoteUploadResponse

Cree un archivo nuevo en la carpeta principal mediante carga remota.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.createRemoteUpload("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "asset.png",
        source_url: "https://upload.wikimedia.org/wikipedia/commons/e/e1/White_Pixel_1x1.png",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FileCreateRemoteUploadParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.move(accountId, fileId, \{ ...params }) -> Frameio.FileResponse

Mueva el archivo a una carpeta o version\_stack.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.files.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.FileMoveParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.createLocalUpload(accountId, folderId, \{ ...params }) -> Frameio.FileWithUploadUrlsResponse

Cree un archivo nuevo en la carpeta principal mediante carga local.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.createLocalUpload("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        file_size: 1137444,
        name: "asset.png",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FileCreateLocalUploadParams`

`requestOptions`: `Files.RequestOptions`

#### client.files.showFileUploadStatus(accountId, fileId) -> Frameio.FileUploadStatusResponse

Muestre los detalles del estado de carga del archivo.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.showFileUploadStatus("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`requestOptions`: `Files.RequestOptions`

#### client.files.importFile(accountId, folderId, \{ ...params }) -> Frameio.FileResponse

Importe un archivo desde una ubicación de almacenamiento configurada en la cuenta.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage
await client.files.importFile("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        key: "uploads/08091b0f-a541-42f5-a059-5e8c4afecc12/original.png",
        name: "asset.png",
        storage_location: "123e4567-e89b-12d3-a456-426614174000",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`folderId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.FileImportParams`

`requestOptions`: `Files.RequestOptions`

#### Permisos de carpeta

#### client.folderPermissions.folderUserRolesIndex(accountId, folderId, \{ ...params }) -> Frameio.UserRolesResponse

Enumere las funciones de usuario de una carpeta determinada.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.folderPermissions.folderUserRolesIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include_deactivated: true,
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderUserRolesIndexRequest`

`requestOptions`: `FolderPermissions.RequestOptions`

#### client.folderPermissions.folderUserRolesUpdate(accountId, folderId, userId, \{ ...params }) -> Frameio.UpdateUserRolesResponse

Actualice las funciones de usuario de la carpeta determinada si el usuario ya se ha añadido a la carpeta. Si el usuario no se ha añadido a la carpeta, se añadirá con la función indicada.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.folderPermissions.folderUserRolesUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        role: "editor",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`userId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateUserRolesParams`

`requestOptions`: `FolderPermissions.RequestOptions`

#### client.folderPermissions.delete(accountId, folderId, userId) -> void

Elimine un usuario de una carpeta determinada.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.folderPermissions.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`userId`: `Frameio.Uuid` —

`requestOptions`: `FolderPermissions.RequestOptions`

#### Carpetas

#### client.folders.show(accountId, folderId, \{ ...params }) -> Frameio.FolderWithIncludesResponse

Muestre los detalles de la carpeta.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.FoldersShowRequest`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.delete(accountId, folderId) -> void

Elimine la carpeta por ID.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`requestOptions`: `Folders.RequestOptions`

#### client.folders.update(accountId, folderId, \{ ...params }) -> Frameio.FolderResponse

Actualice los detalles de la carpeta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "Folder name",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderUpdateParams`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.index(accountId, folderId, \{ ...params }) -> Frameio.AssetsWithIncludesResponse

Enumere los elementos secundarios de la carpeta determinada.

Use el parámetro de consulta include para incluir de forma selectiva propiedades adicionales en la respuesta.

> **Note**
>
> Si incluye `media_links.original` y el usuario no tiene permiso para descargar archivos en el proyecto correspondiente, este punto final responderá con un error `403 Forbidden`. Si no se puede acceder al contenido porque se requiere marca de agua para este usuario y los media\_links solicitados no la admiten, la solicitud se completará correctamente, pero los vínculos de medios no compatibles se definirán como null. Del mismo modo, si un vínculo de transcodificación solicitado no existe para un archivo concreto (por ejemplo, si se incluye `media_links.video_h264_180` en un archivo de imagen estática) o si el proceso de transcodificación no ha finalizado (es decir, el estado del archivo es "uploaded" en lugar de "transcoded"), el vínculo de medios también se definirá como null en la carga útil de respuesta. En resumen, el cliente debe gestionar correctamente los vínculos de medios.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
    type: "file,folder,version_stack",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderIndexRequest`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.copy(accountId, folderId, \{ ...params }) -> Frameio.FolderCopyResponse

Copie la carpeta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    copy_metadata: true,
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderCopyParams`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.list(accountId, folderId, \{ ...params }) -> Frameio.FoldersWithIncludesResponse

Enumere las carpetas de una carpeta determinada.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage

await client.folders.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FoldersListRequest`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.create(accountId, folderId, \{ ...params }) -> Frameio.FolderResponse

Cree una carpeta nueva dentro del parámetro de ruta `folder_id` determinado.

Límites de frecuencia: 3 llamadas por segundo por account\_user

**`usage`**

```ts usage

await client.folders.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "Folder name",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderCreateParams`

`requestOptions`: `Folders.RequestOptions`

#### client.folders.move(accountId, folderId, \{ ...params }) -> Frameio.FolderResponse

Mueva la carpeta a otra carpeta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.folders.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.FolderMoveParams`

`requestOptions`: `Folders.RequestOptions`

#### Grupos

#### client.groups.index(accountId, \{ ...params }) -> Frameio.GroupsWithIncludesResponse

Enumere los grupos de la cuenta.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.groups.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    sort: "creator_asc",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.GroupsIndexRequest`

`requestOptions`: `Groups.RequestOptions`

#### client.groups.show(accountId, groupId, \{ ...params }) -> Frameio.GroupWithIncludesResponse

Muestra los detalles del grupo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.groups.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`groupId`: `Frameio.Uuid` —

`request`: `Frameio.GroupsShowRequest`

`requestOptions`: `Groups.RequestOptions`

#### client.groups.create(accountId, \{ ...params }) -> Frameio.GroupResponse

Cree un grupo para la cuenta actual.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.groups.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        emoji: "smile",
        name: "group-1",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.CreateGroupParams`

`requestOptions`: `Groups.RequestOptions`

#### client.groups.update(accountId, groupId, \{ ...params }) -> Frameio.GroupResponse

Actualice los detalles del grupo.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.groups.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        emoji: "smile",
        name: "group-1",
    },
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`groupId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateGroupParams`

`requestOptions`: `Groups.RequestOptions`

#### Metadatos

#### client.metadata.bulkUpdate(accountId, projectId, \{ ...params }) -> void

Actualice los valores de metadatos en varios archivos.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.metadata.bulkUpdate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        file_ids: ["09b31c2a-04de-464a-a593-643a36ef0d98", "b967fc36-4e18-4b48-a3ab-c790100e2baa"],
        values: [
            {
                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",
                    },
                ],
            },
        ],
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.BulkUpdateMetadataParams`

`requestOptions`: `Metadata.RequestOptions`

#### client.metadata.show(accountId, fileId, \{ ...params }) -> Frameio.MetadataResponse

Muestre los metadatos de un archivo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.metadata.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    show_null: true,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fileId`: `Frameio.Uuid` —

`request`: `Frameio.MetadataShowRequest`

`requestOptions`: `Metadata.RequestOptions`

#### Campos de metadatos

#### client.metadataFields.metadataFieldDefinitionsDelete(accountId, fieldDefinitionId) -> void

Elimine las definiciones de campos personalizados a nivel de cuenta.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.metadataFields.metadataFieldDefinitionsDelete(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
);

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fieldDefinitionId`: `Frameio.Uuid` —

`requestOptions`: `MetadataFields.RequestOptions`

#### client.metadataFields.metadataFieldDefinitionsUpdate(accountId, fieldDefinitionId, \{ ...params }) -> Frameio.FieldDefinitionResponse

Actualice las definiciones de campos personalizados a nivel de cuenta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.metadataFields.metadataFieldDefinitionsUpdate(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        data: {
            field_type: "select",
            field_configuration: {
                enable_add_new: false,
                options: [
                    {
                        display_name: "Option 1",
                    },
                    {
                        display_name: "Option 2",
                    },
                ],
            },
            name: "Updated-Field-Name",
        },
    },
);
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`fieldDefinitionId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateFieldDefinitionParams`

`requestOptions`: `MetadataFields.RequestOptions`

#### client.metadataFields.metadataFieldDefinitionsIndex(accountId, \{ ...params }) -> Frameio.FieldDefinitionsWithIncludesResponse

Enumere las definiciones de campos a nivel de cuenta.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.metadataFields.metadataFieldDefinitionsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.MetadataFieldDefinitionsIndexRequest`

`requestOptions`: `MetadataFields.RequestOptions`

#### client.metadataFields.metadataFieldDefinitionsCreate(accountId, \{ ...params }) -> Frameio.FieldDefinitionResponse

Cree definiciones de campos a nivel de cuenta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.metadataFields.metadataFieldDefinitionsCreate("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        field_type: "select",
        field_configuration: {
            enable_add_new: false,
            options: [
                {
                    display_name: "Option 1",
                },
                {
                    display_name: "Option 2",
                },
            ],
        },
        name: "Fields definition name",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.CreateFieldDefinitionParams`

`requestOptions`: `MetadataFields.RequestOptions`

#### Permisos del proyecto

#### client.projectPermissions.index(accountId, projectId, \{ ...params }) -> core.Page\<Frameio.UserRole

Enumere las funciones de usuario de un proyecto determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

const response = await client.projectPermissions.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include_deactivated: true,
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.projectPermissions.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include_deactivated: true,
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.ProjectPermissionsIndexRequest`

`requestOptions`: `ProjectPermissions.RequestOptions`

#### client.projectPermissions.delete(accountId, projectId, userId) -> void

Elimine un usuario de un proyecto determinado.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projectPermissions.delete(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
);
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`userId`: `Frameio.Uuid` —

`requestOptions`: `ProjectPermissions.RequestOptions`

#### client.projectPermissions.projectUserRolesUpdate(accountId, projectId, userId, \{ ...params }) -> Frameio.UpdateUserRolesResponse

Actualice las funciones de usuario del proyecto determinado si el usuario ya se ha añadido al proyecto. Si el usuario no se ha añadido al proyecto, se añadirá con la función indicada.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projectPermissions.projectUserRolesUpdate(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        data: {
            role: "editor",
        },
    },
);

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`UserId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateUserRolesParams`

`requestOptions`: `ProjectPermissions.RequestOptions`

#### Proyectos

#### client.projects.show(accountId, projectId, \{ ...params }) -> Frameio.ProjectWithIncludesResponse

Muestre los detalles del proyecto.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projects.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.ProjectsShowRequest`

`requestOptions`: `Projects.RequestOptions`

#### client.projects.delete(accountId, projectId) -> void

Elimine un proyecto.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projects.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`requestOptions`: `Projects.RequestOptions`

#### client.projects.update(accountId, projectId, \{ ...params }) -> Frameio.ProjectResponse

Actualice los detalles del proyecto.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projects.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "Project Name",
        restricted: true,
        status: "active",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.ProjectUpdateParams`

`requestOptions`: `Projects.RequestOptions`

#### client.projects.index(accountId, workspaceId, \{ ...params }) -> core.Page\<Frameio.ProjectWithIncludes>

Enumere los proyectos de un espacio de trabajo determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

const response = await client.projects.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include: "owner",
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.projects.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.ProjectsIndexRequest`

`requestOptions`: `Projects.RequestOptions`

#### client.projects.create(accountId, workspaceId, \{ ...params }) -> Frameio.ProjectResponse

Cree un proyecto en un espacio de trabajo determinado.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.projects.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "Project Name",
        restricted: true,
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.ProjectsParams`

`requestOptions`: `Projects.RequestOptions`

#### client.projects.accountProjectsIndex(accountId, \{ ...params }) -> Frameio.ProjectsWithIncludesResponse

Enumera todos los proyectos a los que tiene acceso el usuario autenticado en la cuenta especificada.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.projects.accountProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
    sort: "name_asc",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.AccountProjectsIndexRequest`

`requestOptions`: `Projects.RequestOptions`

#### client.projects.invitedProjectsIndex(accountId, \{ ...params }) -> Frameio.ProjectsWithIncludesResponse

Enumere los proyectos a los que se ha invitado al usuario actual en la cuenta especificada, pero a los que no tiene acceso de nivel de espacio de trabajo. Se trata de proyectos en los que el usuario tiene acceso de colaborador específico del proyecto sin permisos de equipo o espacio de trabajo más amplios.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.projects.invitedProjectsIndex("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "owner",
    sort: "name_asc",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.FrameOrAdobeId` —

`request`: `Frameio.InvitedProjectsIndexRequest`

`requestOptions`: `Projects.RequestOptions`

#### Búsqueda

#### client.search.search(accountId, \{ ...params }) -> Frameio.SearchResponse

Busque entre activos, carpetas y proyectos dentro de una cuenta.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.search.search("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    engine: "nlp",
    query: "red car driving on highway",
    filters: {
        files_and_version_stacks: true,
        folders: false,
        projects: false,
    },
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.SearchParams`

`requestOptions`: `Search.RequestOptions`

#### Usos compartidos

#### client.shares.show(accountId, shareId) -> Frameio.ShareResponse

Muestre un solo elemento de uso compartido.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`requestOptions`: `Shares.RequestOptions`

#### client.shares.delete(accountId, shareId) -> void

Elimine un elemento de uso compartido.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`requestOptions`: `Shares.RequestOptions`

#### client.shares.update(accountId, shareId, \{ ...params }) -> Frameio.ShareResponse

Actualice un elemento de uso compartido.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        access: "public",
        description: "A descriptive summary of the share",
        downloading_enabled: true,
        expiration: "2026-01-22T17:04:53Z",
        name: "Share Name",
        passphrase: "as!dfj39sd(*",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateShareParams`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.listReviewers(accountId, shareId, \{ ...params }) -> core.Page\<Frameio.User>

Enumere los revisores del elemento de uso compartido.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.shares.listReviewers(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.shares.listReviewers(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
while (page.hasNextPage()) {
    page = page.getNextPage();
}
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.SharesListReviewersRequestreParams`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.addReviewers(accountId, shareId, \{ ...params }) -> void

Añada revisores al elemento de uso compartido seguro mediante tres tipos de identificador: `adobe_user_id`, `email` y `user_id`.

Una solicitud solo puede incluir un parámetro de tipo de identificador.

`email` es el único identificador que permite añadir revisores sin cuenta de Frame al elemento de uso compartido en la cuenta a la que pertenece.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.addReviewers("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        message: "Please join my share!",
        reviewers: {
            emails: ["email1@domain.com", "email2@domain.com"],
        },
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.AddReviewersToShareParams`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.removeReviewers(accountId, shareId, \{ ...params }) -> void

Elimina revisores del elemento de uso compartido seguro mediante tres tipos de identificador: `adobe_user_id`, `email` y `user_id`.

Una solicitud solo puede incluir un parámetro de tipo de identificador.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.removeReviewers("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        reviewers: {
            adobe_user_ids: ["2A3C1A3D66C621B20A494021@176719f5667c82b4499999.e"],
        },
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.RemoveReviewerParams`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.removeAsset(accountId, shareId, assetId) -> Frameio.RemoveAssetResponse

Elimine de ese elemento de uso compartido un activo incluido actualmente en él.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.removeAsset(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
);
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`assetId`: `Frameio.Uuid` —

`requestOptions`: `Shares.RequestOptions`

#### client.shares.addAsset(accountId, shareId, \{ ...params }) -> Frameio.AddAssetResponse

Añada un elemento de uso compartido de un activo nuevo.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.addAsset("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        asset_id: "0cc1cb59-1d7c-4176-8532-afe099897318",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.AddAssetParams`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.index(accountId, projectId, \{ ...params }) -> core.Page\<Frameio.Share>

Enumere los elementos de uso compartido de un proyecto.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.shares.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.shares.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`shareId`: `Frameio.Uuid` —

`request`: `Frameio.SharesIndexRequest`

`requestOptions`: `Shares.RequestOptions`

#### client.shares.create(accountId, projectId, \{ ...params }) -> Frameio.ShareResponse

Cree un elemento de uso compartido.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.shares.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        type: "asset",
        access: "public",
        asset_ids: ["12eb1446-5736-4f93-85fc-3b636f156211", "f23a3b3e-7b1f-4655-b91a-acf0566e5bb9"],
        downloading_enabled: true,
        expiration: "2026-01-22T17:04:53Z",
        name: "Share Name",
        passphrase: "as!dfj39sd(*",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.CreateShareParams`

`requestOptions`: `Shares.RequestOptions`

#### Usuarios

#### client.users.show() -> Frameio.ProfileResponse

Inspeccione los detalles del usuario asociado al token de portador.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.users.show();
```

**Parámetros**

`requestOptions`: `Users.RequestOptions`

#### Pilas de versiones

#### client.versionStacks.index(accountId, versionStackId, \{ ...params }) -> Frameio.AssetsWithIncludesResponse

Enumere los elementos secundarios (archivos) de una pila de versiones determinada.

Use el parámetro de consulta include para incluir de forma selectiva propiedades adicionales en la respuesta.

> **Note**
>
> `Si incluye `media\_links.original`y el usuario no tiene permiso para descargar archi vos en el proyecto correspondiente, este punto final responderá con un error`403 Forbidden`. Si no se puede acceder al contenido porque se requiere marca de agua para este usuario y los media_links solicitados no la admiten, la solicitud se completará correctamente, pero los vínculos de medios no compatibles se definirán como null. Del mismo modo, si un vínculo de transcodificación solicitado no existe para un archivo concreto (por ejemplo, si `se incluye media\_links.video\_h264\_180` en un archivo de imagen estática) o si el proceso de transcodificación no ha finalizado (es decir, el estado del archivo es "uploaded" en lugar de "transcoded"), el vínculo de medios también se definirá como null en la carga útil de respuesta. En resumen, el cliente debe gestionar correctamente los vínculos de medios.`

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.versionStacks.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`projectId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStacksIndexRequest`

`requestOptions`: `VersionStacks.RequestOptions`

#### client.versionStacks.show(accountId, versionStackId, \{ ...params }) -> Frameio.VersionStackWithIncludesResponse

Muestre los detalles de la pila de versiones.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.versionStacks.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`versionStackId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStacksShowRequest`

`requestOptions`: `VersionStacks.RequestOptions`

#### client.versionStacks.copy(accountId, versionStackId, \{ ...params }) -> Frameio.VersionStackCopyResponse

Copie la pila de versiones.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.versionStacks.copy("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    copy_metadata: true,
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`versionStackId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStackCopyParams`

`requestOptions`: `VersionStacks.RequestOptions`

#### client.versionStacks.list(accountId, folderId, \{ ...params }) -> Frameio.VersionStacksWithIncludesResponse

Enumere las pilas de versiones de una carpeta determinada.

Límites de frecuencia: 5 llamadas por segundo por account\_user

**`usage`**

```ts usage

await client.versionStacks.list("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "media_links",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStacksListRequest`

`requestOptions`: `VersionStacks.RequestOptions`

#### client.versionStacks.create(accountId, folderId, \{ ...params }) -> Frameio.VersionStackWithIncludesResponse

Cree una pila de versiones nueva en la carpeta principal.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.versionStacks.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        file_ids: ["dd2a3cdd-fc90-41bd-a7b8-8a0447aec6d4", "79fed48a-8372-496e-8dcb-5e959b9b9fcf"],
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStackCreateParams`

`requestOptions`: `VersionStacks.RequestOptions`

#### client.versionStacks.move(accountId, versionStackId, \{ ...params }) -> Frameio.VersionStackResponse

Mueva la pila de versiones a una carpeta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage

await client.versionStacks.move("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        parent_id: "2e426fe0-f965-4594-8b2b-b4dff1dc00ec",
    },
});
```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`folderId`: `Frameio.Uuid` —

`request`: `Frameio.VersionStackMoveParams`

`requestOptions`: `VersionStacks.RequestOptions`

#### Webhooks

#### client.webhooks.index(accountId, workspaceId, \{ ...params }) -> core.Page\<Frameio.WebhookWithIncludes>

Enumere los webhooks del espacio de trabajo determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.webhooks.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include: "creator",
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.webhooks.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.WebhooksIndexRequest`

`requestOptions`: `Webhooks.RequestOptions`

#### client.webhooks.create(accountId, workspaceId, \{ ...params }) -> Frameio.WebhookCreateResponse

Crea un solo webhook con secreto.

Eventos válidos:

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

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por cuenta

**`usage`**

```ts usage
await client.webhooks.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        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",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.WebhookCreateParams`

`requestOptions`: `Webhooks.RequestOptions`

#### client.webhooks.show(accountId, webhookId, \{ ...params }) -> Frameio.WebhookWithIncludesResponse

Muestre los detalles del webhook.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.webhooks.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`webhookId`: `Frameio.Uuid` —

`request`: `Frameio.WebhooksShowRequest`

`requestOptions`: `Webhooks.RequestOptions`

#### client.webhooks.delete(accountId, webhookId) -> void

Elimine un webhook.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.webhooks.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`webhookId`: `Frameio.Uuid` —

`requestOptions`: `Webhooks.RequestOptions`

#### client.webhooks.update(accountId, webhookId, \{ ...params }) -> Frameio.WebhookResponse

Actualice los detalles del webhook.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.webhooks.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        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",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

webhookId`: `Frameio.Uuid`—`

`request`: `Frameio.WebhookUpdateParams`

`requestOptions`: `Webhooks.RequestOptions`

#### Permisos del espacio de trabajo

#### client.workspacePermissions.index(accountId, workspaceId, \{ ...params }) -> core.Page\<Frameio.UserRole>

Enumere las funciones de usuario de un espacio de trabajo determinado.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.workspacePermissions.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include_deactivated: true,
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.workspacePermissions.index(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        include_deactivated: true,
        after: "<opaque_cursor>",
        page_size: 10,
        include_total_count: false,
    },
);
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.WorkspacePermissionsIndexRequest`

`requestOptions`: `WorkspacePermissions.RequestOptions`

#### client.workspacePermissions.workspaceUserRolesDelete(accountId, workspaceId, userId) -> void

Elimine un usuario de un espacio de trabajo determinado.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspacePermissions.workspaceUserRolesDelete(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
);

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`userId`: `Frameio.Uuid` —

`requestOptions`: `WorkspacePermissions.RequestOptions`

#### client.workspacePermissions.workspaceUserRolesUpdate(accountId, workspaceId, userId, \{ ...params }) -> Frameio.UpdateUserRolesResponse

Actualice las funciones de usuario del espacio de trabajo determinado si el usuario ya se ha añadido al espacio de trabajo. Si el usuario no se ha añadido al espacio de trabajo, se añadirá con la función indicada.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspacePermissions.workspaceUserRolesUpdate(
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b",
    {
        data: {
            role: "editor",
        },
    },
);

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`userId`: `Frameio.Uuid` —

`request`: `Frameio.UpdateUserRolesParams`

`requestOptions`: `WorkspacePermissions.RequestOptions`

#### Espacios de trabajo

#### client.workspaces.show(accountId, workspaceId, \{ ...params }) -> Frameio.WorkspaceWithIncludesResponse

Muestre los detalles del espacio de trabajo.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspaces.show("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.WorkspacesShowRequest`

`requestOptions`: `Workspaces.RequestOptions`

#### client.workspaces.delete(accountId, workspaceId) -> void

Elimine el espacio de trabajo de la cuenta.

Límites de frecuencia: 60 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspaces.delete("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b");

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`requestOptions`: `Workspaces.RequestOptions`

#### client.workspaces.update(accountId, workspaceId, \{ ...params }) -> Frameio.WorkspaceResponse

Actualice un espacio de trabajo.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspaces.update("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", "b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "My Workspace",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`workspaceId`: `Frameio.Uuid` —

`request`: `Frameio.WorkspaceParams`

`requestOptions`: `Workspaces.RequestOptions`

#### client.workspaces.index(accountId, \{ ...params }) -> core.Page\<Frameio.WorkspaceWithIncludes>

Enumere los espacios de trabajo de una cuenta determinada.

Límites de frecuencia: 100 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
const response = await client.workspaces.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
for await (const item of response) {
    console.log(item);
}

// Or you can manually iterate page-by-page
let page = await client.workspaces.index("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    include: "creator",
    after: "<opaque_cursor>",
    page_size: 10,
    include_total_count: false,
});
while (page.hasNextPage()) {
    page = page.getNextPage();
}

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.WorkspacesIndexRequest`

`requestOptions`: `Workspaces.RequestOptions`

#### client.workspaces.create(accountId, \{ ...params }) -> Frameio.WorkspaceResponse

Cree un espacio de trabajo a partir de una cuenta.

Límites de frecuencia: 10 llamadas cada 1,00 minuto(s) por account\_user

**`usage`**

```ts usage
await client.workspaces.create("b2702c44-c6da-4bb6-8bbd-be6e547ccf1b", {
    data: {
        name: "My Workspace",
    },
});

```

**Parámetros**

`accountId`: `Frameio.Uuid` —

`request`: `Frameio.WorkspaceParams`

`requestOptions`: `Workspaces.RequestOptions`

---

### npm

> **Launch**
>
> Ver en [npm](https://www.npmjs.com/package/frameio)

---