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

> Cette documentation fournit une vue d'ensemble complète de l'endpoint DELETE /v1/objects/chunked de l'API Blob de SquareCloud.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  La clé d'API de votre compte. Vous pouvez la trouver dans les [paramètres de votre compte](https://squarecloud.app/fr/account/security).
</ParamField>

Chunked Abort annule un upload ouvert avec [Chunked Init](/fr/blob-reference/endpoint/chunked-init) et supprime les chunks déjà stockés. Il est **idempotent** : annuler un upload déjà finalisé ou déjà annulé renvoie tout de même un succès.

Appelez-le dès qu'un utilisateur abandonne un upload. Jusque-là, les chunks stockés comptent dans la limite de 8 uploads ouverts du compte, et seule la tâche de récupération du service les libère, environ 24 heures après la dernière activité. Un client qui perd son jeton ne peut pas annuler, donc conservez le jeton si l'upload doit survivre à un rechargement de page.

C'est délibérément la route la moins limitée du flux chunked (10 requêtes par 10 secondes) : annuler un lot d'uploads ne devrait jamais être freiné au point de les laisser ouverts.

<ParamField body="upload" type="string" placeholder="Upload token" required>
  Le jeton `upload` opaque renvoyé par Chunked Init.

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

### Réponse

<ResponseField name="status" type="string">
  Indique si l'appel a réussi. "success" en cas de succès, "error" sinon.
</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>

### Dépannage

<Tabs>
  <Tab title="Code de statut 400">
    ### Lié à l'upload

    <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="Code de statut 401">
    ### Non autorisé

    <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="Code de statut 429">
    ### Limite de débit atteinte

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