Upload API
Última actualización: 3 de julio de 2026
Upload es un recurso temporal que se crea al subir un archivo. Es el primer paso antes de crear un Media: al subir un archivo, la respuesta devuelve un Upload, y con la información de ese Upload se crea el Media. La creación del Media se realiza en CMA (Weegloo User) o ACMA (Service User) y queda fuera del alcance de esta página.
Upload es un recurso temporal. Caduca 24 horas después de su creación (expiresAt) y, si no se convierte en Media dentro de ese plazo, desaparece. Upload no tiene concepto de publicación ni de versión (no posee las propiedades version, status ni publish). Tampoco tiene campos de cuerpo, solo dispone de las propiedades de sistema sys. La URL base es https://upload.weegloo.com/v1 y todas las solicitudes requieren un token Bearer que autentique el Upload.
Estructura del recurso
A continuación se muestra la respuesta de un Upload tras subir la foto de un producto de una tienda de ropa (la imagen de un termo) a un Space. Solo contiene sys, y dentro de él hay claves como owner, expiresAt y size.
{
"sys": {
"id": "4bgMfu7cFGYDRQn4jdqFI8tkOWKZIm",
"type": "Upload",
"owner": { "sys": { "id": "HnQ32YiH", "type": "Refer", "targetType": "Space" } },
"createdBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"createdAt": "2026-06-18T04:48:44.057Z",
"updatedBy": { "sys": { "id": "3p4tcFbQRwz503VXdtHXNI5dZH5TVB", "type": "Refer", "targetType": "User" } },
"updatedAt": "2026-06-18T04:48:44.057Z",
"expiresAt": "2026-06-19T04:48:44.057Z",
"size": 50847
}
}Claves principales:
sys.id: identificador único del Upload. Este valor se pasa al crear el Media. También se usa en el{uploadId}de las rutas de consulta individual y de eliminación.sys.owner: referencia que apunta al lugar al que pertenece este Upload. SutargetTypeesSpaceuOrganization(consulte Contexto de Space y Organization más abajo).sys.expiresAt: momento de caducidad. Es 24 horas después decreatedAt, y una vez transcurrido ese instante el Upload desaparece.sys.size: tamaño del archivo subido (en bytes). El ejemplo anterior es de50847bytes.
Propiedades de sistema (sys)
Todo Upload contiene sus propiedades de sistema en el objeto sys. Las propiedades owner, createdBy y updatedBy aparecen con forma Refer ({ "sys": { "id", "type": "Refer", "targetType" } }).
| Propiedad | Tipo | Descripción |
|---|---|---|
id | string | Identificador único del recurso. |
type | string | Tipo de recurso. En Upload siempre es "Upload". |
owner | Refer | Lugar al que pertenece este Upload. Su targetType es Space u Organization. |
createdBy | Refer<User> | Usuario que lo creó. |
createdAt | string (date-time) | Momento de creación. |
updatedBy | Refer<User> | Último usuario que lo modificó. |
updatedAt | string (date-time) | Momento de la última modificación. |
expiresAt | string (date-time) | Momento de caducidad. Es 24 horas después de createdAt y, una vez transcurrido, el Upload desaparece. |
size | integer (int64) | Tamaño del archivo subido (en bytes). |
Las 9 propiedades anteriores se incluyen siempre en la respuesta. Las propiedades version, status y publish que están en el sys de Content o Content Type no existen en Upload. Esto se debe a que Upload no es un recurso que se publique o al que se asignen versiones, sino un material de un solo uso para crear un Media. A diferencia del space de otros recursos, que apunta a un único tipo, owner apunta a Space o a Organization según el valor de targetType.
Contexto de Space y Organization
Upload puede crearse en dos contextos, y según el contexto cambian la ruta y sys.owner.
| Contexto | Base de la ruta | sys.owner.sys.targetType | Uso |
|---|---|---|---|
| Space | /spaces/{spaceId}/uploads | Space | Archivos que servirán de material para un Media, como la foto de un producto. |
| Organization | /organizations/{organizationId}/uploads | Organization | Activos a nivel de organización, como el icono de la organización. |
El Upload en contexto Space es el material para crear el Media de ese Space. El Upload en contexto Organization se usa al subir archivos que se emplean directamente en la organización, como su icono. En ambos casos la estructura del recurso devuelto en la respuesta es la misma; solo difiere el valor de targetType en sys.owner.
Modos de subida: multipart y binary
La solicitud POST para subir un archivo admite dos modos. En cualquiera de los dos, lo que se devuelve en la respuesta es el mismo recurso Upload.
El modo multipart envía el cuerpo de la solicitud como multipart/form-data. El archivo se coloca en un campo de formulario llamado file. Es adecuado para situaciones en las que se envían datos de formulario, como al subir directamente desde el campo de selección de archivos de un navegador.
El modo binary coloca los bytes en bruto del archivo directamente en el cuerpo de la solicitud. No hay restricción sobre el tipo de medio del cuerpo (Content-Type) (normalmente se usa application/octet-stream) y, en el contexto Space, se debe enviar la longitud en bytes del cuerpo en la cabecera Content-Length. Es adecuado para código del lado del servidor que transmite únicamente los bytes del archivo sin estructura de formulario.
API
La URL base de todos los endpoints siguientes es https://upload.weegloo.com/v1, y requieren un token Bearer que autentique el Upload en la cabecera Authorization. Primero se tratan los 4 del contexto Space y, a continuación, los 4 del contexto Organization.
Documentos relacionados
- Media: formato de la solicitud para crear un Media a partir de un Upload subido.
- Media (concepto): cómo gestionar los activos de archivo en el estudio de contenidos.
