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

# Referência do SDK para TypeScript

---

### Instalação

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

---

### Uso

Instancie e use o cliente com o seguinte:

```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 solicitação e resposta

O SDK exporta todos os tipos de solicitação e resposta como interfaces TypeScript. Basta importá-los com o seguinte namespace:

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

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

---

### Tratamento de exceções

Quando a API retorna um código de status sem sucesso (resposta 4xx ou 5xx), uma subclasse do erro a seguir será gerada.

```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);
    }
}
```

---

### Avançado

#### Cabeçalhos adicionais

Se quiser enviar cabeçalhos adicionais como parte da solicitação, use a opção de solicitação headers.

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

#### Parâmetros adicionais da string de consulta

Se quiser enviar parâmetros adicionais da string de consulta como parte da solicitação, use a opção de solicitação queryParams.

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

---

#### Tentativas

O SDK é instrumentado com novas tentativas automáticas com backoff exponencial. Uma solicitação será repetida enquanto a solicitação for considerada repetível e o número de tentativas não tiver ultrapassado o limite configurado de novas tentativas (padrão: 2).

Uma solicitação é considerada repetível quando qualquer um dos seguintes códigos de status HTTP é retornado:

* 408 (Tempo-limite)
* 429 (Muitas solicitações)
* 5XX (Erros internos do servidor)

\
&#x20;Use a opção de solicitação `maxRetries` para configurar esse comportamento.

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

---

#### Tempos-limite

O SDK usa um tempo-limite padrão de 60 segundos. Use a opção timeoutInSeconds para configurar esse comportamento.

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

#### Cancelamento de solicitações

O SDK permite que os usuários cancelem solicitações a qualquer momento passando um sinal de cancelamento.

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

---

#### Acessar dados brutos da resposta

O SDK fornece acesso aos dados brutos da resposta, incluindo cabeçalhos, por meio do método `.withRawResponse().`O método `.withRawResponse()` retorna uma promise que resulta em um objeto com uma propriedade `data` e uma propriedade `rawResponse`.

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

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

#### Compatibilidade de tempo de execução

O SDK funciona nos seguintes tempos de execução:

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

---

#### Personalização do cliente Fetch

O SDK fornece uma forma de personalizar o cliente HTTP / função Fetch subjacente. Se você estiver executando em um ambiente sem suporte, isso oferece uma forma de contornar a limitação e garantir que o SDK funcione.

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

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

---

### Referência

#### Permissões da conta

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

Listar funções de usuário para uma determinada conta.

Limites de taxa: 100 chamadas por 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`

#### Contas

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

Listar contas do usuário atual.

Limites de taxa: 100 chamadas por 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

Listar logs de auditoria com recursos de filtragem por meio de parâmetros de consulta\*

Limites de taxa: 100 chamadas por 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`

#### Autenticação

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

Autentica usando a concessão OAuth 2.0 `client_credentials`.Esse fluxo não envolve um usuário e não retorna um token de atualização. Quando o token de acesso expira, o SDK solicita automaticamente um novo usando as credenciais 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 OAuth do Adobe IMS.

`clientSecret`: `string` — Client secret OAuth do Adobe IMS.

`scopes`: `string` — Escopos separados por espaços (OAuth 2.0 RFC 6749).O padrão são os escopos Server-to-Server.

`imsBaseUrl`: `string` — URL base do IMS para ambientes de staging/alternativos.O padrão é produção.

`fetch`: `typeof fetch` — Implementação de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Callback opcional disparado após cada busca de token.

`timeout`: `number` — Tempo-limite de solicitação HTTP em segundos.O padrão é 30000.

`maxRetries`: `number` — Máximo de repetições para falhas transitórias.O padrão é 2.

`refreshBuffer`: `number` — Segundos antes da expiração para acionar atualização proativa.O padrão é 60.

`logger`: `Logger` — Instância de logger para saída de diagnóstico.

**Métodos**

`getToken(): Promise<string>` — Retorna um token de acesso válido, atualizando-o se necessário. Passe-o ao cliente: `new FrameioClient({ token: () => auth.getToken() })`.

`authenticate(): Promise<TokenResponse>` — Busca explicitamente um novo token de acesso.

`revoke(): Promise<void>` — Revoga tokens no lado do servidor e limpa o estado local.

`exportTokens(): ExportedTokens` — Exporta o estado atual de tokens para persistência.

`importTokens(data: ExportedTokens): void` — Restaura o estado de tokens de um objeto exportado anteriormente.

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

Autentica usando a concessão OAuth 2.0 `authorization_code`.Use isso para aplicativos do lado do servidor que podem armazenar um client secret com segurança.

**`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 OAuth do Adobe IMS.

