Obtener un enlace temporal de descarga para un objeto blob
curl --request GET \
--url https://blob.vertracloud.app/v1/objects/{object_id}/download \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://blob.vertracloud.app/v1/objects/{object_id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://blob.vertracloud.app/v1/objects/{object_id}/download"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://blob.vertracloud.app/v1/objects/{object_id}/download"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"response": {
"url": "https://blob.vertracloud.dev/d/eyJrIjoiazdwMm05eDRxYS9pbWFnZXMvbG9nby5wbmcifQ.c2lnbmF0dXJl",
"expires_at": "2026-10-14T12:10:00.000Z"
}
}
Objetos
Obtener un enlace temporal de descarga para un objeto blob
Devuelve un enlace temporal para descargar un objeto blob. Redirige por defecto; el enlace no se puede revocar.
GET
/
v1
/
objects
/
{object_id}
/
download
Obtener un enlace temporal de descarga para un objeto blob
curl --request GET \
--url https://blob.vertracloud.app/v1/objects/{object_id}/download \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://blob.vertracloud.app/v1/objects/{object_id}/download', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://blob.vertracloud.app/v1/objects/{object_id}/download"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://blob.vertracloud.app/v1/objects/{object_id}/download"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"response": {
"url": "https://blob.vertracloud.dev/d/eyJrIjoiazdwMm05eDRxYS9pbWFnZXMvbG9nby5wbmcifQ.c2lnbmF0dXJl",
"expires_at": "2026-10-14T12:10:00.000Z"
}
}
Devuelve un enlace de descarga temporal para un objeto y, por defecto, redirige a él (
302). Úsalo para objetos privados.
El enlace caduca después de expires_in segundos y no se puede revocar. Con redirect=false, la respuesta contiene el
enlace en su lugar.
Ámbito: blob:read.
string
requerido
El ID del objeto.
number
Segundos que el enlace sigue válido, de 60 a 86400. Por defecto
3600.string
inline o attachment para esta descarga. Por defecto: el content_disposition del objeto.string
Nombre para esta descarga. Por defecto: el
filename del objeto.boolean
true devuelve un 302 al enlace. false devuelve el enlace como JSON. Por defecto true.string
El ID del workspace, cuando el blob pertenece a un workspace. La petición actúa sobre el blob del propietario del
workspace y necesita el permiso
blob:read del workspace (blob:manage en las rutas que modifican datos). Omítelo
para actuar sobre tu propio blob.Ejemplo de petición
curl -L -o logo.png "https://blob.vertracloud.app/v1/objects/0b6f7c1e-3d2a-4f5b-9a8c-1d2e3f4a5b6c/download?expires_in=600" \
-H "Authorization: Bearer $VERTRA_API_KEY"
Respuesta
object
{
"response": {
"url": "https://blob.vertracloud.dev/d/eyJrIjoiazdwMm05eDRxYS9pbWFnZXMvbG9nby5wbmcifQ.c2lnbmF0dXJl",
"expires_at": "2026-10-14T12:10:00.000Z"
}
}
Respuestas de error
string
El código de error que indica el motivo del fallo. Valores posibles:
AUTH_TOKEN_MISSING(401): No se envió la cabeceraAuthorization.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:readoblob:write);details.requiredlo indica.WORKSPACE_PERMISSION_DENIED(403): Solo conworkspace_id: no eres miembro, o tu rol no tiene el permiso de blob.WORKSPACE_NOT_FOUND(404): Solo conworkspace_id: no existe un workspace con ese ID, o no eres miembro.VALIDATION_ERROR(400): Un parámetro o un campo del cuerpo no superó la validación.details.pathindica el campo.BLOB_OBJECT_NOT_FOUND(404): No existe ningún objeto con ese ID en esta cuenta (o en el blob del workspace).
{
"code": "AUTH_TOKEN_MISSING"
}
{
"code": "API_KEY_SCOPE_DENIED"
}
{
"code": "WORKSPACE_NOT_FOUND"
}
{
"code": "VALIDATION_ERROR"
}
Última modificación el 28 de octubre de 2026