Skip to main content
POST
Usar un archivo ya subido también en otro destino

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-workspace-id
string<uuid>
required

Identificador del workspace multi-tenant.

Path Parameters

namespace
enum<string>
required

Destino del archivo. Es un conjunto cerrado y versionado en el código: cada namespace trae su propia política de formatos, tamaños y permisos.

Available options:
agent-briefs,
knowledge-sources
uploadId
string<uuid>
required

La fila que dejó el presign. El namespace no viaja en estas rutas: sale de la fila, porque consultarlo antes de autorizar exigiría leer la base para decidir el permiso, y eso filtraría si un id existe a quien no debería saberlo.

Response

La copia existe y está verificada. Es una subida nueva, con su propio uploadId y su propio ciclo de vida: hay que reclamarla como cualquier otra o el barrido se la lleva.

Lo que se sabe de un archivo subido, mirado desde fuera.

uploadId
string<uuid>
required
namespace
enum<string>
required

Destino del archivo. Es un conjunto cerrado y versionado en el código: cada namespace trae su propia política de formatos, tamaños y permisos.

Available options:
agent-briefs,
knowledge-sources
status
enum<string>
required

En qué punto del ciclo está el archivo.

pending es la fila que dejó el presign: existe antes de que se suba un solo byte, y caduca a las 24 h si nadie la confirma. ready es el archivo verificado —sigue siendo operable: se puede reclamar y se puede descartar—. rejected, expired y discarded son estados de los que ya no se sale.

Available options:
pending,
ready,
rejected,
expired,
discarded
originalFileName
string
required

El nombre con el que el cliente lo mandó, sin normalizar.

contentType
string
required
declaredSizeBytes
integer
required

El tamaño que el cliente dijo al pedir el presign.

sizeBytes
integer | null
required

El tamaño real del objeto, medido al confirmar. Es null mientras nadie lo haya mirado — está aparte de declaredSizeBytes precisamente porque pueden no coincidir.

rejectedReason
string | null
required

Por qué se rechazó, cuando status es rejected. Si no, null.

Es un código, no una frase: hoy size-mismatch (lo medido no cuadra con lo declarado) o content-mismatch (los bytes no son del formato que dice la extensión). El detalle legible va en el mensaje del 422, no aquí.

Example:

"content-mismatch"

createdBy
string
required
createdAt
string<date-time>
required
confirmedAt
string<date-time> | null
required