`clientSecret`: `string` — Client secret OAuth do Adobe IMS.

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

`scopes`: `string` — Escopos separados por espaços (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base do IMS para ambientes de staging/alternativos.O padrão é produção.

`fetch`: `typeof fetch` — Implementação de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Callback opcional acionado após cada atualização de token

`timeout`: `number` — Tempo-limite de solicitação HTTP em segundos.O padrão é 30000.

`maxRetries`: `number` — Máximo de repetições para falhas transitórias.O padrão é 2.

`refreshBuffer`: `number` — Segundos antes da expiração para acionar atualização proativa.O padrão é 60.

`logger`: `Logger` — Instância de logger para saída de diagnóstico.

**Métodos**

`getToken(): Promise<string>` — Retorna um token de acesso válido, atualizando-o se necessário.

`getAuthorizationUrl({ state }): string` — Cria o URL de autorização do Adobe IMS. Passe um valor CSRF/state opaco que será ecoado de volta.

`exchangeCode(code: string): Promise<TokenResponse>` — Troca um código de autorização + verificador PKCE por tokens.

`refresh(): Promise<TokenResponse>` — Aciona manualmente uma atualização de token.

`revoke(): Promise<void>` — Revoga tokens no lado do servidor e limpa o estado local.

`exportTokens(): ExportedTokens` — Exporta o estado atual de tokens para persistência.

`importTokens(data: ExportedTokens): void` — Restaura o estado de tokens de um objeto exportado anteriormente.

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

Autentica usando `authorization_code` + PKCE para aplicativos desktop e móveis.Use isto para aplicativos de página única baseados em navegador que não podem armazenar um Client Secret com segurança.

**`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 OAuth do Adobe IMS.

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

`scopes`: `string` — Escopos separados por espaços (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base do IMS para ambientes de staging/alternativos.O padrão é produção.

`fetch`: `typeof fetch` — Implementação de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Callback opcional acionado após cada atualização de token

`timeout`: `number` — Tempo-limite de solicitação HTTP em segundos.O padrão é 30000.

`maxRetries`: `number` — Máximo de repetições para falhas transitórias.O padrão é 2.

`refreshBuffer`: `number` — Segundos antes da expiração para acionar atualização proativa.O padrão é 60.

`logger`: `Logger` — Instância de logger para saída de diagnóstico.

**Métodos**

`getToken(): Promise<string>` — Retorna um token de acesso válido, atualizando-o se necessário.

`getAuthorizationUrl({ state }): Promise<AuthorizationUrlResult>` — Crie o URL de autorização do Adobe IMS com um desafio PKCE. Retorna um `AuthorizationUrlResult` com `url` e `codeVerifier`.

`exchangeCode({ code, codeVerifier }): Promise<TokenResponse>` — Troque um código de autorização + verificador PKCE por tokens.

`refresh(): Promise<TokenResponse>` — Aciona manualmente uma atualização de token.

`revoke(): Promise<void>` — Revoga tokens no lado do servidor e limpa o estado local.

`exportTokens(): ExportedTokens` — Exporta o estado atual de tokens para persistência.

`importTokens(data: ExportedTokens): void` — Restaura o estado de tokens de um objeto exportado anteriormente.

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

Autentique usando `authorization_code` + PKCE para aplicativos desktop e para dispositivos móveis. Compartilha a mesma API que `SPAAuth`; use um URI de redirecionamento de esquema personalizado (por exemplo, `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 OAuth do Adobe IMS.

`redirectUri`: `string` – URI de redirecionamento registrado (esquema personalizado suportado).

`scopes`: `string` — Escopos separados por espaços (OAuth 2.0 RFC 6749).

`imsBaseUrl`: `string` — URL base do IMS para ambientes de staging/alternativos.O padrão é produção.

`fetch`: `typeof fetch` — Implementação de fetch personalizada (para proxy, TLS, etc.).

`onTokenRefreshed`: `OnTokenRefreshed` — Callback opcional acionado após cada atualização de token

`timeout`: `number` — Tempo-limite de solicitação HTTP em segundos.O padrão é 30000.

`maxRetries`: `number` — Máximo de repetições para falhas transitórias.O padrão é 2.

`refreshBuffer`: `number` — Segundos antes da expiração para acionar atualização proativa.O padrão é 60.

`logger`: `Logger` — Instância de logger para saída de diagnóstico.

**Métodos**

Igual ao `SPAAuth`: `getToken()`, `getAuthorizationUrl({ state })`, `exchangeCode({ code, codeVerifier })`, `refresh()`, `revoke()`, `exportTokens()`, `importTokens(data)`.

#### AuthorizationUrlResult

Objeto retornado por `SPAAuth.getAuthorizationUrl()` e `NativeAppAuth.getAuthorizationUrl()`. Mantém a URL de autorização e o verificador de código PKCE.

**Propriedades**

`url`: `string` — A URL de autorização completa para a qual redirecionar o usuário.

`codeVerifier`: `string` — O verificador de código PKCE a ser armazenado e passado para `exchangeCode()`.

#### Exceções de autenticação

Todos os erros de autenticação estendem `FrameioAuthError` e podem ser importados de `frameio`.

| Exceção               | Descrição                                                                                  |
| --------------------- | ------------------------------------------------------------------------------------------ |
| `FrameioAuthError`    | Erro base para todos os erros do SDK de autenticação.                                      |
| `AuthenticationError` | Falha na troca ou atualização de token. Tem propriedades `errorCode` e `errorDescription`. |
| `TokenExpiredError`   | Token de atualização expirado; é necessária nova autenticação.                             |
| `NetworkError`        | Uma solicitação de rede falhou (tempo-limite, erro de conexão etc.).                       |
| `RateLimitError`      | Adobe IMS retornou 429 e as tentativas foram esgotadas.Tem uma propriedade `retryAfter`.   |
| `PKCEError`           | Falha na verificação PKCE.                                                                 |
| `ConfigurationError`  | A configuração obrigatória está ausente ou é inválida.                                     |

#### Coleções

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

Listar coleções de um projeto.

Limites de taxa: 100 chamadas por 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

Mostrar detalhes da coleção.

Limites de taxa: 100 chamadas por 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`

#### Comentários

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

Mostrar um único comentário em um arquivo.

Limites de taxa: 100 chamadas por 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

Excluir comentário de um ativo.

Limites de taxa: 60 chamadas por 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

Atualizar comentário no ativo fornecido.

Limites de taxa: 10 chamadas por 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>

Listar comentários em um determinado ativo.

Limites de taxa: 100 chamadas por 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

Criar um comentário em um arquivo.

Limites de taxa: 100 chamadas por 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

Criar um anexo para um comentário existente.

Limites de taxa: 60 chamadas por 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

Excluir anexo de comentário.

Limites de taxa: 60 chamadas por 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`

#### Ações personalizadas

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

Listar ações em um determinado espaço de trabalho.

Limites de taxa: 100 chamadas por 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

Expandir detalhes de ação personalizada.

Limites de taxa: 100 chamadas por 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

Cria uma ação personalizada em um espaço de trabalho.

Limites de taxa: 10 chamadas por 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

Atualizar detalhes da ação personalizada.

Limites de taxa: 10 chamadas por 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

Excluir uma ação personalizada.

Limites de taxa: 60 chamadas por 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`

#### Arquivos

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

Listar arquivos de uma pasta específica.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Criar novo arquivo na pasta principal.`Criar arquivo (fazer upload local)` e `Criar arquivo (fazer upload remoto)` substituíram este ponto de acesso.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Mostrar detalhes do arquivo.

Use o parâmetro de consulta include para incluir seletivamente propriedades adicionais na resposta.

> **Note**
>
> Se você incluir `media_links.original` e o usuário não tiver permissão para fazer download do arquivo, esse ponto de acesso responderá com um erro `403 Forbidden`.Se o conteúdo estiver inacessível porque a marca-d’água é obrigatória para esse usuário e não é compatível com os media\_links solicitados, a solicitação será bem-sucedida, mas os links de mídia incompatíveis serão definidos como null. Da mesma forma, se um link de transcodificação solicitado não existir para um arquivo específico (por exemplo, incluir `media_links.video_h264_180` em um arquivo de imagem estática) ou se o processo de transcodificação não tiver sido concluído (ou seja, o status do arquivo for "uploaded", em vez de "transcoded"), o link também será definido como null no conteúdo da resposta. Em resumo, o cliente deve lidar corretamente com links de mídia null.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Excluir arquivo por ID.

Limites de taxa: 100 chamadas por 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

Atualizar detalhes do arquivo.

Limites de taxa: 100 chamadas por 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

Copiar arquivo.

Limites de taxa: 100 chamadas por 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

Criar novo arquivo na pasta principal por meio de upload remoto.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Mover arquivo para uma pasta ou version\_stack.

Limites de taxa: 100 chamadas por 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

Criar novo arquivo na pasta principal por meio de upload local.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Mostrar detalhes do status de upload do arquivo.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Importar um arquivo de um local de armazenamento configurado na conta.

Limites de taxa: 5 chamadas por 1 segundo(s) 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`

#### Permissões da pasta

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

Listar funções de usuário de uma determinada pasta.

Limites de taxa: 100 chamadas por 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

Atualizar funções de usuário para a pasta especificada se o usuário já tiver sido adicionado à pasta.Se o usuário não tiver sido adicionado à pasta, ele será adicionado com a função especificada.

Limites de taxa: 10 chamadas por 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

Remover um usuário de uma determinada pasta.

Limites de taxa: 60 chamadas por 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`

#### Pastas

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

Mostrar detalhes da pasta.

Limites de taxa: 100 chamadas por 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

Excluir pasta por ID.

Limites de taxa: 60 chamadas por 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

Atualizar detalhes da pasta.

Limites de taxa: 10 chamadas por 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

Listar as tarefas derivadas na pasta especificada.

Use o parâmetro de consulta include para incluir seletivamente propriedades adicionais na resposta.

> **Note**
>
> Se você incluir `media_links.original` e o usuário não tiver permissão para fazer download de arquivos no projeto correspondente, esse ponto de acesso responderá com um erro `403 Forbidden`.Se o conteúdo estiver inacessível porque a marca-d’água é obrigatória para esse usuário e não é compatível com os media\_links solicitados, a solicitação será bem-sucedida, mas os links de mídia incompatíveis serão definidos como null. Da mesma forma, se um link de transcodificação solicitado não existir para um arquivo específico (por exemplo, incluir `media_links.video_h264_180` em um arquivo de imagem estática) ou o processo de transcodificação não tiver sido concluído (ou seja, o status do arquivo é "uploaded", em vez de "transcoded"), um link de mídia também será definido como null no conteúdo da resposta. Em resumo, o cliente deve lidar corretamente com links de mídia null.

Limites de taxa: 100 chamadas por 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

Copiar pasta.

Limites de taxa: 10 chamadas por 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

Listar pastas em determinada pasta.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Criar uma nova pasta dentro do parâmetro de caminho `folder_id` especificado\*

Limites de taxa: 3 chamadas por 1 segundo(s) 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

Mover pasta para uma pasta.

Limites de taxa: 10 chamadas por 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

Listar grupos na conta.

Limites de taxa: 100 chamadas por 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

Mostrar detalhes do grupo.

Limites de taxa: 100 chamadas por 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

Criar grupo para a conta atual.

Limites de taxa: 10 chamadas por 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

Atualizar detalhes do grupo.

Limites de taxa: 10 chamadas por 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`

#### Metadados

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

Atualizar valores de metadados em vários arquivos.

Limites de taxa: 10 chamadas por 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

Mostrar os metadados de um arquivo.

Limites de taxa: 100 chamadas por 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 metadados

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

Excluir definições de campos personalizados no nível da conta.

Limites de taxa: 60 chamadas por 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

Atualizar definições de campos personalizados no nível da conta.

Limites de taxa: 10 chamadas por 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

Listar definições de campos no nível da conta.

Limites de taxa: 100 chamadas por 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

Criar definições de campos no nível da conta.

Limites de taxa: 10 chamadas por 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`

#### Permissões do projeto

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

Listar funções de usuário para determinado projeto.

Limites de taxa: 100 chamadas por 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

Remover um usuário de determinado projeto.

Limites de taxa: 60 chamadas por 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

Atualizar funções de usuário para determinado projeto se o usuário já tiver sido adicionado ao projeto. Se o usuário não tiver sido adicionado ao projeto, ele será adicionado com a função especificada.

Limites de taxa: 10 chamadas por 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`

#### Projetos

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

Mostrar detalhes do projeto.

Limites de taxa: 100 chamadas por 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

Excluir um projeto.

Limites de taxa: 60 chamadas por 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

Atualizar detalhes do projeto.

Limites de taxa: 10 chamadas por 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>

Listar projetos em determinado espaço de trabalho.

Limites de taxa: 100 chamadas por 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

Criar projeto em determinado espaço de trabalho.

Limites de taxa: 10 chamadas por 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

Listar todos os projetos aos quais o usuário autenticado tem acesso dentro da conta especificada.

Limites de taxa: 100 chamadas por 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

Listar projetos para os quais o usuário atual foi convidado dentro da conta especificada, mas para os quais não tem acesso no nível do espaço de trabalho.Esses são projetos nos quais o usuário tem acesso de colaborador específico do projeto, sem permissões mais amplas de equipe/espaço de trabalho.

Limites de taxa: 100 chamadas por 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`

#### Pesquisa

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

Pesquisar ativos, pastas e projetos em uma conta.

Limites de taxa: 100 chamadas por 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`

#### Compartilhamentos

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

Mostrar um único Compartilhamento.

Limites de taxa: 100 chamadas por 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

Excluir um compartilhamento.

Limites de taxa: 60 chamadas por 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

Atualizar compartilhamento.

Limites de taxa: 10 chamadas por 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>

Listar revisores de compartilhamento.

Limites de taxa: 10 chamadas por 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

Adicionar revisores ao compartilhamento seguro por três tipos de identificador: `adobe_user_id`, `email` e `user_id`.

Uma solicitação pode incluir apenas um parâmetro de tipo de identificador.

`email` é o único identificador capaz de adicionar revisores a um Compartilhamento que não tenham uma conta de membro do Frame na conta à qual o Compartilhamento pertence.

Limites de taxa: 10 chamadas por 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

Remove revisores do Compartilhar seguro por três tipos de identificador: `adobe_user_id`, `email` e `user_id`.

Uma solicitação pode incluir apenas um parâmetro de tipo de identificador.

Limites de taxa: 10 chamadas por 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

Remover desse compartilhamento um ativo que está atualmente no compartilhamento.

Limites de taxa: 10 chamadas por 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

Adicionar novo compartilhamento de ativo.

Limites de taxa: 10 chamadas por 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>

Listar compartilhamentos em um projeto.

Limites de taxa: 100 chamadas por 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

Criar compartilhamento.

Limites de taxa: 10 chamadas por 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`

#### Usuários

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

Inspecionar detalhes do usuário associado ao token bearer.

Limites de taxa: 100 chamadas por 1,00 minuto(s) por account\_user

**`usage`**

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

**Parâmetros**

`requestOptions`: `Users.RequestOptions`

#### Pilhas de versões

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

Listar as tarefas derivadas (arquivos) em uma pilha de versões especificada.

Use o parâmetro de consulta include para incluir seletivamente propriedades adicionais na resposta.

> **Note**
>
> `Se você incluir`media\_links.original`e o usuário não tiver permissão para fazer download de arquivos no projeto correspondente, esse ponto de acesso responderá com um erro`403 Forbidden`. Se o conteúdo estiver inacessível porque a marca-d’água é obrigatória para esse usuário e não é compatível com os media_links solicitados, a solicitação será bem-sucedida, mas os links de mídia incompatíveis serão definidos como null. Da mesma forma, se um link de transcodificação solicitado não existir para um arquivo específico (por exemplo, incluir `media\_links.video\_h264\_180` em um arquivo de imagem estática) ou o processo de transcodificação não tiver sido concluído (ou seja, o status do arquivo é "uploaded", em vez de "transcoded"), um link de mídia também será definido como null no conteúdo da resposta. Em resumo, o cliente deve lidar com links de mídia null corretamente.`

Limites de taxa: 100 chamadas por 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

Mostrar detalhes da pilha de versão.

Limites de taxa: 100 chamadas por 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

Copiar pilha de versões.

Limites de taxa: 10 chamadas por 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

Listar pilhas de versões em uma pasta especificada.

Limites de taxa: 5 chamadas por 1 segundo(s) 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

Criar uma nova Pilha de versões na pasta principal.

Limites de taxa: 10 chamadas por 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

Mover pilha de versões para uma pasta.

Limites de taxa: 10 chamadas por 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>

Listar webhooks para determinado espaço de trabalho.

Limites de taxa: 100 chamadas por 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

Cria um único webhook com segredo.

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`

Limites de taxa: 10 chamadas por 1,00 minuto(s) por conta

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

Mostrar detalhes do webhook.

Limites de taxa: 100 chamadas por 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

Excluir um webhook.

Limites de taxa: 60 chamadas por 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

Atualizar detalhes do webhook.

Limites de taxa: 10 chamadas por 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`

#### Permissões do espaço de trabalho

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

Listar funções de usuário para determinado espaço de trabalho.

Limites de taxa: 100 chamadas por 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

Remove um usuário de determinado espaço de trabalho.

Limites de taxa: 60 chamadas por 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

Atualizar funções de usuário para determinado espaço de trabalho se o usuário já tiver sido adicionado ao espaço de trabalho. Se o usuário não tiver sido adicionado ao espaço de trabalho, ele será adicionado com a função especificada.

Limites de taxa: 10 chamadas por 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`

#### Espaços de trabalho

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

Mostrar detalhes do espaço de trabalho.

Limites de taxa: 100 chamadas por 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

Excluir espaço de trabalho da conta.

Limites de taxa: 60 chamadas por 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

Atualizar um espaço de trabalho.

Limites de taxa: 10 chamadas por 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>

Listar espaços de trabalho para determinada conta.

Limites de taxa: 100 chamadas por 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

Criar espaço de trabalho a partir de uma conta.

Limites de taxa: 10 chamadas por 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**
>
> Visualizar em [npm](https://www.npmjs.com/package/frameio)

---