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

> Voyez quelles parties d'un envoi chunked sont déjà arrivées avec GET /v1/objects/chunked, pour reprendre un envoi interrompu.

<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 Status liste les parties d'un envoi ouvert qui sont déjà stockées. Utilisez-le pour **reprendre** après un plantage, une perte de connexion ou un rechargement de page : envoyez uniquement les parties manquantes avec [Chunked Part](/fr/blob-reference/endpoint/chunked-part), puis appelez [Chunked Complete](/fr/blob-reference/endpoint/chunked-complete). Nécessite le scope `blob:write`.

Si vous avez également perdu le jeton `upload`, [Envois ouverts](/fr/blob-reference/endpoint/chunked-open) liste tous les envois ouverts du compte avec leur jeton.

<ParamField query="upload" type="string" required>
  Le jeton `upload` renvoyé par Chunked Init.
</ParamField>

### Limites de débit

<Note>10 requêtes par 10 secondes (`RATE_LIMITED`, 429). Utilisez-la pour reprendre un envoi, pas pour suivre la progression : votre client sait déjà quelles parties il a envoyées.</Note>

### Réponse

<ResponseField name="status" type="string">
  "success" en cas de succès, "error" sinon.
</ResponseField>

<ResponseField name="response" type="object">
  <Expandable title="Afficher l'objet">
    <ResponseField name="id" type="string">
      L'id qu'aura le fichier une fois finalisé.
    </ResponseField>

    <ResponseField name="parts" type="array">
      Les parties stockées, chacune sous la forme `{ "part", "size", "etag" }`.
    </ResponseField>

    <ResponseField name="next_part" type="number">
      Le plus petit numéro de partie pas encore stocké.
    </ResponseField>

    <ResponseField name="size_so_far" type="number">
      Le total d'octets stockés jusqu'à présent.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://blob.squarecloud.app/v1/objects/chunked?upload=UPLOAD_TOKEN' \
    --header 'Authorization: YOUR_API_KEY'
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "status": "success",
    "response": {
      "id": "prv/3155597145698959364/genomics/dataset_mugws5c0-3c59dc048e8850243be8079a5c74d079.fastq.gz",
      "parts": [
        { "part": 1, "size": 16777216, "etag": "\"9bb58f26192e4ba00f01e2e7b136bbd8\"" },
        { "part": 2, "size": 16777216, "etag": "\"4a2f0b1c9d8e7f6a5b4c3d2e1f0a9b8c\"" },
        { "part": 4, "size": 16777216, "etag": "\"e1f0a9b8c4a2f0b1c9d8e7f6a5b4c3d2\"" }
      ],
      "next_part": 3,
      "size_so_far": 50331648
    }
  }
  ```
</ResponseExample>

### Erreurs

| Code                   | HTTP | Quand                                                              |
| ---------------------- | ---- | ------------------------------------------------------------------ |
| `INVALID_UPLOAD_TOKEN` | 400  | Le jeton `upload` est absent, mal formé ou ne vous appartient pas. |
| `UPLOAD_NOT_FOUND`     | 404  | L'envoi a été terminé, annulé ou a expiré.                         |
| `RATE_LIMITED`         | 429  | Plus de 10 requêtes en 10 secondes.                                |
