curl -X POST "https://api.scanova.io/media/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-F "file=@logo.png" \
-F "in_use=qr_logo" \
-F "category=custom-design"
{
"id": 4821,
"file": "media/uploads/104/2026/09/20260908_512873_logo.png",
"upload": null,
"file_name": "20260908_512873_logo.png",
"size": 48213,
"human_readable_size": "47.08 KB",
"original_name": "logo.png",
"bulk_media": null,
"mime_type": "image/png",
"file_type": "png",
"in_use": "qr_logo",
"category": "custom-design",
"created": "2026-09-08T10:15:32.120Z",
"modified": "2026-09-08T10:15:32.120Z"
}
Biblioteca de medios
Subir un archivo
POST /media/
POST
/
media
/
curl -X POST "https://api.scanova.io/media/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-F "file=@logo.png" \
-F "in_use=qr_logo" \
-F "category=custom-design"
{
"id": 4821,
"file": "media/uploads/104/2026/09/20260908_512873_logo.png",
"upload": null,
"file_name": "20260908_512873_logo.png",
"size": 48213,
"human_readable_size": "47.08 KB",
"original_name": "logo.png",
"bulk_media": null,
"mime_type": "image/png",
"file_type": "png",
"in_use": "qr_logo",
"category": "custom-design",
"created": "2026-09-08T10:15:32.120Z",
"modified": "2026-09-08T10:15:32.120Z"
}
Sube un archivo, en el host de la API de gestión (
api.scanova.io), autenticado con su clave de API de gestión sin procesar.
POST https://api.scanova.io/media/
Authorization: 401f7ac837da42b97f613d789819ff93537bee6a
Content-Type: multipart/form-data
file
requerido
El archivo a subir. Se requiere
file o upload.file
Alias de
file — proporcione uno u otro.string
Categorías separadas por comas contra las que restringir la validación (
image, video, audio, pdf, doc, script). Consulte Listar tipos de archivo permitidos para conocer los criterios de aceptación de cada categoría.string
Cómo se usa este archivo:
avatar, qr_logo, qr_content, poster, qr_image, profile_pic, banner, smart, thumbnail, o unknown (predeterminado).string
Etiqueta de categoría de texto libre, p. ej. un slug de categoría de QR o
"Custom Design".integer
El id de un lote de medios masivos, de Crear un lote de medios masivos, para asociar esta subida a él.
curl -X POST "https://api.scanova.io/media/" \
-H "Authorization: 401f7ac837da42b97f613d789819ff93537bee6a" \
-F "file=@logo.png" \
-F "in_use=qr_logo" \
-F "category=custom-design"
{
"id": 4821,
"file": "media/uploads/104/2026/09/20260908_512873_logo.png",
"upload": null,
"file_name": "20260908_512873_logo.png",
"size": 48213,
"human_readable_size": "47.08 KB",
"original_name": "logo.png",
"bulk_media": null,
"mime_type": "image/png",
"file_type": "png",
"in_use": "qr_logo",
"category": "custom-design",
"created": "2026-09-08T10:15:32.120Z",
"modified": "2026-09-08T10:15:32.120Z"
}
Validación
- Extensión y tipo MIME deben estar ambos en la lista de permitidos de la categoría
file_typedetectada — una discrepancia (p. ej. una extensión.pngen un archivo que en realidad es un PDF) se rechaza. - Tamaño se comprueba contra el límite de la categoría — excepto para archivos
pdf/doc, donde la cuota del planDOCUMENT_FILE_SIZEde la cuenta (en MB) sustituye al límite estático. - JavaScript (
.js) subido se analiza para confirmar que es JS sintácticamente válido antes de la comprobación de tamaño. - SVGs se escanean en busca de scripts incrustados y se rechazan si se encuentra alguno.
- Los archivos sin extensión se rechazan por completo.
400 ante cualquiera de los errores de validación anteriores, con un mensaje que identifica el problema.
Relacionado
- Listar archivos subidos — ver lo que ya se ha subido.
- Listar tipos de archivo permitidos — validar en el cliente antes de subir.
- Eliminar un archivo — eliminar uno.
- Resumen de la API de gestión — el esquema de autenticación y las reglas de cuota que se aplican a este endpoint.
Autorizaciones
Send your Management API key as the raw value of the Authorization header — no "Bearer " or "Token " prefix, and no other characters. Example: Authorization: 401f7ac837da42b97f613d789819ff93537bee6a. A header containing more than one space-separated part is rejected outright. Requests also require the request's Host header to be the management API host (e.g. api.scanova.io) — the same key sent to the regular API host will not authenticate.
Respuesta
File uploaded.
¿Esta página le ayudó?