Colección de API de Distribuidores
La API de Distribuidores de IDrive® e2 está desarrollada sobre arquitectura REST.
La API de Distribuidores de IDrive® e2 acepta cuerpos de solicitud en formato 'application/JSON' y devuelve respuestas en 'application/JSON'.
Nuestra API utiliza un mecanismo de autenticación mediante clave API. Puedes generar la clave API desde la sección de perfil de la cuenta de IDrive® e2.
Agrega la clave API generada desde la sección de perfil en todas las llamadas HTTP API en el encabezado con la clave 'token'.
Códigos de respuesta HTTP:
- 200 (Éxito)
- 500 (Error del servidor)
- 400 (Parámetros inválidos)
- 401 (No autorizado)
- 403 (Solicitud inválida)
El cuerpo de respuesta de error tendrá la siguiente estructura:
Response (application/JSON) : {
error : {
string type;
string code;
string message;
}
}
Los valores posibles para 'error.type' son :
Para más detalles, 'error.code' y 'error.message' explicarán qué salió mal.
Casos Comunes de Error
A continuación se muestran los casos de error comunes que pueden ser devueltos por todas las API detalladas a continuación. El resto de los casos de error se documentarán con las API específicas.
- Error del servidor (HTTP 500)
Response (application/JSON) : {
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - No autorizado (HTTP 401)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'unauthorized',
message: 'Authentication header missing/invalid'
}
} - Parámetros inválidos (HTTP 400)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'invalid_parameters',
message: 'Invalid parameter values, check errors for details',
errors: [] (array contain details of error)
}
}
Encabezado de AUTORIZACIÓN Clave API
| Clave | token |
| Valor | <YOUR-API-KEY> |
Enumeraciones utilizadas en toda la API son:
Enums:
Permisos de clave de acceso:
{
0: Read access,
1: Write access,
2: Read/Write access
}
Operaciones de Usuario
- Listar todos los usuarios
GET
https://api.idrivee2.com/api/reseller/v1/users
Haz clic para copiarEnlace copiado
Esto muestra todos los usuarios añadidos bajo tu perfil.
Salida
La API devuelve un arreglo de los usuarios añadidos bajo tu perfil.
La estructura de la respuesta es la siguiente:struct response {
string id;
List users[];
}
struct users{
string email;
string first_name;
string last_name;
string account_creation_timestamp;
string invite_url;
bool is_signed_up;
bool is_active;
double storage_used;
int storage_quota;
} - Crear Usuario
- Cuota (GB) (0 para ilimitado, de lo contrario >0)
- La contraseña es una cadena codificada en base64.
- email_notification: Si se proporciona y se establece en false, no se enviará notificación por correo electrónico a la dirección de correo especificada.
- Email [255]
- Password [100]
- First Name [64]
- Last Name [64]
- Solicitud inválida (HTTP-403)
- El usuario ya existe y está vinculado a su cuenta.
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message : 'User already signed up'
}
} - Correo electrónico ya en uso (existe una cuenta independiente que no está vinculada a su cuenta).
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- El usuario ya existe y está vinculado a su cuenta.
- Deshabilitar usuario
- Email [255]
- User signed up.
- Account enabled.
- Solicitud inválida (HTTP 403)
- Cuenta ya discapacitada.
error:{
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - La cuenta no existe.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- Cuenta ya discapacitada.
- Habilitar usuario
- Email [255]
- Usuario registrado/creado.
- La cuenta de usuario fue deshabilitada previamente.
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - La cuenta ya está habilitada.
error:{
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
}
- La cuenta no existe.
- Eliminar usuario
- Email [255]
- El usuario debe estar deshabilitado.
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message:'Account with this email does not exist'
}
} - La cuenta no está deshabilitada.
{
error:{
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
}
}
- La cuenta no existe.
- Obtener uso de almacenamiento
- Email [255]
- La usuario debe estar registrada.
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- La cuenta no existe.
- Obtener registros de actividad
- Email [255]
- La cuenta no existe.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Nota:
storage_used (bytes)
storage_quota (GB's) (0 : ilimitado, si no > 0)
invite_url si no es nulo puede ser usado por el usuario invitado para registrarse
Ejemplo de solicitud Curl:
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/users' --header 'token: <your api key>'
PUT
https://api.idrivee2.com/api/reseller/v1/create_user
Haga clic para copiarLink copiado
Esta API creará una cuenta de usuario en IDrive® e2 que estará vinculada a tu cuenta.
Entrada
string email;
string password; //base64 encoded string
string first_name;
string last_name; //last_name is an optional parameter
int quota;
bool email_notification; //email_notification is an optional parameter
Nota:
Parámetros de longitud
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:
{ user_created: true }
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"password":"dGVzdDEyMw==",
"first_name":"dev",
"quota": 1024,
"email_notification": false
}
Ejemplo de solicitud Curl:
curl --request PUT 'https://api.idrivee2.com/api/reseller/v1/create_user'
--data '{
"email": "e2reseller+1@idrivee2.com",
"password":"dGVzdDEyMw==",
"first_name":"dev",
"quota": 1024
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/disable_user
Haga clic para copiarLink copiado
Esta API deshabilita la cuenta de usuario. Los usuarios no podrán iniciar sesión, acceder a datos ni realizar ninguna operación.
Entrada
string email;
Parámetros de longitud
Precondición
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:
{ user_disabled : true }
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/disable_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}'
POST
https://api.idrivee2.com/api/reseller/v1/enable_user
Haga clic para copiarLink copiado
Esta API vuelve a habilitar las cuentas de usuario deshabilitadas. Los usuarios pueden iniciar sesión, acceder a datos y realizar operaciones normales.
Entrada
string email;
Parámetros de longitud
Precondición
Producción
En caso de éxito, la respuesta de la API (aplicación/JSON) sería:
{ user_enabled : true }
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/remove_user
Haga clic para copiarLink copiado
Esta API eliminará permanentemente a los usuarios de IDrive® e2.
Nota: Los datos del usuario se perderán de forma permanente al realizar esta operación.
Entrada
string email;
Parámetros de longitud
Precondición
Producción
En caso de éxito, la respuesta de la API (JSON) sería :
{ user_removed : true }
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/usage_stats
Haga clic para copiarLink copiado
Esta API devuelve la matriz de utilización de IDrive® e2 para el usuario proporcionado.
Entrada
{
string email;
string date_from;
string date_to;
}
date_from (ISO8601) (fecha de inicio)
date_to (ISO8601) (fecha de fin)
Parámetros de longitud
Precondiciones
Producción
Array of usage_stats structure
struct usage_stats{
double downloads;
double uploads;
double disk_used;
string date;
}
downloads, uploads, disk_used están en bytes
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"date_to":"2022-08-31",
"date_from":"2022-08-01"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/usage_stats'
--data '{
"email": "DEV-TEST+1@idrivee2.com",
"date_to":"2022-08-31",
"date_from":"2022-08-01"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/user_activity_history
Haga clic para copiarLink copiado
Esta API obtendrá los registros de actividad de un usuario para un rango de fechas.
Entrada
string email;
string start_date;
string end_date;
int page_no;
Parámetros de longitud
Nota
start_date (ISO8601) - Fecha de inicio
end_date (ISO8601) - Fecha de fin
page_no - La API está paginada con cada página que consta de 200 registros
y page_no comienza desde 1 en adelante
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:
struct response {
List[] logs;
struct pagination;
}
struct logs {
string timestamp;
string description;
string ip;
}
struct pagination {
int total_records;
int page_no;
int records_per_page;
}
Caso de error específico
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email": "abc1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/user_activity_history'
--data '{
"email": "abc1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}' --header 'token: <your api key>'
Operaciones de almacenamiento
- Listar regiones
GET
https://api.idrivee2.com/api/reseller/v1/regions
Haga clic para copiarLink copiado
Esta API devuelve una matriz de regiones para IDrive® e2.
Producción
struct regions{
string region_key;
string region_name;
string country;
string region_code;
bool active;
bool hdd_storage;
string cors;
}Nota: Solo las regiones activas pueden habilitarse para el usuario.
Ejemplo de solicitud: Listar regiones
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/regions' --header 'token: <your api key>' - Habilitar región para el usuario
- Email [255]
- Region[5]
- Cuenta de usuario existente.
- La región no debe estar habilitada para el usuario.
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - La región de almacenamiento ya está habilitada para el usuario.
{
error:{
type: 'invalid_request_error',
code: 'region_already_enabled',
message: 'Storage region already enabled for user'
}
} - Usuario deshabilitado.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - El pago de su cuenta falló.
{
error:{
type: 'invalid_request_error',
code: 'payment_failed',
message: 'Account expired please update payment info'
}
}
- La cuenta no existe.
- Listar regiones habilitadas del usuario
POST
https://api.idrivee2.com/api/reseller/v1/list_user_regions
Haga clic para copiarLink copiado
Esta API lista todas las regiones habilitadas del usuario.
Entrada
{
string email;
}Parámetros de longitud
- Email [255]
Precondición
- Cuenta de usuario existente.
Producción
En caso de éxito, la respuesta de la API (application/JSON) sería :
{
user_regions: /*lists user enabled regions*/
}Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Usuario deshabilitado..
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- La cuenta no existe.
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_user_regions'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>' - Eliminar región asignada al usuario
- Email [255]
- Storage_dn[128]
- Usuario registrado.
- El almacenamiento debe estar asignado al usuario.
- No se ha creado ningún bucket por el usuario
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El almacenamiento no existe.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - El almacenamiento no está vacío.
{
error:{
type: 'invalid_request_error',
code: 'storage_not_empty',
message: 'Storage not empty. To avoid user data loss, this request will not be
processed. To remove this storage, please disable the user first and try again'
}
}
- La cuenta no existe.
- Actualizar configuración CORS para la región del usuario
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El almacenamiento no existe.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Invalid cors parameters.
{
error:{
type: 'invalid_request_error',
code: 'invalid_cors_policy',
message: 'The cors policy is invalid' / 'Maximum 10 cors are allowed'
}
}
- La cuenta no existe.
- Agregar clave de acceso
- Usuario registrado/creado y habilitado.
- Storage DN asignado al usuario respectivo.
- Los buckets no deben estar vacíos si se proporcionan.
- Email [255]
- storage_dn[128]
- Name[64]
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El almacenamiento no existe.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Usuario deshabilitado.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- La cuenta no existe.
- Lista de claves de acceso
- email [255]
- storage_dn[128]
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El almacenamiento no existe.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Usuario deshabilitado.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled '
}
}
- La cuenta no existe.
POST
https://api.idrivee2.com/api/reseller/v1/enable_user_region
Haga clic para copiarLink copiado
Esta API habilita las regiones para el usuario.
Entrada
{
string email;
string region;
}
region : clave de región de la API de listar regiones. por ejemplo "TX", "LDN", etc.
La API devuelve el DN de almacenamiento (nombre de dominio) para la región habilitada a través de la cual se puede acceder al almacenamiento del usuario utilizando la clave de acceso y la clave secreta.
Parámetros de longitud
Precondición
Producción
En caso de éxito, la respuesta de la API (application/JSON) sería :
{ storage_added: true, storage_dn: /*user_storage_dns*/ }
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user_region'
--data '{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/remove_user_region
Haga clic para copiarLink copiado
Esta API elimina una región asignada al usuario.
Entrada
{
string email;
string storage_dn;
}
'storage_dn' es el dominio de almacenamiento asignado al usuario que desea eliminar.
Parámetros de longitud
Precondición
Tenga en cuenta que esta acción resultará en la eliminación de los datos del usuario.
La API permitirá eliminar la región del usuario si
El usuario está en estado deshabilitado
Producción
En caso de éxito, la API devolverá la respuesta (JSON) :
{removed : true}
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test@idrivee2.com"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_user_region'
--data '{
"email":"e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test@idrivee2.com"
}' --header 'token: <your api key>'
Método: POST
URL: https://api.idrivee2.com/api/reseller/v1/storage/set_cors
Haga clic para copiarLink copiado
Esta API actualizará la configuración CORS para una región.
Tipo de contenido : application/json
Clave API en encabezado:
'token': <your token>
Parámetro requerido:
body : {
"email": "test@test.com",
"storage_dn": "cxan.tx21.edgedrive.com",
"cors": "test1.com,test2.com,test3.com",
}
Parámetros requeridos: email,storage_dn,cors
ímites de longitud de los parámetros: email[255],storage_dn[128], cors (hasta 10 dominios separados por comas)
Nota: Para todos los cors, puede establecer cors en "*" que también es el cors predeterminado en todas las regiones
Producción
En caso de éxito, la API devolvería una respuesta (aplicación/JSON):
{
cors_updated: true
}
Casos de error
Ejemplo de solicitud Curl:
curl --location --request POST
https://api.idrivee2.com/api/reseller/v1/storage/set_cors\
--header 'token: <your token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"test@test.com",
"storage_dn":"cxan.tx21.edgedrive.com",
"cors":"test1.com,test2.com,test3.com",
}'
POST
https://api.idrivee2.com/api/reseller/v1/create_access_key
Haga clic para copiarLink copiado
Esta API crea una clave de acceso para el acceso al almacenamiento y devuelve el ID de la clave de acceso y la clave secreta.
Entrada
{
string email;
string storage_dn;
string name;
int permissions;
array buckets; //buckets is an optional parameter
}
Buckets: Proporcione una lista de nombres de buckets para crear una clave de acceso para los buckets especificados para acceder al almacenamiento. La entrada 'buckets' no es necesaria si la clave de acceso es para todos los buckets.
Precondición
Parámetros de longitud
Enumeración de permisos de clave de acceso:
{
0: Read access
1: Write access
2: Read/Write access
}
Producción
En caso de éxito, la API devolvería una respuesta (aplicación/JSON):
{
created: true,
data: {
access_key: /access key/
secret_key: /* secret key*/
}
}
Casos de error
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"name":"myaccesskeyname",
"permissions":0
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/create_access_key'
--data '{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"name":"myaccesskeyname",
"permissions":0
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/list_access_keys
Haga clic para copiarLink copiado
Esta API lista todas las claves de acceso para el almacenamiento.
Entrada
{
string email;
string storage_dn;
}
'storage_dn' es el dominio de almacenamiento asignado al usuario del cual desea listar todas las claves de acceso
Parámetros de longitud
Precondición
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{
'storage_dn' : /*user_storage_dns*/,
'access_keys' : [
{
'key_id' : /*key_id*/,
'name' : /*key_name*/,
'creation_date' : /*date_of_key_creation*/,
'description' : /*description_of_access_key_permissions*/
},
{...},
…
]
}
Casos de error
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"email" : "e2reseller+1@idrivee2.com",
"storage_dn" : "abcd.test.idrivee2.com"
}
Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_access_keys'
--data '{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test.idrivee2.com",
}' --header 'token:<your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/remove_access_key
Haga clic para copiarLink copiado
Esta API elimina la clave de acceso para el almacenamiento.
Entrada
{
string email;
string storage_dn;
string access_key;
}
Parámetros de longitud
- Email [255]
- storage_dn[128]
- access_key[128]
Precondición
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- La clave de acceso existe para el almacenamiento.
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{removed : true}
Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El almacenamiento no existe.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Usuario deshabilitado.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - La clave de acceso no existe.
{
error:{
type: 'invalid_request_error',
code: 'access_key_non_existant',
message: 'Access key does not exist, please provide a valid access key'
}
}
- La cuenta no existe.
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"access_key":"<ACCESS-KEY-ID>"
}
Ejemplo de solicitud Curl:
curl --location --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_access_key'
--data '{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"access_key":"<your access key>"
}' --header 'token: <your api key>'
Operaciones de marca blanca
- Agregar CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/add
Haga clic para copiarLink copiado
Esta API agrega CNAME para el DNS de almacenamiento especificado.
Entrada
{
string email;
string storage_dn;
string cname;
string public_key;
string private_key;
string file_index;
string passphrase; // optional, need to be sent only in case of encrypted private key
}'storage_dn' es el dominio de almacenamiento asignado al usuario.
'CNAME' es el nuevo CNAME que se debe asignar.
'file_index' es un parámetro opcional.
Parámetros de longitud
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Precondición
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- El storage_dn debe ser el endpoint del inquilino obtenido de la API List User Enabled Regions.
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{ 'cname_added' : true }Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El CNAME no se puede usar
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - El dominio de almacenamiento no existe si el DNS de almacenamiento es incorrecto
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Si CNAME ya está configurado
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configure'
}
} - CNAME o certificados inválidosSi las claves públicas privadas son incorrectas
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
}
- La cuenta no existe.
- Error del servidor (HTTP 500)
- No se puede procesar esta solicitud
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - No se encontraron datos para el dns indicado
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- No se puede procesar esta solicitud
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname'
--data'{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}'--header 'token:<your api key>' - Listar CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname
Haga clic para copiarLink copiado
Esta API lista todos los CNAMEs para el almacenamiento.
Entrada
{
string email;
string storage_dn;
}'storage_dn' es el dominio de almacenamiento asignado al usuario del cual desea enumerar todos los CNAMEs
Parámetros de longitud
- email[255]
- storage_dn[128]
Precondición
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- El storage_dn debe ser el punto final del inquilino obtenido de la API Listar regiones habilitadas para el usuario.
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{
'cname_list' : [
{
file_index: /*file_index*/,
cname: /*cname*/,
certificate_info: /*isValidSsl.certInfo*/
creation_date: /*creation_date*/
}
{...},
]
}
Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Usuario deshabilitado.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- La cuenta no existe.
- Error del servidor (HTTP 500)
- No se puede procesar esta solicitud
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - No se encontraron datos para el dns indicado
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- No se puede procesar esta solicitud
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname'
--data'{
email: "e2reseller+1@idrivee2.com",
storage_dn: abcd.test.idrivee2.com,
}'--header 'token:<your api key>' - Actualizar CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/update
Haga clic para copiarLink copiado
Esta API actualiza el CNAME para el DNS de almacenamiento especificado.
Entrada
{
string region_key;
string email;
string storage_dn;
string cname;
string public_key;
string private_key;
string file_index;
string passphrase; // optional, need to be sent only in case of encrypted private key
}'storage_dn' es el dominio de almacenamiento asignado al usuario.
'CNAME' es el nuevo CNAME que debe reemplazar al CNAME ya existente.
'file_index' es un parámetro opcional.
Parámetros de longitud
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Precondición
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- El storage_dn debe ser el punto final del inquilino obtenido de la API Listar regiones habilitadas para el usuario.
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{ 'cname_updated' : true }Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - El CNAME no se puede usar si el CNAME es un dominio de idrive
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - El dominio de almacenamiento no existe si storage_dns es incorrecto
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Si storage_dn es incorrecto
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - No se puede acceder al servidor de almacenamiento. El dominio no existe. Si el almacenamiento _dns no está disponible.
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - Si CNAME ya está configurado
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configured'
}
} - CNAME o certificados no válidosSi las claves públicas o privadas son incorrectas
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
} - Usuario deshabilitado
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- La cuenta no existe.
- Error del servidor (HTTP 500)
- No se puede procesar esta solicitud
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - No se encontraron datos para el dns indicado
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- No se puede procesar esta solicitud
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname/update
--data'{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}'--header 'token:<your api key>' - Eliminar CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/remove
Haga clic para copiarLink copiado
Esta API elimina CNAME para el DNS de almacenamiento.
Entrada
{
string email;
string storage_dn;
string cname;
}'storage_dn' es el dominio de almacenamiento asignado al usuario.
CNAME: proporcione el CNAME que se debe eliminar.
Parámetros de longitud
- email[255]
- storage_dn[128]
- CNAME[128]
Precondición
- Usuario registrado/creado y habilitado.
- Almacenamiento asignado al usuario.
- CNAME debe estar mapeado al dominio de almacenamiento.
- El storage_dn debe ser el endpoint del inquilino obtenido de la API Listar regiones habilitadas del usuario.
Producción
En caso de éxito, la API devolvería Respuesta (aplicación/JSON):
{ 'cname_removed' : true }Casos de error
- Solicitud inválida (HTTP 403)
- La cuenta no existe.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Usuario deshabilitado
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - No se puede usar CNAME
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - No existe el dominio de almacenamiento
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - No se puede alcanzar el servidor de almacenamiento
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - No existe CNAME para el dominio de almacenamiento
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'cannot get cname details'
}
} - No se pudo eliminar CNAMENo se puede eliminar CNAME
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
}
- La cuenta no existe.
- Error del servidor (HTTP 500)
- No se puede procesar esta solicitud
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - No se encontraron datos para el dns indicado
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- No se puede procesar esta solicitud
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname/remove
--data'{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io"
}'--header 'token:<your api key>'
Operaciones de Subusuario
La API de Subusuario de IDrive® e2 está disponible para cuentas de distribuidor. Un administrador de distribuidor puede invocar estas APIs en nombre de cualquier usuario bajo su cuenta. Es decir, el administrador de distribuidor puede usar su clave API para realizar operaciones de gestión de subusuarios para cualquiera de sus usuarios asociados.
Para habilitar esta funcionalidad, todas las solicitudes de API deben incluir un parámetro adicional obligatorio: admin_email. Sin la inclusión del parámetro admin_email en el cuerpo de la solicitud, las APIs no procesarán solicitudes realizadas por cuentas de distribuidor.
Enumeraciones:
Permisos de Subusuario:
{
0: Read access,
1: Write access,
2: Read/Write access
}
- Invitar subusuario
PUT
https://api.idrivee2.com/api/subusers/v1/invite
Haz clic para copiarEnlace copiado
Esta API envía una invitación para crear una cuenta de subusuario al correo electrónico del subusuario mencionado en la solicitud.
Entrada
string subuser_email;
boolean disable_delete_object; // optional
int permissions;
boolean is_admin;
boolean sso_login; // optional
boolean allow_session_timeout_settings;
int idle_timeout;
boolean concurrent_sessions;
boolean allow_concurrent_session_settings;
Object[] storage_access; // optional
string admin_email;
Nota:
- "subuser_email" - la dirección de correo electrónico del subusuario al que desea enviar la invitación
- "disable_delete_object" - un booleano que permite al subusuario realizar la eliminación de objetos si se envía como false, el valor predeterminado es true
- "pemissions" - un parámetro enum donde 0 = permiso solo de lectura, 1 = permiso solo de carga y 2 = permisos de lectura y escritura
- "is_admin" - un booleano que se utiliza para convertir al subusuario en un subusuario administrador si se envía como true. Establecer esta bandera en true otorgará todos los permisos de acceso al almacenamiento (Lectura y Escritura) a los subusuarios.
- "sso_login" - un booleano que establece si el inicio de sesión SSO está habilitado para el subusuario o no
- "allow_session_timeout_settings" - un booleano que permite al subusuario configurar los ajustes de tiempo de espera de sesión si se envía como true
- "idle_timeout" - si el usuario administrador desea configurar el tiempo de espera de la sesión (en segundos) para los subusuarios. El valor máximo permitido es 3600 segundos (1 hora)
- "concurrent_sessions" - un booleano que permite al subusuario tener múltiples sesiones concurrentes si se envía como true
- "allow_concurrent_session_settings" - un booleano que permite al subusuario configurar los ajustes de sesiones concurrentes si se envía como true
- "storage_access" - un arreglo de objetos de permisos, si el administrador desea que el subusuario tenga acceso solo a ciertos buckets. Por ejemplo, si el usuario administrador quiere que el subusuario tenga acceso a "bucket1" y "bucket2" en la Región de Chicago y "bucket3" y "bucket4" en la región de Irlanda, el administrador debe establecer el arreglo storage_access de la siguiente manera:
[
{
"storage_dn": "h4l1.ch.idrivee2-29.com", // Punto final S3 de su región de Chicago
"buckets": [
"bucket1", "bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com", // Punto final S3 de su región de Irlanda
"buckets": [
"bucket3", "bucket4"
]
}
]Tenga en cuenta que "storage_access" es un parámetro opcional y solo debe enviarse si el usuario administrador desea controlar el acceso a nivel de bucket para el subusuario.
- email[255]
- Si supera el límite de número de subusuarios permitidos para su cuenta
Response (application/JSON) :{
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: <information about your limit>
}
} -
Si sso_login se envía como true y SSO no está configurado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"disable_delete_object": true,
"permissions": 0,
"is_admin": false,
"sso_login": false,
"allow_session_timeout_settings": false,
"idle_timeout": 300,
"concurrent_sessions": true,
"allow_concurrent_session_settings": false,
"admin_email": "abc@example.com"
}Ejemplo de solicitud Curl:
curl --request PUT 'https://api.idrivee2.com/api/subusers/v1/invite'
--data '{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"disable_delete_object": true,
"permissions": 0,
"is_admin": false,
"sso_login": false,
"allow_session_timeout_settings": false,
"idle_timeout": 300,
"concurrent_sessions": true,
"allow_concurrent_session_settings": false,
"admin_email": "abc@example.com"
}' --header 'token: <your api key>' -
Listar todos los subusuarios
POST
https://api.idrivee2.com/api/subusers/v1/list
Haga clic para copiarLink copiado
Esto muestra todos los subusuarios agregados bajo su perfil.
Entrada
string admin_email;
Producción
La API devuelve un array de los usuarios agregados bajo su perfil.
La estructura de la respuesta es la siguiente:struct response {
List users[];
}
struct users {
string email;
string first_name;
string last_name;
Object[] storage_access;
string account_creation_timestamp;
string invite_url;
bool is_admin;
bool signed_up;
int permissions;
bool disable_delete_object;
bool sso_login;
int idle_timeout;
bool concurrent_sessions;
bool allow_session_timeout_settings;
bool allow_concurrent_session_settings;
}Nota
Los parámetros del objeto de usuario corresponden a los parámetros del cuerpo de la solicitud, explicados en la API de invitación. Consulte la API de invitación para obtener más información.Ejemplo de solicitud Curl
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/list'
--data '{
"admin_email": "abc@example.com"
}'
--header 'token: <your api key>' -
Crear subusuario
PUT
https://api.idrivee2.com/api/subusers/v1/create_account
Haga clic para copiarLink copiado
Esto crea una cuenta de subusuario que estará vinculada a su cuenta.
Entrada
string subuser_email;
boolean disable_delete_object; // optional
int permissions;
boolean is_admin;
boolean sso_login; // optional
boolean allow_session_timeout_settings;
int idle_timeout;
boolean concurrent_sessions;
boolean allow_concurrent_session_settings;
Object[] storage_access; // optional
string admin_email;
string first_name;
string last_name; // optional
string password; // base64 encoded string
Nota
Puede referirse a la API de Invitar subusuario para obtener detalles de los parámetros del cuerpo de la solicitud.Parámetros de longitud
- Email [255]
- Password [100]
- First Name [64]
- Last Name [64]
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Caso de error específico
- Si excede el límite de número de subusuarios permitidos para su cuenta
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'information about your limit'
}
} - El almacenamiento no existe.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - El usuario ya existe
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
} -
Si sso_login se envía como true y SSO no está configurado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"disable_delete_object": true,
"permissions": 0,
"is_admin": false,
"sso_login": false,
"allow_session_timeout_settings": false,
"idle_timeout": 300,
"concurrent_sessions": true,
"allow_concurrent_session_settings": false,
"first_name": "jack",
"last_name": "russell",
"password": "dGVzdDEyMw==",
"admin_email": “abc@example.com”
}Ejemplo de solicitud Curl:
curl --request PUT 'https://api.idrivee2.com/api/subusers/v1/create_account'
--data '{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"disable_delete_object": true,
"permissions": 0,
"is_admin": false,
"sso_login": false,
"allow_session_timeout_settings": false,
"idle_timeout": 300,
"concurrent_sessions": true,
"allow_concurrent_session_settings": false,
"first_name": "jack",
"last_name": "russell",
"password": "dGVzdDEyMw==",
"admin_email": “abc@example.com”
}' --header 'token: <your api key>' - Desactivar subusuario
POST
https://api.idrivee2.com/api/subusers/v1/disable
Haga clic para copiarLink copiado
Esta API desactiva la cuenta del subusuario. Los subusuarios no podrán iniciar sesión, acceder a datos ni realizar ninguna operación.
Entrada
string subuser_email;
string admin_email;
bool email_notification; // La notificación por correo electrónico al subusuario se enviará solo si este parámetro se establece en verdadero
Parámetros de longitud
- Email [255]
Precondición
- Usuario registrado.
- Cuenta habilitada.
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Caso de error específico
- Si el subusuario no está registrado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Si la cuenta del subusuario ya está deshabilitada
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - La cuenta no existe
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/disable'
--data '{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}' --header 'token: <your api key>' - Habilitar subusuario
POST
https://api.idrivee2.com/api/subusers/v1/enable
Haga clic para copiarLink copiado
Esta API vuelve a habilitar las cuentas de subusuario deshabilitadas. Los subusuarios pueden iniciar sesión, acceder a datos y realizar operaciones normales después de ser habilitados.
Entrada
string subuser_email;
string admin_email;
bool email_notification; // La notificación por correo electrónico al subusuario se enviará solo si este parámetro se establece en verdadero
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Parámetros de longitud
- Email [255]
Precondición
- Usuario registrado/creado.
- La cuenta de usuario fue deshabilitada previamente.
Caso de error específico
- Si el subusuario no está registrado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Si la cuenta del subusuario ya está habilitada
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
} - La cuenta no existe.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/enable'
--data '{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}' --header 'token: <your api key>' - Eliminar subusuario
POST
https://api.idrivee2.com/api/subusers/v1/remove
Haga clic para copiarLink copiado
Esta API eliminará permanentemente a los usuarios de IDrive® e2.
Nota: Los datos del usuario se perderán permanentemente al realizar esta operación.Entrada
string subuser_email;
string admin_email;
bool email_notification; // La notificación por correo electrónico al subusuario se enviará solo si este parámetro se establece en verdadero
Parámetros de longitud
- Email [255]
Precondición
- El usuario debe estar deshabilitado.
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Parámetros de longitud
- Email [255]
Caso de error específico
- Si el subusuario no está registrado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
} } - Si la cuenta del subusuario no está deshabilitada
Response (application/JSON) : { error: {
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
} } - La cuenta no existe
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
} }
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/remove'
--data '{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}' --header 'token: <your api key>' - Cancelar invitación
POST
https://api.idrivee2.com/api/subusers/v1/invite/cancel
Haga clic para copiarLink copiado
Esta API cancelará la invitación enviada al subusuario.
Entrada
string subuser_email;
string admin_email;
Parámetros de longitud
- Email [255]
Precondición
- El usuario no debe estar ya registrado.
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Caso de error específico
- Si el subusuario ya está registrado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
}
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/invite/cancel'
--data '{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com"
}' --header 'token: <your api key>' - Actualizar subusuario
POST
https://api.idrivee2.com/api/subusers/v1/update
Haga clic para copiarLink copiado
Esta API actualiza el acceso, los permisos, SSO y el control de sesión de los subusuarios. La API se puede usar para actualizar tanto a los subusuarios invitados como a los registrados.
Entrada
string subuser_email;
boolean disable_delete_object; // optional
int permissions; // optional
boolean is_admin; // optional
boolean sso_login; // optional
boolean allow_session_timeout_settings; // optional
int idle_timeout; // optional
boolean concurrent_sessions; // optional
boolean allow_concurrent_session_settings; // optional
Object[] storage_access; // optional
string admin_email;
boolean expire_subuser_sessions; // optional, if true will expire existing user sessions
Nota
Puede consultar la API Invitar subusuario para obtener detalles sobre los parámetros del cuerpo de la solicitud. Solo se deben incluir en el cuerpo de la solicitud los parámetros que necesiten ser actualizados.
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:{ success: true }Parámetros de longitud
- Email [255]
Caso de error específico
- El almacenamiento no existe
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - La cuenta no existe
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Si sso_login se envía como true y SSO no está configurado
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Ejemplo de solicitud :Cuerpo (application/JSON)
{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"is_admin": false,
"sso_login": false,
"expire_subuser_sessions": false,
"admin_email": "abc@example.com"
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/update'
--data '{
"subuser_email": "abc1@example.com",
"storage_access": [
{
"storage_dn": "h4l1.ch.idrivee2-29.com",
"buckets": [
"bucket1",
"bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com",
"buckets": [
"bucket3",
"bucket4"
]
}
],
"is_admin": false,
"sso_login": false,
"expire_subuser_sessions": false,
"admin_email": "abc@example.com"
}' --header 'token: <your api key>' - Obtener registros de actividad
POST
https://api.idrivee2.com/api/subusers/v1/user_activity_history
Haga clic para copiarLink copiado
Esta API obtendrá los registros de actividad de un subusuario para un rango de fechas.
Entrada
string subuser_email;
string admin_email;
string start_date;
string end_date;
int page_no;Parámetros de longitud
- Email [255]
Nota
start_date (ISO8601) - Fecha de inicio
end_date (ISO8601) - Fecha de fin
page_no - La API está paginada con cada página que consta de 200 registros
y page_no comienza desde 1 en adelanteProducción
En caso de éxito, la respuesta de la API (aplicación/JSON) sería:struct response {
List[] logs;
struct pagination;
}
struct logs {
string timestamp;
string description;
string ip;
}
struct pagination {
int total_records;
int page_no;
int records_per_page;
}Caso de error específico
- Si el subusuario no está registrado
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - La cuenta no existe
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Ejemplo de solicitud: Cuerpo (aplicación/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}Ejemplo de solicitud Curl:
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/user_activity_history'
--data '{
"subuser_email": "abc1@example.com",
"admin_email" : "admin1@example.com",
"start_date" : "2025-04-05",
"end_date" : "2025-05-28",
"page_no" : 1
}' --header 'token: <your api key>'
Producción
Sobre la respuesta exitosa de la API (solicitud/JSON) sería:
{
result: "invite successful",
invite_url: "invitation url string"
}
Parámetros de longitud
Caso de error específico