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

# Obter o status de um upload do Blob para retomar

> Retorna o status de um upload direto e as partes já armazenadas, para que um upload interrompido possa ser retomado. Aceita um token de upload.

Retorna um upload direto com `uploaded_parts`, os números das partes já armazenadas. Depois de uma interrupção, envie apenas as partes que faltam. Use para retomar um upload. Um upload que expirou retorna `BLOB_UPLOAD_EXPIRED`.

**Escopo:** `blob:write`. Aceita um token de upload.

**Token de upload:** esta rota também aceita um token de upload (`Authorization: Bearer vcup_...`) em vez de uma chave de API.

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

O ID do upload retornado quando o upload foi iniciado.

**workspace\_id** `string`

O ID do workspace, quando o blob pertence a um workspace. A chamada atua sobre o blob do dono do workspace e precisa da permissão de workspace `blob:manage`, porque os uploads em andamento pertencem a quem gerencia os arquivos. Omita para atuar sobre o seu próprio blob.

### Exemplo de requisição

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

### Resposta

**response** `object`

O upload e as partes já armazenadas.

**propriedades**

**id** `string`

ID do upload. Use-o para status, partes, conclusão e aborto.

**path** `string`

Caminho final, incluindo o sufixo aleatório quando ele foi pedido.

**mode** `string`

`single` (um `PUT` do arquivo inteiro para `url`) ou `multipart` (várias partes, cada uma com sua própria URL).

**status** `string`

`pending`, `completed`, `aborted` ou `expired`.

**size** `number`

Tamanho declarado em bytes. Os bytes armazenados precisam bater com ele em `complete`.

**expires\_at** `string`

Quando as URLs e o armazenamento reservado expiram, como timestamp ISO 8601.

**url** `string`

Somente no modo `single`: a URL para fazer `PUT` do arquivo inteiro.

**headers** `object`

Headers que o `PUT` deve enviar exatamente como informados, porque fazem parte da assinatura.

**part\_size** `number`

Somente no modo `multipart`: o tamanho fixo de cada parte em bytes. A última parte pode ser menor.

**part\_count** `number`

Somente no modo `multipart`: quantas partes o arquivo tem.

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

Números das partes já armazenadas. Use-os para retomar um upload interrompido.

**created\_at** `string`

Data e hora de criação em 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"
  }
}
```

### Respostas de erro

**code** `string`

O código de erro que indica o motivo da falha. Valores possíveis:

* `AUTH_TOKEN_MISSING` (`401`): Nenhum header `Authorization` foi enviado.
* `API_KEY_INVALID` (`401`): A chave de API não existe, foi revogada ou o segredo não confere.
* `API_KEY_SCOPE_DENIED` (`403`): A chave não tem o escopo que a rota exige (`blob:read` ou `blob:write`); `details.required` informa qual.
* `WORKSPACE_PERMISSION_DENIED` (`403`): Somente com `workspace_id`: você não é membro, ou seu papel não tem a permissão de blob.
* `WORKSPACE_NOT_FOUND` (`404`): Somente com `workspace_id`: não existe workspace com esse ID, ou você não é membro.
* `BLOB_UPLOAD_TOKEN_INVALID` (`401`): O token de upload não existe, expirou ou foi revogado (somente com token de upload).
* `BLOB_UPLOAD_NOT_FOUND` (`404`): Nenhum upload com esse ID nesta conta, ou ele já foi concluído ou abortado.
* `BLOB_UPLOAD_EXPIRED` (`410`): O prazo do upload passou.

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