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

> Consulta qué partes de una subida por partes ya llegaron con GET /v1/objects/chunked, para reanudar una subida interrumpida.

<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 Status lista las partes de una subida abierta que ya están almacenadas. Úsalo para **reanudar** tras un fallo, una conexión perdida o una recarga de página: envía solo las partes que faltan con [Chunked Part](/es/blob-reference/endpoint/chunked-part) y luego llama a [Chunked Complete](/es/blob-reference/endpoint/chunked-complete). Requiere el scope `blob:write`.

Si también perdiste el token `upload`, [Open Uploads](/es/blob-reference/endpoint/chunked-open) lista todas las subidas abiertas de la cuenta con su token.

<ParamField query="upload" type="string" required>
  El token `upload` devuelto por Chunked Init.
</ParamField>

### Límites de tasa

<Note>10 solicitudes cada 10 segundos (`RATE_LIMITED`, 429). Úsalo para reanudar una subida, no para consultar el progreso: tu cliente ya sabe qué partes envió.</Note>

### Respuesta

<ResponseField name="status" type="string">
  "success" si tuvo éxito, "error" si no.
</ResponseField>

<ResponseField name="response" type="object">
  <Expandable title="Alternar objeto">
    <ResponseField name="id" type="string">
      El id que tendrá el archivo una vez completado.
    </ResponseField>

    <ResponseField name="parts" type="array">
      Las partes almacenadas, cada una como `{ "part", "size", "etag" }`.
    </ResponseField>

    <ResponseField name="next_part" type="number">
      El número de parte más bajo que aún no está almacenado.
    </ResponseField>

    <ResponseField name="size_so_far" type="number">
      El total de bytes almacenados hasta ahora.
    </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>

### Errores

| Código                 | HTTP | Cuándo                                                  |
| ---------------------- | ---- | ------------------------------------------------------- |
| `INVALID_UPLOAD_TOKEN` | 400  | El token `upload` falta, está mal formado o no es tuyo. |
| `UPLOAD_NOT_FOUND`     | 404  | La subida se completó, se abortó o expiró.              |
| `RATE_LIMITED`         | 429  | Más de 10 solicitudes en 10 segundos.                   |
