> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener el estado de una subida de Blob para reanudarla

> Devuelve el estado de una subida directa y las partes ya almacenadas, para que una subida interrumpida pueda reanudarse. Acepta un token de subida.

Devuelve una subida directa con `uploaded_parts`, los números de las partes ya almacenadas. Tras una interrupción, envía solo las partes que faltan. Úsalo para reanudar una subida. Una subida que ha caducado devuelve `BLOB_UPLOAD_EXPIRED`.

**Ámbito:** `blob:write`. Acepta un token de subida.

**Token de subida:** esta ruta también acepta un token de subida (`Authorization: Bearer vcup_...`) en lugar de una clave de API.

**upload\_id** `string` *required*

El ID de la subida devuelto al iniciarla.

**workspace\_id** `string`

El ID del workspace, cuando el blob pertenece a un workspace. La llamada actúa sobre el blob del propietario del workspace y necesita el permiso de workspace `blob:manage`, porque las subidas en curso pertenecen a quien gestiona los archivos. Omítelo para actuar sobre tu propio blob.

### Ejemplo de petición

```bash theme={null}
curl "https://blob.vertracloud.app/v1/uploads/7c1d2e3f-4a5b-4c6d-8e7f-0a1b2c3d4e5f" \
  -H "Authorization: Bearer $VERTRA_API_KEY"
```

### Respuesta

**response** `object`

La subida y las partes ya almacenadas.

**propiedades**

**id** `string`

ID de la subida. Úsalo para consultar el estado, las partes, completar o cancelar.

**path** `string`

Ruta final, incluido el sufijo aleatorio si se pidió.

**mode** `string`

`single` (un `PUT` de todo el archivo a `url`) o `multipart` (varias partes, cada una con su propia URL).

**status** `string`

`pending`, `completed`, `aborted` o `expired`.

**size** `number`

Tamaño declarado en bytes. Los bytes almacenados deben coincidir con él al completar.

**expires\_at** `string`

Momento en que caducan las URL y el almacenamiento reservado, como marca de tiempo ISO 8601.

**url** `string`

Solo en modo `single`: la URL a la que hacer `PUT` de todo el archivo.

**headers** `object`

Cabeceras que el `PUT` debe enviar exactamente como se indican, porque forman parte de la firma.

**part\_size** `number`

Solo en modo `multipart`: el tamaño fijo de cada parte en bytes. La última parte puede ser más pequeña.

**part\_count** `number`

Solo en modo `multipart`: cuántas partes tiene el archivo.

**uploaded\_parts** `number[]`

Números de parte ya almacenados. Úsalos para reanudar una subida interrumpida.

**created\_at** `string`

Fecha de creación en ISO 8601.

```json Response theme={null}
{
  "response": {
    "id": "7c1d2e3f-4a5b-4c6d-8e7f-0a1b2c3d4e5f",
    "path": "videos/demo.mp4",
    "mode": "multipart",
    "status": "pending",
    "size": 2147483648,
    "expires_at": "2026-10-14T13:00:00.000Z",
    "headers": {
      "content-type": "video/mp4"
    },
    "part_size": 67108864,
    "part_count": 32,
    "uploaded_parts": [],
    "created_at": "2026-10-14T12:00:00.000Z"
  }
}
```

### Respuestas de error

**code** `string`

El código de error que indica el motivo del fallo. Valores posibles:

* `AUTH_TOKEN_MISSING` (`401`): No se envió la cabecera `Authorization`.
* `API_KEY_INVALID` (`401`): La clave de API no existe, fue revocada o su secreto no coincide.
* `API_KEY_SCOPE_DENIED` (`403`): La clave no tiene el ámbito que necesita esta ruta (`blob:read` o `blob:write`); `details.required` lo indica.
* `WORKSPACE_PERMISSION_DENIED` (`403`): Solo con `workspace_id`: no eres miembro o tu rol no tiene el permiso de blob.
* `WORKSPACE_NOT_FOUND` (`404`): Solo con `workspace_id`: no existe ningún workspace con ese ID o no eres miembro.
* `BLOB_UPLOAD_TOKEN_INVALID` (`401`): El token de subida no existe, ha caducado o fue revocado (solo con un token de subida).
* `BLOB_UPLOAD_NOT_FOUND` (`404`): No hay ninguna subida con ese ID en esta cuenta, o ya se completó o se canceló.
* `BLOB_UPLOAD_EXPIRED` (`410`): Se superó el tiempo límite de la subida.

```json Error Response (401) theme={null}
{
  "code": "AUTH_TOKEN_MISSING"
}
```

```json Error Response (403) theme={null}
{
  "code": "API_KEY_SCOPE_DENIED"
}
```

```json Error Response (404) theme={null}
{
  "code": "WORKSPACE_NOT_FOUND"
}
```

```json Error Response (410) theme={null}
{
  "code": "BLOB_UPLOAD_EXPIRED"
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.