> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Obter credenciais compatíveis com S3 para o armazenamento de blob

> Retorna credenciais compatíveis com S3 derivadas da chave de API, para ferramentas como aws-cli, rclone e boto3. Limitado a 10 chamadas por hora.

Retorna credenciais compatíveis com S3 para ferramentas como aws-cli, rclone e boto3. O par é derivado da chave de API que faz a chamada, então revogar essa chave corta o acesso S3 de imediato. Com uma chave de API que tem apenas `blob:read`, as credenciais são somente leitura (`access.write` é `false`). Trate `secret_access_key` como uma senha. Esta rota exige uma chave de API: uma sessão do dashboard é recusada. Ao rotacionar a chave de API, o par é substituído, então busque as credenciais de novo depois.

**Escopo:** `blob:read`.

**workspace\_id** `string`

O ID do workspace, quando o blob pertence a um workspace. A chamada atua sobre o blob do proprietário do workspace e exige a permissão `blob:read` do workspace (`blob:manage` nas rotas que alteram dados). Deixe de fora para atuar sobre o seu próprio blob.

### Exemplo de requisição

```bash theme={null}
curl "https://blob.vertracloud.app/v1/s3/credentials" \
  -H "Authorization: Bearer $VERTRA_API_KEY"
```

### Resposta

**response** `object`

As credenciais S3 da conta.

**propriedades**

**access\_key\_id** `string`

ID da chave de acesso. Começa com `VCS3`.

**secret\_access\_key** `string`

Chave secreta. Trate-a como uma senha.

**endpoint** `string`

Endpoint S3 para configurar na sua ferramenta.

**region** `string`

Sempre `auto`.

**buckets** `string[]`

Os dois buckets: `public` e `private`.

**access.read** `boolean`

Se as credenciais podem ler.

**access.write** `boolean`

Se as credenciais podem gravar. `false` com uma chave de API que tem apenas `blob:read`.

```json Response theme={null}
{
  "response": {
    "access_key_id": "VCS3K7P2M9X4QA",
    "secret_access_key": "<secret>",
    "endpoint": "https://s3.vertracloud.dev",
    "region": "auto",
    "buckets": [
      "public",
      "private"
    ],
    "access": {
      "read": true,
      "write": true
    }
  }
}
```

### Respostas de erro

**code** `string`

O código de erro que indica o motivo da falha. Valores possíveis:

* `AUTH_TOKEN_MISSING` (`401`): o cabeçalho `Authorization` não foi enviado.
* `API_KEY_INVALID` (`401`): a chave de API não existe, foi revogada ou o segredo não confere.
* `API_KEY_SCOPE_DENIED` (`403`): a chave não tem o escopo que esta rota exige (`blob:read` ou `blob:write`); `details.required` informa qual.
* `WORKSPACE_PERMISSION_DENIED` (`403`): somente com `workspace_id`: você não é membro, ou o seu papel não tem a permissão de blob.
* `WORKSPACE_NOT_FOUND` (`404`): somente com `workspace_id`: não existe workspace com esse ID, ou você não é membro.
* `VALIDATION_ERROR` (`400`): a chamada não foi feita com uma chave de API; `details.reason` é `api_key_required`.
* `RATE_LIMIT_EXCEEDED` (`429`): mais de 10 chamadas em uma hora. `details.retry_after` informa a espera em segundos.

```json Error Response (401) theme={null}
{
  "code": "AUTH_TOKEN_MISSING"
}
```

```json Error Response (403) theme={null}
{
  "code": "API_KEY_SCOPE_DENIED"
}
```

```json Error Response (404) theme={null}
{
  "code": "WORKSPACE_NOT_FOUND"
}
```

```json Error Response (429) theme={null}
{
  "code": "RATE_LIMIT_EXCEEDED"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.