> ## 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 チャンクアップロードの中止

> このドキュメントでは、SquareCloud Blob API の DELETE /v1/objects/chunked エンドポイントの概要を包括的に説明します。

<ParamField header="Authorization" type="string" placeholder="API Key" required>
  アカウントの API キーです。これは[アカウント設定](https://squarecloud.app/ja/account/security)で確認できます。
</ParamField>

チャンクの中止 (Chunked Abort) は、[チャンクの開始](/ja/blob-reference/endpoint/chunked-init)で開始したアップロードをキャンセルし、保存済みのチャンクを破棄します。この操作は**冪等**です。すでに完了または中止されたアップロードを中止しても、成功として報告されます。

ユーザーがアップロードを放棄したときは必ず呼び出してください。それまでの間、保存済みのチャンクはアカウントの上限である同時 8 アップロードにカウントされ続け、サービスの回収ジョブだけがそれらを解放します (最後のアクティビティから約 24 時間後)。トークンを失ったクライアントはキャンセルできないため、アップロードがページのリロードをまたぐ場合はトークンを永続化してください。

これはチャンクフローの中で意図的に最も制限の緩いルートです (10 秒あたり 10 リクエスト)。複数のアップロードをまとめてキャンセルする操作が、スロットリングによってオープンのまま残されることがあってはならないためです。

<ParamField body="upload" type="string" placeholder="Upload token" required>
  チャンクの開始が返した不透明な `upload` トークン。

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

### レスポンス

<ResponseField name="status" type="string">
  呼び出しが成功したかどうかを示します。成功した場合は "success"、失敗した場合は "error" です。
</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>

### トラブルシューティング

<Tabs>
  <Tab title="400 ステータスコード">
    ### アップロード関連

    <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 ステータスコード">
    ### 認証エラー

    <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 ステータスコード">
    ### レート制限

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