✓ CLEAN ROUTER v2.0 https://developers.rediafile.com/es/docs/getting-started
📖 Documentación

Rediafile Cloud API v2

v2.0 Actualizado: 28 ago. 2026








Rediafile Cloud API v2


Guía completa para desarrolladores y clientes Business. Integra la subida, compartición y gestión de archivos en tus aplicaciones.



URL Baserediafile.com/cloud/api/v2/

FormatoJSON / UTF-8

ProtocoloHTTPS (recomendado)

MétodoPOST (salvo indicación)















📘 Vista general


La API de Rediafile te permite integrar de manera segura la subida, gestión y descarga de archivos directamente desde tus propias aplicaciones. Todos los endpoints devuelven respuestas en formato JSON codificado en UTF-8.




Compatibilidad garantizada — Esta API evolucionará con el tiempo, pero ningún endpoint o valor de respuesta actual será modificado. Puedes escribir tu código de integración con total confianza.



1. Autenticar/authorize


2. Obtener Tokenaccess_token


3. Llamar APIcon token


4. Respuesta JSONprocesamiento



URL Base


https://rediafile.com/cloud/api/v2/


Requisitos técnicos









AspectoEspecificación
CodificaciónUTF-8 obligatorio para todas las cadenas
ProtocoloHTTPS muy recomendado (SSL requerido)
Método HTTPPOST (salvo indicación contraria)
Formato fechasY-m-d H:i:s (ej: 2026-08-01 14:12:11)
Content-Typeapplication/x-www-form-urlencoded o multipart/form-data para subidas





🚀 Inicio rápido


En 3 pasos, realiza tu primera llamada API:



Paso 1 Obtener tus claves API

Conéctate a tu cuenta Rediafile → Account Settings → API Access. Allí encontrarás Key 1 y Key 2 (64 caracteres cada una).




Paso 2 Obtener un access_token

curl -X POST https://rediafile.com/cloud/api/v2/authorize \

-d "username=tu_usuario" \
-d "password=tu_contraseña"



Paso 3 Usar el token

curl -X POST https://rediafile.com/cloud/api/v2/account/info \

-d "access_token=TU_TOKEN" \
-d "account_id=TU_ACCOUNT_ID"






🔐 Autenticación


Todas las solicitudes API requieren un access_token y un account_id válidos. Estos se obtienen mediante el endpoint /authorize enviando tus credenciales de cuenta o tus claves API.




Sesión — El mismo access_token puede ser reutilizado varias veces. No generes un nuevo token para cada solicitud. Los tokens expiran automáticamente después de 1 hora de inactividad.


POST /authorize


Proporciona un access_token y un account_id para realizar solicitudes posteriores.


https://rediafile.com/cloud/api/v2/authorize


Parámetros








ParámetroTipoRequeridoDescripción
usernamestringSí*Nombre de usuario de la cuenta
passwordstringSí*Contraseña de la cuenta
key1string (64)Sí*Clave API 1 (desde Account Settings)
key2string (64)Sí*Clave API 2 (desde Account Settings)

* O username/password, o key1/key2. Las claves API son recomendadas para integraciones automatizadas.



Respuesta exitosa


