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

# Excluir arquivos do Blob Storage

> Exclua um arquivo ou até 100 arquivos por requisição do Blob Storage com DELETE /v1/objects, com resultados por arquivo nos lotes.

<ParamField header="Authorization" type="string" placeholder="Chave da API" required>
  A chave da API para sua conta. Você pode encontrá-la nas [configurações da conta](https://squarecloud.app/pt-br/account/security).
</ParamField>

A exclusão remove um arquivo, ou até **100 arquivos** em uma única requisição. Uma exclusão é imediata e definitiva: o arquivo deixa de ser servido e o espaço dele é liberado da sua cota. Exige o escopo `blob:write`. Excluir não exige um plano ativo, então você sempre pode fazer a limpeza.

* **Um id** (`object`, ou `objects` com uma única entrada): responde `200` quando excluído e `404 OBJECT_NOT_FOUND` quando o arquivo não existe.
* **Dois ou mais ids** (`objects`): sempre responde `200` com o resultado de cada arquivo, então um arquivo ausente não faz o restante falhar. Ids repetidos contam uma vez.

Um id malformado ou que pertence a outra conta faz a requisição inteira falhar com `400 INVALID_OBJECT`, antes de qualquer exclusão. Para encontrar os ids, use a [Lista de Objetos](/pt-br/blob-reference/endpoint/list).

## Parâmetros

<ParamField body="object" type="string" placeholder="pub/3155597145698959364/images/logo.png">
  O id do arquivo a excluir. Envie `object` ou `objects`.
</ParamField>

<ParamField body="objects" type="string[]">
  Até 100 ids a excluir em uma requisição.
</ParamField>

## Limites de taxa

<Note>1000 arquivos a cada 10 segundos, contados por arquivo: um lote de 100 conta como 100. Acima disso a conta fica bloqueada por um curto período (`RATE_LIMITED`, 429).</Note>

## Resposta

<ResponseField name="status" type="string">
  "success" se bem-sucedida, "error" caso contrário.
</ResponseField>

<ResponseField name="response" type="object">
  Presente apenas nos lotes (dois ou mais ids).

  <Expandable title="Alternar objeto">
    <ResponseField name="deleted" type="string[]">
      Os ids que foram excluídos.
    </ResponseField>

    <ResponseField name="not_found" type="string[]">
      Os ids que não existiam.
    </ResponseField>

    <ResponseField name="failed" type="object[]">
      Os ids que não puderam ser excluídos, cada um como `{ "id", "code" }`. Tente-os novamente.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash Um arquivo theme={"system"}
  curl --request DELETE \
    --url 'https://blob.squarecloud.app/v1/objects' \
    --header 'Authorization: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{ "object": "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png" }'
  ```

  ```bash Lote theme={"system"}
  curl --request DELETE \
    --url 'https://blob.squarecloud.app/v1/objects' \
    --header 'Authorization: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{
      "objects": [
        "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
        "prv/3155597145698959364/images/draft_mugws5c0-1b4f0e9851971998e732078544c96b36.png",
        "pub/3155597145698959364/images/old.png"
      ]
    }'
  ```

  ```javascript JavaScript theme={"system"}
  const response = await fetch('https://blob.squarecloud.app/v1/objects', {
    method: 'DELETE',
    headers: {
      Authorization: 'YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ objects: ids.slice(0, 100) }),
  });
  ```
</RequestExample>

<ResponseExample>
  ```json Um arquivo theme={"system"}
  {
    "status": "success"
  }
  ```

  ```json Lote theme={"system"}
  {
    "status": "success",
    "response": {
      "deleted": [
        "pub/3155597145698959364/images/logo_mugws5c0-9f86d081884c7d659a2feaa0c55ad015.png",
        "prv/3155597145698959364/images/draft_mugws5c0-1b4f0e9851971998e732078544c96b36.png"
      ],
      "not_found": ["pub/3155597145698959364/images/old.png"],
      "failed": []
    }
  }
  ```
</ResponseExample>

## Erros

| Código | HTTP | Quando |
| - | - | - |
| `INVALID_BODY` | 400 | O corpo está ausente ou não é um objeto JSON. |
| `INVALID_OBJECT` | 400 | Nenhum id foi enviado, ou um id está malformado ou não é seu. |
| `TOO_MANY_OBJECTS` | 400 | Mais de 100 ids. |
| `OBJECT_NOT_FOUND` | 404 | O arquivo não existe (arquivo único). |
| `RATE_LIMITED` | 429 | Mais de 1000 arquivos excluídos em 10 segundos. |
| `DELETE_FAILED` | 500 | O armazenamento falhou e o arquivo pode ainda existir. Tente novamente. |

## Relacionados

* SDK do Blob: [`blob.delete()`](/pt-br/sdks/blob/objects)


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