Collection d'API pour les revendeurs
L'API e2 Reseller d'IDrive® est développée sur l'architecture REST.
L'API e2 Reseller d'IDrive® accepte les corps de requête au format 'application/JSON' et renvoie des réponses au format 'application/JSON'.
Notre API utilise le mécanisme d'authentification par clé API. Vous pouvez générer la clé API depuis la section profil du compte e2 d'IDrive®.
Ajoutez la clé API générée depuis la section profil à tous les en-têtes des appels API HTTP avec la clé 'token'.
Codes de réponse HTTP :
- 200 (Succès)
- 500 (Erreur serveur)
- 400 (Paramètres invalides)
- 401 (Non autorisé)
- 403 (Requête invalide)
Le corps de la réponse en cas d'erreur aurait la structure suivante :
Response (application/JSON) : {
error : {
string type;
string code;
string message;
}
}
Les valeurs possibles pour 'error.type' sont :
Pour plus de détails, 'error.code' et 'error.message' expliqueraient ce qui s'est mal passé.
Cas d'erreurs courants
Voici les cas d'erreurs courants qui peuvent être retournés par toutes les API détaillées ci-dessous. Les autres cas d'erreurs seront documentés avec les API spécifiques.
- Erreur serveur (HTTP 500)
Response (application/JSON) : {
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Impossible de traiter cette demande, veuillez réessayer plus tard'
}
} - Non autorisé (HTTP 401)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'unauthorized',
message: 'En-tête d'authentification manquant/invalide'
}
} - Paramètres invalides (HTTP 400)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'invalid_parameters',
message: 'Valeurs de paramètres invalides, vérifiez les erreurs pour plus de détails',
errors: [] (tableau contenant les détails de l'erreur)
}
}
AUTHORIZATION Header API Key
| Clé | token |
| Valeur | <VOTRE-CLÉ-API> |
Les énumérations utilisées dans les API sont :
Énumérations :
Autorisations de clé d'accès :
{
0: Accès en lecture,
1: Accès en écriture,
2: Accès en lecture/écriture
}
Opérations utilisateur
- Lister tous les utilisateurs
GET
https://api.idrivee2.com/api/reseller/v1/users
Cliquer pour copierLien copié
Affiche tous les utilisateurs ajoutés sous votre profil.
Vous pouvez éventuellement filtrer les utilisateurs par e-mail à l'aide d'un paramètre de requête.
Paramètres de requête (Optionnel) :
string email;
Filtre les utilisateurs par correspondance exacte de l'e-mail. Le paramètre e-mail doit être encodé en URL.
Sortie
L'API retourne un tableau des utilisateurs ajoutés sous votre profil.
La structure de la réponse est la suivante :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;
} - Inviter un utilisateur
- Quota (Go) (0 pour illimité sinon >0)
- E-mail [255]
- Requête invalide (HTTP-403)
- L'utilisateur existe déjà et est lié à votre compte.
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message: 'User already signed up'
}
} - E-mail déjà utilisé (un compte indépendant existe et n'est pas lié à votre compte).
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- Nombre maximum de sous-comptes déjà invités/inscrits.
{
error:{
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'Maximum limit reached. Please contact support.
}
}
- L'utilisateur existe déjà et est lié à votre compte.
- Créer un utilisateur
- Quota (Go) (0 pour illimité, sinon >0)
- Le mot de passe est une chaîne encodée en base64.
- email_notification : si fourni et défini sur false, aucune notification par e-mail ne sera envoyée à l'adresse e-mail spécifiée.
- E-mail [255]
- Mot de passe [100]
- Prénom [64]
- Nom [64]
- Requête invalide (HTTP-403)
- L'utilisateur existe déjà et est lié à votre compte.
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message : 'User already signed up'
}
} -
E-mail déjà utilisé (un compte indépendant existe et n'est pas lié à votre compte).
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- L'utilisateur existe déjà et est lié à votre compte.
- Modifier l'utilisateur
- email (string, requis)
Adresse e-mail de l'utilisateur à mettre à jour - quota (int, optionnel)
- Quota de stockage en Go
Quota (Go) (0 pour illimité, sinon >0) - email_notification (bool, optionnel)
Si défini sur false, les notifications par e-mail ne seront pas envoyées à l'utilisateur - Requête invalide (HTTP-403)
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message : "Account with this email does not exist'
}
} -
Non autorisé (tentative de mise à jour invalide)
{
error:{
type: 'invalid_request_error',
code: 'not_allowed',
message: 'This operation is not allowed. Please contact support.'
}
} - email_notification ne peut être modifié que pour les utilisateurs inscrits et les utilisateurs non gérés
- La mise à jour de email_notification pour les utilisateurs gérés ou non inscrits retournera une erreur not_allowed
- quota peut être mis à jour pour tous les utilisateurs
- Désactiver l'utilisateur
- E-mail [255]
- Utilisateur inscrit.
- Compte activé.
- Requête invalide (HTTP 403)
- Compte déjà désactivé.
error:{
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - Le compte n'existe pas.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- Compte déjà désactivé.
- Activer l'utilisateur
- Email [255]
- L'utilisateur s'est inscrit/créé.
- Le compte utilisateur a été désactivé précédemment.
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le compte est déjà activé.
error:{
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
}
- Le compte n'existe pas.
- Supprimer l'utilisateur
- Email [255]
- L'utilisateur doit être désactivé.
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message:'Account with this email does not exist'
}
} - Le compte n'est pas désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
}
}
- Le compte n'existe pas.
- Annuler l'invitation
- Email [255]
- Invitation non supprimée
Se produit lorsque l'adresse e-mail fournie est invalide, déjà inscrite ou non associée au compte du revendeur.
Réponse
{
"user_removed": false
} - Échec du traitement de la requête
Se produit lorsque la requête API est invalide ou ne peut pas être traitée.
Réponse
{
"message": "Request processing failed"
} - Réinitialisation du mot de passe
- Email [255]
- Si le sous-utilisateur n'existe pas
Réponse (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Si le sous-utilisateur n'est pas inscrit
Réponse (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Si le sous-utilisateur est géré
Réponse (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'not_allowed',
message: 'This operation is not allowed. Please contact support.',
}
} - Obtenir l'utilisation du stockage
- Email [255]
- L'utilisateur doit être inscrit.
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Le compte avec cet e-mail n'existe pas'
}
}
- Le compte n'existe pas.
- Obtenir les journaux d'activité
- Email [255]
- Le compte n'existe pas.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Le compte avec cet e-mail n'existe pas'
}
}
Remarque :
storage_used (octets)
storage_quota (Go) (0 : illimité sinon > 0)
invite_url si non nulle, peut être utilisée par l'utilisateur invité pour s'inscrire
Exemples de requêtes :
GET /api/reseller/v1/users
GET /api/reseller/v1/users?email=user%40example.com
Exemple de requête Curl :
Obtenir tous les utilisateurs :
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/users' --header 'token: <your api key>'
Obtenir un utilisateur par e-mail :
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/users?email=user%40example.com'' --header 'token: <your api key>'
PUT
https://api.idrivee2.com/api/reseller/v1/invite
Cliquer pour copierLien copié
Cette API invite un compte utilisateur sur IDrive® e2 qui sera lié à votre compte. Cette API n'enverra pas d'e-mail, vous serez responsable du partage de l'URL avec l'utilisateur
Entrée
string email;
int quota; //optionnel
Remarque :
Paramètres de longueur
Sortie
En cas de succès, la réponse API (application/JSON) serait :
{ email: abc@example.com, invite_url: signup_invite_url_response }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com,"
"quota": 1024
}
Exemple de requête Curl :
curl --request PUT 'https://api.idrivee2.com/api/reseller/v1/invite'
--data '{
"email": "e2reseller+1@idrivee2.com",
"quota": 1024
}' --header 'token: <your api key>'
PUT
https://api.idrivee2.com/api/reseller/v1/create_user
Cliquer pour copierLien copié
Cette API crée un compte utilisateur sur IDrive® e2 qui sera lié à votre compte.
Entrée
string email;
string password; //chaîne encodée en base64
string first_name;
string last_name; //last_name est un paramètre optionnel
int quota;
bool email_notification; //email_notification est un paramètre optionnel
Remarque :
Paramètres de longueur
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{ user_created: true }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"password":"dGVzdDEyMw==",
"first_name":"dev",
"quota": 1024,
"email_notification": false
}
Exemple de requête 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/edit_user
Cliquer pour copierLien copié
Cette API vous permet de mettre à jour un compte utilisateur existant lié à votre compte revendeur.
Entrée
string email; // requis
int quota; // 0 = illimité, >0 = Go
bool email_notification; //optionnel
Paramètres
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{ user_updated: true }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email": "shane@idrive.com",
"quota": 12,
"email_notification": true
}
Exemple de requête Curl :
curl --request POST
'https://api.idrivee2.com/api/reseller/v1/edit_user' \
--header 'Content-Type: application/json' \
--header 'token: <your_api_key>' \
--data '{
"email":"shane@idrive.com",
"quota":"12",
"email_notification": true
}'
Remarque :
POST
https://api.idrivee2.com/api/reseller/v1/disable_user
Cliquer pour copierLien copié
Cette API désactive le compte utilisateur. Les utilisateurs ne pourront pas se connecter, accéder aux données ni effectuer d'opérations.
Entrée
string email;
Paramètres de longueur
Précondition
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{ user_disabled : true }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Exemple de requête 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
Cliquer pour copierLien copié
Cette API réactive les comptes utilisateurs désactivés. Les utilisateurs peuvent se connecter, accéder aux données et effectuer des opérations normales.
Entrée
string email;
Paramètres de longueur
Précondition
Sortie
En cas de succès, la réponse API (application/JSON) sera :
{ user_enabled : true }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Exemple de requête 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
Cliquer pour copierLien copié
Cette API supprimera définitivement les utilisateurs d'IDrive® e2.
Remarque : Les données de l'utilisateur seront perdues définitivement lors de cette opération.
Entrée
string email;
Paramètres de longueur
Précondition
Sortie
En cas de succès, la réponse API (JSON) sera :
{ user_removed : true }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Exemple de requête 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/invite/cancel
Cliquer pour copierLien copié
Cette API annulera le compte utilisateur invité sur IDrive® e2 qui sera lié à votre compte.
Entrée
string email;
Paramètres de longueur
Sortie
En cas de succès, la réponse de l'API (application/JSON) serait :
{ user_removed : true }
Cas d'erreur
Exemple de requête Curl :
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/invite/cancel'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
Obtenir le lien de réinitialisation du mot de passe du sous-utilisateur
POST
https://api.idrivee2.com/api/reseller/v1/subuser/reset_password_link
Click to copyLink copied
This API generates a password reset link for a reseller subuser. The link is returned in the API response with 1-hour token expiry.
Entrée
string email;
Remarque:
"email" - l'adresse e-mail du sous-utilisateur pour lequel vous souhaitez générer le lien de réinitialisation du mot de passe. Le sous-utilisateur doit appartenir au revendeur demandeur et être inscrit, mais non géré.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{
"reset_link": "https://domain.com/change_password?link=&expire_session=true&type=0",
"email": "subuser@example.com"
}
Paramètres de longueur
Erreur d'authentification pour une clé API invalide
Réponse (application/JSON) : {
error:{
type: 'authentication_error',
code: 'unauthorized',
message: 'Authentication header missing/invalid',
}
}
Exemple de requête : corps (application/JSON)
{
"email":"subuser@example.com",
}
Exemple de requête Curl :
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/subuser/reset_password_link'
--data '{
"email":"subuser@example.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/usage_stats
Click to copyLink copied
Cette API renvoie le tableau d'utilisation d'IDrive® e2 pour l'utilisateur fourni.
Entrée
{
string email;
string date_from;
string date_to;
}
date_from(ISO8601)(date de début)
date_to(ISO8601) (date de fin)
Paramètres de longueur
Préconditions
Sortie
Tableau de structures usage_stats
struct usage_stats{
double downloads;
double uploads;
double disk_used;
string date;
}
downloads, uploads, disk_used sont en octets
Cas d'erreur
Exemple de requête : corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"date_to":"2022-08-31",
"date_from":"2022-08-01"
}
Exemple de requête 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
Click to copyLink copied
Cette API récupérera les journaux d'activité d'un utilisateur pour une plage de dates.
Entrée
string email;
string start_date;
string end_date;
int page_no;
Paramètres de longueur
Note
start_date (ISO8601) - Date de début
end_date (ISO8601) - Date de fin
page_no - L'API est paginée, chaque page contenant 200 enregistrements
et page_no commence à 1
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
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;
}
Cas d'erreur spécifique
Exemple de requête : corps (application/JSON)
{
"email": "abc1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}
Exemple de requête 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>'
Opérations de stockage
- Lister les régions
GET
https://api.idrivee2.com/api/reseller/v1/regions
Cliquer pour copierLien copié
Cette API renvoie un tableau de régions pour IDrive® e2.
Sortie
struct regions{
string region_key;
string region_name;
string country;
string region_code;
bool active;
bool hdd_storage;
string cors;
}Remarque : Seules les régions actives peuvent être activées pour l'utilisateur.
Exemple de requête : Lister les régions
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/regions' --header 'token: <your api key>' - Activer une région pour l'utilisateur
- Email [255]
- Region[5]
- Compte utilisateur existant.
- La région ne doit pas déjà être activée pour l'utilisateur.
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - La région de stockage est déjà activée pour l'utilisateur.
{
error:{
type: 'invalid_request_error',
code: 'region_already_enabled',
message: 'Storage region already enabled for user'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - Le paiement pour votre compte a échoué.
{
error:{
type: 'invalid_request_error',
code: 'payment_failed',
message: 'Account expired please update payment info'
}
}
- Le compte n'existe pas.
- Lister les régions activées de l'utilisateur
POST
https://api.idrivee2.com/api/reseller/v1/list_user_regions
Cliquer pour copierLien copié
Cette API liste toutes les régions activées de l'utilisateur.
Entrée
{
string email;
}Longueur des paramètres
- Email [255]
Précondition
- Compte utilisateur existant.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{
user_regions: /*lists user enabled regions*/
}Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Le compte n'existe pas.
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}Exemple de requête 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>' - Supprimer la région assignée à l'utilisateur
- Email [255]
- Storage_dn[128]
- Utilisateur inscrit.
- Le stockage doit être assigné à l'utilisateur.
- Aucun compartiment créé par l'utilisateur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le stockage n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Le stockage n'est pas vide.
{
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'
}
}
- Le compte n'existe pas.
- Mettre à jour les paramètres cors pour la région de l'utilisateur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le stockage n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Paramètres cors invalides.
{
error:{
type: 'invalid_request_error',
code: 'invalid_cors_policy',
message: 'The cors policy is invalid' / 'Maximum 10 cors are allowed'
}
}
- Le compte n'existe pas.
- Ajouter une clé d'accès
- Utilisateur inscrit/créé et activé.
- DN de stockage assigné à l'utilisateur concerné.
- Les compartiments ne doivent pas être vides s'ils sont fournis.
- Email [255]
- storage_dn[128]
- Name[64]
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le stockage n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Le compte n'existe pas.
- Lister les clés d'accès
- email [255]
- storage_dn[128]
- Utilisateur inscrit/créé et activé.
- Stockage assigné à l'utilisateur.
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le stockage n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled '
}
}
- Le compte n'existe pas.
POST
https://api.idrivee2.com/api/reseller/v1/enable_user_region
Cliquer pour copierLien copié
Cette API active les régions pour l'utilisateur.
Entrée
{
string email;
string region;
}
region : region_key provenant de l'API de liste des régions. ex. "TX", "LDN", etc.
L'API retourne le DN de stockage (nom de domaine) pour la région activée, permettant d'accéder au stockage utilisateur via la clé d'accès et la clé secrète.
Longueur des paramètres
Précondition
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{ storage_added: true, storage_dn: /*user_storage_dns*/ }
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}
Exemple de requête 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
Cliquer pour copierLien copié
Cette API supprime une région assignée à l'utilisateur.
Entrée
{
string email;
string storage_dn;
}
'storage_dn' est le domaine de stockage assigné à l'utilisateur que vous souhaitez supprimer.
Longueur des paramètres
Précondition
Veuillez noter que cette action entraînera la suppression des données de l'utilisateur.
L'API vous permettra de supprimer la région utilisateur si
L'utilisateur est dans un état désactivé
Sortie
En cas de succès, l'API retournera la réponse (JSON) :
{removed : true}
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test@idrivee2.com"
}
Exemple de requête 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éthode : POST
URL : https://api.idrivee2.com/api/reseller/v1/storage/set_cors
Cliquer pour copierLien copié
Cette API mettra à jour les paramètres cors pour une région.
Type de contenu : application/json
Clé API d'en-tête :
'token': <your token>
Paramètre requis :
body : {
"email": "test@test.com",
"storage_dn": "cxan.tx21.edgedrive.com",
"cors": "test1.com,test2.com,test3.com",
}
Paramètres requis : email, storage_dn, cors
Limites sur la longueur des paramètres : email[255], storage_dn[128], cors (jusqu'à 10 domaines séparés par des virgules)
REMARQUE : Pour tous les cors, vous pouvez définir cors sur "*" qui est également le cors par défaut sur toutes les régions
Sortie
En cas de succès, l'API retournerait la réponse (application/JSON) :
{
cors_updated: true
}
Cas d'erreur
Exemple de requête 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
Cliquer pour copierLien copié
Cette API crée une clé d'accès pour accéder au stockage et retourne l'identifiant de la clé d'accès et la clé secrète.
Entrée
{
string email;
string storage_dn;
string name;
int permissions;
array buckets; //buckets est un paramètre facultatif
}
Compartiments : Fournissez une liste de noms de compartiments pour créer une clé d'accès pour des compartiments spécifiques afin d'accéder au stockage. La saisie de 'buckets' n'est pas requise si la clé d'accès est destinée à tous les compartiments.
Précondition
Longueur des paramètres
Énumération des permissions de la clé d'accès :
{
0: Accès en lecture
1: Accès en écriture
2: Accès en lecture/écriture
}
Sortie
En cas de succès, l'API retournerait la réponse (application/JSON) :
{
created: true,
data: {
access_key: /access key/
secret_key: /* secret key*/
}
}
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"name":"myaccesskeyname",
"permissions":0
}
Exemple de requête 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
Cliquer pour copierLien copié
Cette API liste toutes les clés d'accès pour le stockage.
Entrée
{
string email;
string storage_dn;
}
'storage_dn' est le domaine de stockage assigné à l'utilisateur dont vous souhaitez lister toutes les clés d'accès
Longueur des paramètres
Précondition
Sortie
En cas de succès, l'API retournerait la réponse (application/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*/
},
{...},
…
]
}
Cas d'erreur
Exemple de requête : Corps (application/JSON)
{
"email" : "e2reseller+1@idrivee2.com",
"storage_dn" : "abcd.test.idrivee2.com"
}
Exemple de requête 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
Click to copyLink copied
Cette API supprime la clé d'accès pour le stockage.
Entrée
{
string email;
string storage_dn;
string access_key;
}
Paramètres de longueur
- Email [255]
- storage_dn[128]
- access_key[128]
Précondition
- Utilisateur inscrit/créé et activé.
- Stockage attribué à l'utilisateur.
- La clé d'accès existe pour le stockage.
Sortie
En cas de succès, l'API retourne une réponse (application/JSON) :
{removed : true}
Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le stockage n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - La clé d'accès n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'access_key_non_existant',
message: 'Access key does not exist, please provide a valid access key'
}
}
- Le compte n'existe pas.
Exemple de requête : Corps (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"access_key":"<ACCESS-KEY-ID>"
}
Exemple de requête 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":"<votre clé d'accès>"
}' --header 'token: <votre clé API>'
Opérations de Marque Blanche
- Ajouter des CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/add
Cliquer pour copierLien copié
Cette API ajoute un CNAME pour le DNS de stockage spécifié.
Entrée
{
string email;
string storage_dn;
string cname;
string public_key;
string private_key;
string file_index;
string passphrase; // facultatif, doit être envoyé uniquement en cas de clé privée chiffrée
}'storage_dn' est le domaine de stockage attribué à l'utilisateur.
'CNAME' est le nouveau CNAME à attribuer.
'file_index' est un paramètre facultatif.
Paramètres de longueur
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Précondition
- Utilisateur inscrit/créé et activé.
- Stockage attribué à l'utilisateur.
- Le storage_dn doit être le point de terminaison du locataire obtenu depuis l'API Lister les régions activées de l'utilisateur.
Sortie
En cas de succès, l'API retourne une réponse (application/JSON) :
{ 'cname_added' : true }Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le CNAME ne peut pas être utilisé
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Le domaine de stockage n'existe pas - Si storage_dns est incorrect
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Si le CNAME est déjà configuré
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configure'
}
} - CNAME ou certificats invalides - Si les clés publiques/privées sont incorrectes
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
}
- Le compte n'existe pas.
- Erreur serveur (HTTP 500)
- Impossible de traiter cette requête
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Données introuvables pour le DNS donné
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Impossible de traiter cette requête
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Exemple de requête 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:<votre clé api>' - Lister les CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname
Cliquer pour copierLien copié
Cette API liste tous les CNAMEs pour le stockage.
Entrée
{
string email;
string storage_dn;
}'storage_dn' est le domaine de stockage attribué à l'utilisateur dont vous souhaitez lister tous les CNAMEs
Paramètres de longueur
- email[255]
- storage_dn[128]
Précondition
- Utilisateur inscrit/créé et activé.
- Stockage attribué à l'utilisateur.
- Le storage_dn doit être le point de terminaison du locataire obtenu depuis l'API Lister les régions activées de l'utilisateur.
Sortie
En cas de succès, l'API retourne une réponse (application/JSON) :
{
'cname_list' : [
{
file_index: /*file_index*/,
cname: /*cname*/,
certificate_info: /*isValidSsl.certInfo*/
creation_date: /*creation_date*/
}
{...},
]
}
Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Utilisateur désactivé.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Le compte n'existe pas.
- Erreur serveur (HTTP 500)
- Impossible de traiter cette requête
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Données introuvables pour le DNS donné
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Impossible de traiter cette requête
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
}Exemple de requête 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:<votre clé api>' - Mettre à jour les CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/update
Cliquer pour copierLien copié
Cette API met à jour le CNAME pour le DNS de stockage spécifié.
Entrée
{
string region_key;
string email;
string storage_dn;
string cname;
string public_key;
string private_key;
string file_index;
string passphrase; // optionnel, à envoyer uniquement en cas de clé privée chiffrée
}'storage_dn' est le domaine de stockage assigné à l'utilisateur.
'CNAME' est le nouveau CNAME qui doit remplacer le CNAME existant.
'file_index est un paramètre optionnel.
Paramètres de longueur
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Précondition
- Utilisateur inscrit/créé et activé.
- Stockage assigné à l'utilisateur.
- Le storage_dn doit être le point de terminaison locataire obtenu depuis l'API Lister les régions activées de l'utilisateur.
Sortie
En cas de succès, l'API retournera une réponse (application/JSON) :
{ 'cname_updated' : true }Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Le CNAME ne peut pas être utilisé si le CNAME est un domaine idrive
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Le domaine de stockage n'existe pas si storage_dns est incorrect
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Si storage_dn est incorrect
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Le serveur de stockage est inaccessible, le domaine n'existe pas si storage_dns est indisponible
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - Si le CNAME est déjà configuré
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configured'
}
} - CNAME ou certificats invalides si les clés publiques/privées sont incorrectes
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
} - Utilisateur désactivé
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Le compte n'existe pas.
- Erreur serveur (HTTP 500)
- Impossible de traiter cette requête
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Données introuvables pour le dns donné
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Impossible de traiter cette requête
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Exemple de requête 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:<votre clé api>' - Supprimer des CNAMEs
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/remove
Cliquer pour copierLien copié
Cette API supprime le CNAME pour le dns de stockage.
Entrée
{
string email;
string storage_dn;
string cname;
}'storage_dn' est le domaine de stockage attribué à l'utilisateur.
CNAME : fournir le CNAME qui doit être supprimé.
Paramètres de longueur
- email[255]
- storage_dn[128]
- CNAME[128]
Précondition
- Utilisateur inscrit/créé et activé.
- Stockage attribué à l'utilisateur.
- Le CNAME doit être mappé au domaine de stockage.
- Le storage_dn doit être le point de terminaison du locataire obtenu depuis l'API Lister les régions activées de l'utilisateur.
Sortie
En cas de succès, l'API retourne une réponse (application/JSON) :
{ 'cname_removed' : true }Cas d'erreur
- Requête invalide (HTTP 403)
- Le compte n'existe pas.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Utilisateur désactivé
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - Le CNAME ne peut pas être utilisé
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Le domaine de stockage n'existe pas
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Le serveur de stockage est inaccessible
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - Le CNAME n'existe pas pour le domaine de stockage
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'cannot get cname details'
}
} - Échec de la suppression du CNAME - Impossible de supprimer le CNAME
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
}
- Le compte n'existe pas.
- Erreur serveur (HTTP 500)
- Impossible de traiter cette demande
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Données introuvables pour le DNS donné
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Impossible de traiter cette demande
Exemple de requête : Corps (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io"
}Exemple de requête 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:<votre clé API>'
Opérations sur les sous-utilisateurs
L'API sous-utilisateur IDrive® e2 est prise en charge pour les comptes revendeurs. Un administrateur revendeur peut invoquer ces API au nom de tout utilisateur de son compte. En d'autres termes, l'administrateur revendeur peut utiliser sa clé API pour effectuer des opérations de gestion des sous-utilisateurs pour n'importe lequel de ses utilisateurs associés.
Pour activer cette fonctionnalité, toutes les requêtes API doivent inclure un paramètre obligatoire supplémentaire : admin_email. Sans l'inclusion du paramètre admin_email dans le corps de la requête, les API ne traiteront pas les requêtes effectuées par les comptes revendeurs.
Énumérations :
Permissions des sous-utilisateurs :
{
0: Accès en lecture,
1: Accès en écriture,
2: Accès en lecture/écriture
}
- Inviter un sous-utilisateur
PUT
https://api.idrivee2.com/api/subusers/v1/invite
Cliquer pour copierLien copié
Cette API envoie une invitation de création de compte sous-utilisateur à l'adresse e-mail du sous-utilisateur mentionnée dans la requête.
Entrée
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;
Remarque :
- "subuser_email" - l'adresse e-mail du sous-utilisateur à qui vous souhaitez envoyer l'invitation
- "disable_delete_object" - un booléen qui permet au sous-utilisateur d'effectuer la suppression d'objets s'il est envoyé comme faux, la valeur par défaut est vrai
- "pemissions" - un paramètre enum où 0 = permission en lecture seule, 1 = permission de téléversement uniquement et 2 = permissions de lecture et d'écriture
- "is_admin" - un booléen utilisé pour définir le sous-utilisateur comme sous-utilisateur administrateur s'il est envoyé comme vrai. Définir cet indicateur sur vrai donnera tous les accès au stockage (lecture et écriture) aux sous-utilisateurs.
- "sso_login" - un booléen qui définit si la connexion SSO est activée pour le sous-utilisateur ou non
- "allow_session_timeout_settings" - un booléen qui permet au sous-utilisateur de configurer les paramètres d'expiration de session s'il est envoyé comme vrai
- "idle_timeout" - si l'administrateur souhaite configurer l'expiration de session (en secondes) pour les sous-utilisateurs. La valeur maximale autorisée est de 3600 secondes (1 heure)
- "concurrent_sessions" - un booléen qui permet au sous-utilisateur d'avoir plusieurs sessions simultanées s'il est envoyé comme vrai
- "allow_concurrent_session_settings" - un booléen qui permet au sous-utilisateur de configurer les paramètres de sessions simultanées multiples s'il est envoyé comme vrai
- "storage_access" - un tableau d'objets de permission, si l'administrateur souhaite que le sous-utilisateur n'ait accès qu'à des compartiments limités. Par exemple, si l'administrateur souhaite que le sous-utilisateur ait accès à « bucket1 » et « bucket2 » dans la région de Chicago et à « bucket3 » et « bucket4 » dans la région d'Irlande, l'administrateur doit définir le tableau storage_access comme suit :
[
{
"storage_dn": "h4l1.ch.idrivee2-29.com", // Point de terminaison S3 de votre région de Chicago
"buckets": [
"bucket1", "bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com", // Point de terminaison S3 de votre région d'Irlande
"buckets": [
"bucket3", "bucket4"
]
}
]Veuillez noter que « storage_access » est un paramètre optionnel et ne doit être envoyé que si l'administrateur souhaite contrôler l'accès au niveau des compartiments pour le sous-utilisateur.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :
{
result: "invite successful",
invite_url: "invitation url string"
}Paramètres de longueur
- email[255]
- Si vous dépassez la limite du nombre de sous-utilisateurs autorisés pour votre compte
Réponse (application/JSON) :{
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: <information about your limit>
}
} -
Si sso_login est envoyé comme vrai et que SSO n'est pas configuré
Réponse (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}Exemple de requête : Corps (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"
}Curl Example Request:
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>' -
Lister tous les sous-utilisateurs
POST
https://api.idrivee2.com/api/subusers/v1/list
Cliquer pour copierLien copié
Ceci affiche tous les sous-utilisateurs ajoutés sous votre profil.
Entrée
string admin_email;
Sortie
L'API retourne un tableau des utilisateurs ajoutés sous votre profil.
La structure de la réponse est la suivante :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;
}Remarque
Les paramètres de l'objet utilisateur correspondent aux paramètres du corps de la requête expliqués dans l'API d'invitation. Veuillez vous référer à l'API d'invitation pour référence.Exemple de requête Curl
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/list'
--data '{
"admin_email": "abc@example.com"
}'
--header 'token: <your api key>' -
Créer un sous-utilisateur
PUT
https://api.idrivee2.com/api/subusers/v1/create_account
Cliquer pour copierLien copié
Ceci crée un compte sous-utilisateur qui sera lié à votre compte.
Entrée
string subuser_email;
boolean disable_delete_object; // optionnel
int permissions;
boolean is_admin;
boolean sso_login; // optionnel
boolean allow_session_timeout_settings;
int idle_timeout;
boolean concurrent_sessions;
boolean allow_concurrent_session_settings;
Object[] storage_access; // optionnel
string admin_email;
string first_name;
string last_name; // optionnel
string password; // chaîne encodée en base64
Remarque
Vous pouvez vous référer à l'API d'invitation de sous-utilisateur pour les détails des paramètres du corps de la requête.Paramètres de longueur
- E-mail [255]
- Mot de passe [100]
- Prénom [64]
- Nom de famille [64]
Sortie
En cas de succès, la réponse API (application/JSON) serait :{ success: true }Cas d'erreur spécifique
- Si vous dépassez la limite du nombre de sous-utilisateurs autorisés pour votre compte
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'information about your limit'
}
} - Le stockage n'existe pas.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - L'utilisateur existe déjà
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
} -
Si sso_login est envoyé comme vrai et que SSO n'est pas configuré
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Exemple de requête : Corps (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”
}Curl Example Request:
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: <votre clé api>' - Désactiver le sous-utilisateur
POST
https://api.idrivee2.com/api/subusers/v1/disable
Cliquer pour copierLien copié
Cette API désactive le compte du sous-utilisateur. Les sous-utilisateurs ne pourront pas se connecter, accéder aux données ni effectuer d'opérations.
Entrée
string subuser_email;
string admin_email;
bool email_notification; // une notification par e-mail sera envoyée au sous-utilisateur uniquement si ce paramètre est défini sur true
Paramètres de longueur
- E-mail [255]
Précondition
- Utilisateur inscrit.
- Compte activé.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :{ success: true }Cas d'erreur spécifique
- Si le sous-utilisateur n'est pas inscrit
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Si le compte du sous-utilisateur est déjà désactivé
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - Le compte n'existe pas
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Exemple de requête : Corps (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Exemple de requête 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: <votre clé api>' - Activer le sous-utilisateur
POST
https://api.idrivee2.com/api/subusers/v1/enable
Cliquer pour copierLien copié
Cette API réactive les comptes de sous-utilisateurs désactivés. Les sous-utilisateurs peuvent se connecter, accéder aux données et effectuer des opérations normales après avoir été activés.
Entrée
string subuser_email;
string admin_email;
bool email_notification; // une notification par e-mail sera envoyée au sous-utilisateur uniquement si ce paramètre est défini sur true
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :{ success: true }Paramètres de longueur
- E-mail [255]
Précondition
- Utilisateur inscrit/créé.
- Le compte utilisateur a été désactivé précédemment.
Cas d'erreur spécifique
- Si le sous-utilisateur n'est pas inscrit
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Si le compte du sous-utilisateur est déjà activé
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
} - Le compte n'existe pas.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Exemple de requête : Corps (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Exemple de requête 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>' - Supprimer le sous-utilisateur
POST
https://api.idrivee2.com/api/subusers/v1/remove
Cliquer pour copierLien copié
Cette API supprimera définitivement les utilisateurs d'IDrive® e2.
Remarque : Les données utilisateur seront perdues définitivement lors de cette opération.Entrée
string subuser_email;
string admin_email;
bool email_notification; // une notification par e-mail sera envoyée au sous-utilisateur uniquement si ce paramètre est défini sur true
Paramètres de longueur
- E-mail [255]
Précondition
- L'utilisateur doit être désactivé.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :{ success: true }Paramètres de longueur
- E-mail [255]
Cas d'erreur spécifique
- Si le sous-utilisateur n'est pas inscrit
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
} } - Si le compte du sous-utilisateur n'est pas désactivé
Response (application/JSON) : { error: {
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
} } - Le compte n'existe pas
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
} }
Exemple de requête : Corps (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Exemple de requête 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: <votre clé api>' - Annuler l'invitation
POST
https://api.idrivee2.com/api/subusers/v1/invite/cancel
Cliquer pour copierLien copié
Cette API annulera l'invitation envoyée au sous-utilisateur.
Entrée
string subuser_email;
string admin_email;
Paramètres de longueur
- E-mail [255]
Précondition
- L'utilisateur ne doit pas être déjà inscrit.
Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :{ success: true }Cas d'erreur spécifique
- Si le sous-utilisateur est déjà inscrit
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
}
Exemple de requête : Corps (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com"
}Exemple de requête 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: <votre clé api>' - Mettre à jour le sous-utilisateur
POST
https://api.idrivee2.com/api/subusers/v1/update
Cliquer pour copierLien copié
Cette API met à jour l'accès, les autorisations, SSO et le contrôle de session des sous-utilisateurs. L'API peut être utilisée pour mettre à jour les sous-utilisateurs invités et inscrits.
Input
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
Note
Vous pouvez vous référer à l'API Inviter un sous-utilisateur pour les détails des paramètres du corps de la requête. Seuls les paramètres qui doivent être mis à jour doivent être inclus dans le corps de la requête.
Sortie
En cas de succès, la réponse de l'API (application/JSON) serait :{ success: true }Paramètres de longueur
- Email [255]
Cas d'erreur spécifique
- Le stockage n'existe pas
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Le compte n'existe pas
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Si sso_login est envoyé comme vrai et que SSO n'est pas configuré
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Exemple de requête : Corps (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"
}Exemple de requête 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: <votre clé API>' - Obtenir les journaux d'activité
POST
https://api.idrivee2.com/api/subusers/v1/user_activity_history
Cliquer pour copierLien copié
Cette API récupère les journaux d'activité d'un sous-utilisateur pour une plage de dates.
Entrée
string subuser_email;
string admin_email;
string start_date;
string end_date;
int page_no;Paramètres de longueur
- E-mail [255]
Remarque
start_date (ISO8601) - Date de début
end_date (ISO8601) - Date de fin
page_no - L'API est paginée avec chaque page contenant 200 enregistrements
et page_no commence à partir de 1Sortie
En cas de succès, la réponse de l'API (application/JSON) sera :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;
}Cas d'erreur spécifique
- Si le sous-utilisateur n'est pas inscrit
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Le compte n'existe pas
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Exemple de requête : Corps (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}Exemple de requête 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: <votre clé API>'
Cas d'erreur spécifique