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

> Diese Dokumentation bietet einen umfassenden Überblick über den Endpoint DELETE /v1/objects/chunked der SquareCloud Blob API.

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  Der API-Schlüssel für Ihr Konto. Sie finden ihn in Ihren [Kontoeinstellungen](https://squarecloud.app/de/account/security).
</ParamField>

Chunked Abort bricht einen mit [Chunked Init](/de/blob-reference/endpoint/chunked-init) geöffneten Upload ab und verwirft die bereits gespeicherten Chunks. Er ist **idempotent**: Das Abbrechen eines bereits abgeschlossenen oder abgebrochenen Uploads meldet weiterhin Erfolg.

Rufe ihn immer dann auf, wenn der Nutzer einen Upload aufgibt. Bis dahin zählen die gespeicherten Chunks gegen das Kontolimit von 8 offenen Uploads, und nur der Aufräumjob des Dienstes gibt sie frei, etwa 24 Stunden nach der letzten Aktivität. Ein Client, der sein Token verliert, kann nicht abbrechen; speichere das Token also, wenn der Upload einen Seiten-Reload überdauern soll.

Dies ist bewusst die am lockersten limitierte Route des Chunked-Ablaufs (10 Anfragen pro 10 Sekunden): Das Abbrechen mehrerer Uploads auf einmal soll niemals so gedrosselt werden, dass sie offen bleiben.

<ParamField body="upload" type="string" placeholder="Upload token" required>
  Das opake `upload`-Token, das Chunked Init zurückgegeben hat.

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

### Response

<ResponseField name="status" type="string">
  Gibt an, ob der Aufruf erfolgreich war. "success" bei Erfolg, "error" andernfalls.
</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>

### Fehlerbehebung

<Tabs>
  <Tab title="400 Status Code">
    ### Uploadbezogen

    <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="401 Status Code">
    ### Nicht autorisiert

    <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="429 Status Code">
    ### Rate-limitiert

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