{

"data": {
"access_token": "X3Xp6cUcue22Q3AlpCiZz3mJQWPT2v10zZqGblSGzVIqZiMoV4ou8LeYH4SKAUL9...",
"account_id": "158642"
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


Errores posibles










MensajeCausa
Please provide a username.Parámetro username faltante
Please provide a password.Parámetro password faltante
Please provide key1. It must be 64 characters.Clave API 1 inválida
Please provide key2. It must be 64 characters.Clave API 2 inválida
Could not authenticate user.Credenciales inválidas o cuenta bloqueada
Failed issuing access token.Error interno de generación


POST /disable_access_token


Desactiva un access_token activo. Opcional — los tokens expiran automáticamente después de 1 hora de inactividad.


https://rediafile.com/cloud/api/v2/disable_access_token





ParámetroTipoRequeridoDescripción
access_tokenstringToken a desactivar
account_idstringID de la cuenta





⚠️ Códigos de error HTTP


Los errores se devuelven mediante códigos HTTP estándar. La información adicional se incluye en el cuerpo de la respuesta en formato JSON.










CódigoDescripciónAcción recomendada
400Bad input parameterVerifica los parámetros enviados
401Bad or expired tokenRe-autentícate vía /authorize
404File not foundVerifica el file_id o short_url
405Method not expectedUsa POST (o GET si se especifica)
429Rate limit reachedReduce la frecuencia de las solicitudes
5xxServer errorReintenta más tarde o contacta al soporte


Formato de error JSON


{

"status": "error",
"response": "Could not authenticate user. The username and password may be invalid...",
"_datetime": "2026-08-01 14:12:11"
}





👤 Cuenta



POST /account/info


Proporciona los detalles de la cuenta asociada al account_id.


https://rediafile.com/cloud/api/v2/account/info





ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta

Respuesta


{

"data": {
"id": "158642",
"username": "admin",
"level_id": "20",
"email": "email@tusitio.com",
"lastlogindate": "2017-02-18 11:43:39",
"lastloginip": "192.168.33.1",
"status": "active",
"title": "Mr",
"firstname": "Admin",
"lastname": "User",
"languageId": "1",
"datecreated": null,
"lastPayment": "2011-12-27 13:45:22",
"paidExpiryDate": null,
"storageLimitOverride": null
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /account/package


Proporciona las restricciones de la cuenta heredadas del plan asociado.


https://rediafile.com/cloud/api/v2/account/package





ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta

Campos clave de la respuesta










CampoDescripción
labelNombre del plan (ej: "Premium Account")
max_upload_sizeTamaño máximo de subida en bytes
can_upload1 = subida permitida, 0 = no
concurrent_uploadsNúmero máximo de subidas simultáneas
max_remote_download_urlsURLs remotas máximas (50 por defecto)
level_typeTipo de cuenta ("paid user", etc.)





📁 Archivos



POST /file/upload


Interfaz de subida de archivos. Nota: Las subidas fragmentadas (chunked) aún no son compatibles.


https://rediafile.com/cloud/api/v2/file/upload







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
upload_filefileArchivo a subir (multipart/form-data)
folder_idstringNoID de la carpeta destino (raíz si vacío)


Content-Type requerido — Para este endpoint, usa multipart/form-data con el archivo como adjunto.

Respuesta exitosa


{

"response": "File uploaded",
"data": [{
"name": "sample4_l.jpg",
"size": "149084",
"type": "application/octet-stream",
"url": "https://rediafile.com/2Vv",
"delete_url": "https://rediafile.com/2Vv~d?41efa710444abad11a8f4b5a90e4d746",
"info_url": "https://rediafile.com/2Vv~i",
"stats_url": "https://rediafile.com/2Vv~s",
"short_url": "2Vv",
"file_id": "1253",
"unique_hash": "60b0be7e3b18de9a3f00d940a8e5a9834c6cdc0f49d40af64973be5ca504c4fd",
"url_html": "<a href=...>view sample4_l.jpg on Rediafile</a>",
"url_bbcode": "[url]https://rediafile.com/2Vv[/url]"
}],
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /file/download


Genera una URL de descarga única para un archivo.


https://rediafile.com/cloud/api/v2/file/download







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringSí*ID numérico del archivo
short_urlstringSí*URL corta del archivo

* Uno de los dos parámetros es requerido: file_id O short_url.


Respuesta


{

"data": {
"file_id": "1253",
"filename": "sample4_l.jpg",
"download_url": "https://rediafile.com/2Vv?download_token=c3e6289a23e9819d8663569da96087d0..."
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /file/url_upload_add


Importa un archivo desde una URL externa. Disponible solo si la descarga de URL en segundo plano está activada.


https://rediafile.com/cloud/api/v2/file/url_upload_add







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_url_base64stringURL externa codificada en base64
folder_idstringNoID de la carpeta destino

Respuesta


{

"response": "File download from URL scheduled",
"data": {
"scheduled_item_id": 52,
"url": "https://yetishare.com/_include/images/yetishare_logo.png"
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /file/url_upload_status


Muestra el estado de una descarga de URL programada.


https://rediafile.com/cloud/api/v2/file/url_upload_status






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
scheduled_item_idintID devuelto por /file/url_upload_add

Respuesta (estado "complete")


{

"response": "Scheduled URL file download found",
"data": {
"scheduled_item_id": 51,
"status": "complete",
"created": "2024-01-25 19:34:52",
"started": "2024-01-25 20:24:53",
"finished": "2024-01-25 20:24:54",
"total_size": 17262,
"downloaded_file": {
"file_id": 11456,
"name": "file_upload_script_logo.png",
"size": 17262,
"url": "https://rediafile.com/sZG/file_upload_script_logo.png"
}
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /file/info


Proporciona los metadatos y URLs de un archivo.


https://rediafile.com/cloud/api/v2/file/info






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringID del archivo


POST /file/edit


Modifica los metadatos de un archivo.


https://rediafile.com/cloud/api/v2/file/edit









ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringID del archivo a modificar
filenamestringNoNuevo nombre (vacío = sin cambios)
fileTypestringNoNuevo tipo MIME (ej: application/octet-stream)
folder_idstringNoNueva carpeta padre (vacío = sin cambios)


POST /file/delete


Elimina un archivo activo (lo mueve a la papelera).


https://rediafile.com/cloud/api/v2/file/delete






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringID del archivo a eliminar


POST /file/move


Mueve un archivo a otra carpeta.


https://rediafile.com/cloud/api/v2/file/move







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringID del archivo
new_parent_folder_idstringID de la carpeta destino


POST /file/copy


Copia un archivo a otra carpeta.


https://rediafile.com/cloud/api/v2/file/copy







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
file_idstringID del archivo origen
copy_to_folder_idstringID de la carpeta destino

Respuesta


{

"response": "File successfully copyied.",
"original_file": { "data": { "id": "1162", "filename": "...", "shortUrl": "2U2" } },
"new_file": { "data": { "id": "1254", "filename": "...", "shortUrl": "2Vw" } },
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}





📂 Carpetas



POST /folder/create


Crea una nueva carpeta.


https://rediafile.com/cloud/api/v2/folder/create









ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
folder_namestringNombre de la nueva carpeta
parent_idstringNoID de la carpeta padre
is_publicintNo0=Privada, 1=No listada, 2=Pública (por defecto: 0)
access_passwordstring (32)NoHash MD5 de la contraseña (32 caracteres)


POST /folder/listing


Devuelve la lista de carpetas y archivos de una carpeta padre.


https://rediafile.com/cloud/api/v2/folder/listing






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
parent_folder_idstringNoID de la carpeta padre (vacío = raíz)

Respuesta


{

"data": {
"folders": [ { "id": "123", "folderName": "My Folder 1", ... } ],
"files": [ { "id": "1161", "filename": "button_back.gif", "shortUrl": "2U1", ... } ]
},
"_status": "success",
"_datetime": "2026-08-01 14:12:11"
}


POST /folder/info


Proporciona la información de una carpeta específica.


https://rediafile.com/cloud/api/v2/folder/info






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
parent_folder_idstringNoID de la carpeta


POST /folder/edit


Modifica una carpeta existente.


https://rediafile.com/cloud/api/v2/folder/edit










ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
folder_idstringID de la carpeta a modificar
folder_namestringNoNuevo nombre
parent_idstringNoNueva carpeta padre
is_publicintNo0=Privada, 1=No listada, 2=Pública
access_passwordstring (32)NoHash MD5 de la contraseña


POST /folder/delete


Elimina una carpeta.


https://rediafile.com/cloud/api/v2/folder/delete






ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
folder_idstringID de la carpeta a eliminar


POST /folder/move


Mueve una carpeta a otra ubicación.


https://rediafile.com/cloud/api/v2/folder/move







ParámetroTipoRequeridoDescripción
access_tokenstringToken de acceso
account_idstringID de la cuenta
folder_idstringID de la carpeta a mover
new_parent_folder_idstringID de la carpeta destino





💻 Ejemplos de código



cURL — Autenticación


curl -X POST https://rediafile.com/cloud/api/v2/authorize \

-H "Content-Type: application/x-www-form-urlencoded" \
-d "username=admin" \
-d "password=mi_contraseña"


cURL — Subida de archivo


curl -X POST https://rediafile.com/cloud/api/v2/file/upload \

-F "access_token=TU_TOKEN" \
-F "account_id=TU_ACCOUNT_ID" \
-F "upload_file=@/ruta/a/miarchivo.zip" \
-F "folder_id=123"


PHP — Subida completa


<?php

$token = 'TU_ACCESS_TOKEN';
$accountId = 'TU_ACCOUNT_ID';
$filePath = '/ruta/a/archivo.jpg';

$ch = curl_init('https://rediafile.com/cloud/api/v2/file/upload');
$postData = [
'access_token' => $token,
'account_id' => $accountId,
'upload_file' => new CURLFile($filePath)
];
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
$data = json_decode($response, true);

echo "URL: " . $data['data'][0]['url'];
curl_close($ch);
?>


Python — Descarga desde URL


import requests, base64


url = "https://rediafile.com/cloud/api/v2/file/url_upload_add"
payload = {
"access_token": "TU_TOKEN",
"account_id": "TU_ACCOUNT_ID",
"file_url_base64": base64.b64encode(b"https://example.com/image.png").decode(),
"folder_id": "123"
}

response = requests.post(url, data=payload)
print(response.json())


JavaScript (Node.js) — Lista de carpetas


const axios = require('axios');


async function listFolders() {
const res = await axios.post('https://rediafile.com/cloud/api/v2/folder/listing', {
access_token: 'TU_TOKEN',
account_id: 'TU_ACCOUNT_ID',
parent_folder_id: '' // raíz
});
console.log(res.data.data.folders);
}

listFolders();


JavaScript (Fetch) — Generar enlace de descarga


fetch('https://rediafile.com/cloud/api/v2/file/download', {

method: 'POST',
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
body: new URLSearchParams({
access_token: 'TU_TOKEN',
account_id: 'TU_ACCOUNT_ID',
file_id: '1253'
})
})
.then(r => r.json())
.then(data => console.log(data.data.download_url));





✅ Buenas prácticas



Seguridad Usa siempre HTTPS

Todas las solicitudes deben pasar por HTTPS. Puedes forzar SSL en el servidor para garantizar la seguridad de los tokens y los datos.




Rendimiento Reutiliza los tokens

Un access_token sigue siendo válido durante 1 hora. Almacénalo en sesión y reutilízalo para todas tus solicitudes en lugar de regenerar un token en cada llamada.




Fiabilidad Gestiona los errores

Verifica siempre _status en la respuesta JSON. En caso de error ("error"), lee el campo response para obtener el mensaje detallado.




Codificación Base64 para URLs

Para /file/url_upload_add, codifica siempre la URL en base64 antes de enviarla. Usa utf-8 para todo el texto.




Limitación Sin subida fragmentada

Las subidas fragmentadas (chunked) aún no son compatibles. Para archivos grandes, usa /file/url_upload_add o verifica max_upload_size mediante /account/package.







📊 Límites y restricciones











AspectoValor / Comportamiento
Expiración de token1 hora de inactividad
Rate limitingHTTP 429 si se alcanza el límite
Subida fragmentadaNo compatible actualmente
Subida URL remotaMáx. 50 URLs (según plan)
CodificaciónUTF-8 obligatorio
Claves API64 caracteres exactamente
Contraseña de carpetaHash MD5, 32 caracteres


Planes Business — Los límites de almacenamiento, tamaño de subida y ancho de banda dependen de tu plan. Consulta /account/package para conocer tus restricciones actuales.





❓ FAQ



¿Cómo obtengo mis claves API?

Conéctate a tu cuenta Rediafile → Account Settings → API Access. Verás Key 1 y Key 2. Cada clave tiene exactamente 64 caracteres.




¿Puedo usar username/password en lugar de las claves API?

Sí, el endpoint /authorize acepta tanto username + password como key1 + key2. Las claves API son recomendadas para integraciones automatizadas porque no cambian al modificar la contraseña.




Mi token ha expirado, ¿qué hago?

Vuelve a llamar a /authorize para obtener un nuevo access_token. Los tokens expiran después de 1 hora de inactividad.




¿Cómo subo un archivo a una carpeta específica?

Usa el parámetro folder_id en /file/upload. Obtén el ID de la carpeta mediante /folder/listing.




¿Se admiten subidas de archivos grandes?

Las subidas fragmentadas (chunked) aún no están disponibles. El tamaño máximo depende de tu plan (ver /account/packagemax_upload_size). Para archivos muy grandes, usa /file/url_upload_add.




¿Puedo integrar Rediafile en mi aplicación móvil?

Sí, la API es compatible con todas las plataformas. Usa solicitudes HTTP POST estándar desde iOS, Android, Flutter, React Native, etc.






¿Necesitas ayuda?

Prueba los endpoints en vivo en el sandbox interactivo.

Abrir Sandbox