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

# Blob Chunked Upload Abort

> Esta documentación ofrece una descripción completa del endpoint DELETE /v1/objects/chunked de la API de SquareCloud Blob.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  La clave de API de tu cuenta. Puedes encontrarla en la [configuración de tu cuenta](https://squarecloud.app/es/account/security).
</ParamField>

Chunked Abort cancela una subida abierta con [Chunked Init](/es/blob-reference/endpoint/chunked-init) y descarta los fragmentos ya almacenados. Es **idempotente**: abortar una subida que ya fue completada o abortada sigue reportando éxito.

Llámalo siempre que el usuario abandone una subida. Hasta entonces, los fragmentos almacenados cuentan contra el límite de 8 subidas abiertas de la cuenta, y solo la tarea de recuperación del servicio los libera, unas 24 horas después de la última actividad. Un cliente que pierde su token no puede cancelar, así que persiste el token si la subida abarca una recarga de página.

Esta es deliberadamente la ruta con el límite más laxo del flujo por fragmentos (10 solicitudes cada 10 segundos): cancelar un lote de subidas nunca debería verse limitado hasta el punto de dejarlas abiertas.

<ParamField body="upload" type="string" placeholder="Upload token" required>
  El token `upload` opaco devuelto por Chunked Init.

  ```json theme={null}
  { "upload": "UPLOAD_TOKEN" }
  ```
</ParamField>

### Respuesta

<ResponseField name="status" type="string">
  Indica si la llamada fue exitosa. "success" si tuvo éxito, "error" si no.
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request DELETE \
    --url 'https://blob.squarecloud.app/v1/objects/chunked' \
    --header 'Authorization: YOUR_API_KEY' \
    --header 'Content-Type: application/json' \
    --data '{ "upload": "UPLOAD_TOKEN" }'
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch('https://blob.squarecloud.app/v1/objects/chunked', {
    method: 'DELETE',
    headers: {
      Authorization: 'YOUR_API_KEY',
      'Content-Type': 'application/json',
    },
    body: JSON.stringify({ upload: uploadToken }),
  });
  ```

  ```python Python theme={null}
  import requests

  response = requests.delete(
      'https://blob.squarecloud.app/v1/objects/chunked',
      headers={'Authorization': 'YOUR_API_KEY'},
      json={'upload': upload_token},
  )
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "status": "success"
  }
  ```
</ResponseExample>

### Solución de problemas

<Tabs>
  <Tab title="Código de estado 400">
    ### Relacionado con la subida

    <CodeGroup>
      ```json INVALID_UPLOAD_TOKEN theme={null}
      // The upload token is missing, malformed, or does not belong to your account.
      {
          "status": "error",
          "code": "INVALID_UPLOAD_TOKEN"
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Código de estado 401">
    ### No autorizado

    <CodeGroup>
      ```json ACCESS_DENIED theme={null}
      // The API key is missing or invalid. Set a valid key in the Authorization header.
      {
          "status": "error",
          "code": "ACCESS_DENIED"
      }
      ```
    </CodeGroup>
  </Tab>

  <Tab title="Código de estado 429">
    ### Límite de tasa alcanzado

    <CodeGroup>
      ```json RATE_LIMITED theme={null}
      // Abort rate limit reached (10 requests per 10s window, blocked for 10s).
      {
          "status": "error",
          "code": "RATE_LIMITED"
      }
      ```
    </CodeGroup>
  </Tab>
</Tabs>
