Reseller-API-Sammlung
Die IDrive® e2 Reseller-API ist über die REST-Architektur entwickelt.
Die IDrive® e2 Reseller-API akzeptiert Anforderungsinhalte im Format 'application/JSON' und gibt 'application/JSON'-Antworten zurück.
Unsere API verwendet den API-Schlüssel-Authentifizierungsmechanismus. Sie können den API-Schlüssel im Profilbereich des IDrive® e2-Kontos generieren.
Fügen Sie den im Profilbereich generierten API-Schlüssel zu allen HTTP-API-Aufrufen im Header unter dem Schlüssel 'token' hinzu.
HTTP-Antwortcodes:
- 200 (Erfolg)
- 500 (Serverfehler)
- 400 (Ungültige Parameter)
- 401 (Nicht autorisiert)
- 403 (Ungültige Anfrage)
Der Fehlerantwortkörper hätte die folgende Struktur:
Response (application/JSON) : {
error : {
string type;
string code;
string message;
}
}
Mögliche Werte für 'error.type' sind :
Weitere Details zu 'error.code' und 'error.message' erklären, was schiefgelaufen ist.
Häufige Fehlerfälle
Im Folgenden sind die häufigen Fehlerfälle aufgeführt, die von allen unten aufgeführten APIs zurückgegeben werden können. Weitere Fehlerfälle werden bei den jeweiligen APIs dokumentiert.
- Serverfehler (HTTP 500)
Response (application/JSON) : {
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Unauthorized (HTTP 401)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'unauthorized',
message: 'Authentication header missing/invalid'
}
} - Ungültige Parameter (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)
}
}
AUTHORIZATION Header API-Schlüssel
| Schlüssel | token |
| Wert | <IHR-API-SCHLÜSSEL> |
In den APIs verwendete Aufzählungen:
Enums:
Access Key Berechtigungen:
{
0: Read access,
1: Write access,
2: Read/Write access
}
Benutzeroperationen
- Alle Benutzer auflisten
GET
https://api.idrivee2.com/api/reseller/v1/users
Klicken zum KopierenLink kopiert
Zeigt alle Benutzer an, die Ihrem Profil hinzugefügt wurden.
Ausgabe
Die API gibt ein Array der Benutzer zurück, die Ihrem Profil hinzugefügt wurden.
Die Struktur der Antwort ist wie folgt: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;
} - Benutzer einladen
- Quota (GB's) (0 für unbegrenzt, sonst >0)
- Email [255]
- Ungültige Anfrage (HTTP-403)
- Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message: 'User already signed up'
}
} - Email bereits in Verwendung (ein unabhängiges Konto existiert, das nicht mit Ihrem Konto verknüpft ist).
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- Maximale Anzahl an Unterkonten bereits eingeladen/registriert.
{
error:{
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'Maximum limit reached. Please contact support.
}
}
- Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
- Benutzer erstellen
- Quota (GB's) (0 für unbegrenzt, sonst >0)
- Passwort ist eine base64-codierte Zeichenfolge.
- email_notification Wenn angegeben und auf false gesetzt, wird keine E-Mail-Benachrichtigung an die angegebene E-Mail-Adresse gesendet.
- Email [255]
- Password [100]
- First Name [64]
- Last Name [64]
- Ungültige Anfrage (HTTP-403)
- Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message : 'User already signed up'
}
} -
-Mail bereits in Verwendung (ein unabhängiges Konto existiert, das nicht mit Ihrem Konto verknüpft ist).
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
- Benutzer deaktivieren
- Email [255]
- Benutzer registriert.
- Konto aktiviert.
- Ungültige Anfrage (HTTP 403)
- Account bereits deaktiviert.
error:{
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - Account existiert nicht.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- Account bereits deaktiviert.
- Benutzer aktivieren
- Email [255]
- Benutzer hat sich registriert/erstellt.
- Benutzerkonto wurde zuvor deaktiviert.
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Account bereits aktiviert.
error:{
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
}
- Das Konto existiert nicht.
- Benutzer entfernen
- Email [255]
- Benutzer muss deaktiviert sein.
- Ungültige Anfrage (HTTP 403)
- Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message:'Account with this email does not exist'
}
} - Benutzerkonto nicht deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
}
}
- Konto existiert nicht.
- Cancel Invite
- Email [255]
- Einladung nicht entfernt
Tritt auf, wenn die angegebene E-Mail ungültig ist, bereits registriert ist oder nicht mit dem Konto des Wiederverkäufers verknüpft ist.
Antwort
{
"user_removed": false
} - Fehler bei der Anfrageverarbeitung
Tritt auf, wenn die API-Anfrage ungültig ist oder nicht verarbeitet werden kann.
Antwort
{
"message": "Request processing failed"
} - Speichernutzung abrufen
- Email [255]
- Benutzer muss registriert sein.
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- Das Konto existiert nicht.
- Aktivitätsprotokolle abrufen
- Email [255]
- Das Konto existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Hinweis:
storage_used (Bytes)
storage_quota (GB's) (0 : unbegrenzt, sonst > 0)
invite_url wenn nicht null, kann vom eingeladenen Benutzer verwendet werden, um sich anzumelden
Curl Beispiel Anfrage:
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/users' --header 'token: <your api key>'
PUT
https://api.idrivee2.com/api/reseller/v1/invite
Klicken zum KopierenLink kopiert
Diese API lädt ein Benutzerkonto auf IDrive® e2 ein, das mit Ihrem Konto verknüpft wird. Diese API sendet keine E-Mail, Sie sind dafür verantwortlich, die URL mit dem Benutzer zu teilen
Eingabe
string email;
int quota; //optional
Hinweis:
Längenparameter
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :
{ email: abc@example.com, invite_url: signup_invite_url_response }
Fehlerfälle
Beispielanforderung :Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com,"
"quota": 1024
}
Curl Beispielanforderung:
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
Klicken, um zu kopierenLink kopiert
Diese API erstellt ein Benutzerkonto auf IDrive® e2, das mit Ihrem Konto verknüpft wird.
Eingabe
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
Notiz:
Längenparameter
Ausgabe
Bei Erfolg würde die API-Antwort (application/JSON) wie folgt aussehen :
{ user_created: true }
Fehlerfälle
Beispielanforderung :Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"password":"dGVzdDEyMw==",
"first_name":"dev",
"quota": 1024,
"email_notification": false
}
Curl Beispielanforderung:
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
Klicken, um zu kopierenLink kopiert
Diese API deaktiviert das Benutzerkonto. Benutzer können sich nicht anmelden, auf Daten zugreifen und keine Operationen ausführen.
Eingabe
string email;
Längenparameter
Voraussetzung
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :
{ user_disabled : true }
Fehlerfälle
Beispielanforderung :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl Beispielanforderung:
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
Klicken, um zu kopierenLink kopiert
Diese API aktiviert deaktivierte Benutzerkonten wieder. Benutzer können sich anmelden, auf Daten zugreifen und normale Operationen durchführen.
Eingabe
string email;
Längenparameter
Voraussetzung
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre:
{ user_enabled : true }
Fehlerfälle
Beispielanforderung :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl Beispielanforderung:
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
Klicken zum KopierenLink kopiert
Diese API löscht Benutzer dauerhaft aus IDrive® e2.
Hinweis: Die Benutzerdaten gehen bei der Durchführung dieser Operation dauerhaft verloren.
Eingabe
string email;
Längenparameter
Voraussetzung
Ausgabe
Bei erfolgreicher API-Antwort (JSON) wäre :
{ user_removed : true }
Fehlerfälle
Beispielanforderung :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl Beispielanforderung:
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
Klicken, um zu kopierenLink kopiert
Diese API wird das eingeladene Benutzerkonto auf IDrive® e2 stornieren, das mit Ihrem Konto verknüpft ist.
Eingabe
string email;
Längenparameter
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :
{ user_removed : true }
Fehlerfälle
Curl Beispiel Anfrage:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/invite/cancel'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/usage_stats
Klicken zum KopierenLink kopiert
Diese API gibt das Array der IDrive® e2-Nutzung für den angegebenen Benutzer zurück.
Eingabe
{
string email;
string date_from;
string date_to;
}
date_from(ISO8601)(Startdatum)
date_to(ISO8601) (Enddatum)
Längenparameter
Voraussetzungen
Ausgabe
Array der usage_stats Struktur
struct usage_stats{
double downloads;
double uploads;
double disk_used;
string date;
}
downloads, uploads, disk_used are in bytes
Fehlerfälle
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"date_to":"2022-08-31",
"date_from":"2022-08-01"
}
Curl Beispielanfrage:
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
Klicken zum KopierenLink kopiert
Diese API ruft die Aktivitätsprotokolle eines Benutzers für einen bestimmten Zeitraum ab.
Eingabe
string email;
string start_date;
string end_date;
int page_no;
Längenparameter
Hinweis
start_date (ISO8601) - Startdatum
end_date (ISO8601) - Enddatum
page_no - Die API ist paginiert, wobei jede Seite aus 200 Datensätzen besteht
und page_no beginnt ab 1
Ausgabe
On Success API Response (application/JSON) would be :
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;
}
Spezifischer Fehlerfall
Beispielanfrage :Body (application/JSON)
{
"email": "abc1@example.com",
"start_date": "2025-04-05",
"end_date": "2025-05-28",
"page_no": 1
}
Curl Beispielanfrage:
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>'
Speicherbetrieb
- Regionen auflisten
GET
https://api.idrivee2.com/api/reseller/v1/regions
Klicken zum KopierenLink kopiert
Diese API gibt ein Array von Regionen für IDrive® e2 zurück.
Ausgabe
struct regions{
string region_key;
string region_name;
string country;
string region_code;
bool active;
bool hdd_storage;
string cors;
}Hinweis: Nur aktive Regionen können für den Benutzer aktiviert werden.
Beispielanfrage: Regionen auflisten
curl --request GET 'https://api.idrivee2.com/api/reseller/v1/regions' --header 'token: <your api key>' - Region für Benutzer aktivieren
- Email [255]
- Region[5]
- Existierendes Benutzerkonto.
- Die Region darf für den Benutzer noch nicht aktiviert sein.
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicherregion bereits für den Benutzer aktiviert.
{
error:{
type: 'invalid_request_error',
code: 'region_already_enabled',
message: 'Storage region already enabled for user'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - Zahlung für Ihr Konto fehlgeschlagen.
{
error:{
type: 'invalid_request_error',
code: 'payment_failed',
message: 'Account expired please update payment info'
}
}
- Das Konto existiert nicht.
- Liste der aktivierten Regionen des Benutzers
POST
https://api.idrivee2.com/api/reseller/v1/list_user_regions
Klicken zum KopierenLink kopiert
Diese API listet alle aktivierten Regionen des Benutzers auf.
Eingabe
{
string email;
}Längenparameter
- Email [255]
Voraussetzungen
- Existierendes Benutzerkonto.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) würde die Antwort wie folgt aussehen :
{
user_regions: /*lists user enabled regions*/
}Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Das Konto existiert nicht.
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}Curl Beispielanfrage:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_user_regions'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>' - Region vom Benutzer entfernen
- Email [255]
- Storage_dn[128]
- Benutzer hat sich registriert.
- Speicher sollte dem Benutzer zugewiesen sein.
- Kein Bucket wurde vom Benutzer erstellt
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicher existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Lager nicht leer.
{
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'
}
}
- Das Konto existiert nicht.
- CORS-Einstellungen für die Benutzerregion aktualisieren
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicher existiert nicht.
{
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'
}
}
- Das Konto existiert nicht.
- Zugriffsschlüssel hinzufügen
- Benutzer angemeldet/erstellt und aktiviert.
- Storage DN dem jeweiligen Benutzer zugewiesen.
- Buckets dürfen nicht leer sein, wenn sie angegeben werden.
- Email [255]
- storage_dn[128]
- Name[64]
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicher existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Das Konto existiert nicht.
- Zugriffsschlüssel auflisten
- email [255]
- storage_dn[128]
- Benutzer angemeldet/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicher existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled '
}
}
- Das Konto existiert nicht.
POST
https://api.idrivee2.com/api/reseller/v1/enable_user_region
Klicken zum KopierenLink kopiert
Diese API aktiviert die Regionen für den Benutzer.
Eingabe
{
string email;
string region;
}
region : region_key aus der API "Regionen auflisten". z.B. "TX", "LDN" etc.
Die API gibt den Speicher-DN (Domain Name) für die aktivierte Region zurück, über den auf den Benutzerspeicher mit Zugriffsschlüssel und geheimem Schlüssel zugegriffen werden kann.
Längenparameter
Voraussetzungen
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) würde Folgendes zurückgegeben werden:
{ storage_added: true, storage_dn: /*user_storage_dns*/ }
Fehlerfälle
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}
Curl Beispielanfrage:
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
Klicken zum KopierenLink kopiert
Diese API entfernt eine dem Benutzer zugewiesene Region.
Eingabe
{
string email;
string storage_dn;
}
'storage_dn' ist die dem Benutzer zugewiesene Speicherdomäne, die entfernt werden soll.
Längenparameter
Voraussetzungen
Bitte beachten Sie, dass diese Aktion zur Löschung der Benutzerdaten führt.
Die API ermöglicht das Entfernen der Benutzerregion, wenn
Der Benutzer deaktiviert ist
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) würde die Antwort wie folgt aussehen :
{removed : true}
Fehlerfälle
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test@idrivee2.com"
}
Curl Beispielanfrage:
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>'
Methode: POST
URL: https://api.idrivee2.com/api/reseller/v1/storage/set_cors
Klicken zum KopierenLink kopiert
Diese API aktualisiert die CORS-Einstellungen für eine Region.
Inhaltstyp : application/json
Header API Key:
'token': <your token>
Erforderliche Parameter:
body : {
"email": "test@test.com",
"storage_dn": "cxan.tx21.edgedrive.com",
"cors": "test1.com,test2.com,test3.com",
}
Erforderliche Parameter: email,storage_dn,cors
Limits für die Parameterlänge: email[255],storage_dn[128], cors (bis zu 10 durch Kommas getrennte Domains)
HINWEIS: Für alle CORS können Sie CORS auf "*" setzen, was auch der Standard-CORS für alle Regionen ist
Ausgabe
Bei Erfolg gibt die API die folgende Antwort zurück (application/JSON):
{
cors_updated: true
}
Fehlerfälle
Curl Beispielanfrage:
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
Klicken zum KopierenLink kopiert
Diese API erstellt einen Zugriffsschlüssel für den Speicherzugriff und gibt die Zugriffsschlüssel-ID und den geheimen Schlüssel zurück.
Eingabe
{
string email;
string storage_dn;
string name;
int permissions;
array buckets; //buckets is an optional parameter
}
Buckets: Geben Sie eine Liste von Bucket-Namen an, um einen Zugriffsschlüssel für bestimmte Buckets zu erstellen, um auf den Speicher zuzugreifen. Die Eingabe 'buckets' ist nicht erforderlich, wenn der Zugriffsschlüssel für alle Buckets gilt.
Voraussetzungen
Längenparameter
Access Key Permissions Enumeration:
{
0: Read access
1: Write access
2: Read/Write access
}
Ausgabe
Bei Erfolg gibt die API eine Antwort (application/JSON) zurück:
{
created: true,
data: {
access_key: /access key/
secret_key: /* secret key*/
}
}
Fehlerfälle
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"name":"myaccesskeyname",
"permissions":0
}
Curl Beispielanfrage:
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
Klicken zum KopierenLink kopiert
Diese API listet alle Zugriffsschlüssel für den Speicher auf.
Eingabe
{
string email;
string storage_dn;
}
'storage_dn' ist die dem Benutzer zugewiesene Speicherdomäne, für die Sie alle Zugriffsschlüssel auflisten möchten.
Längenparameter
Voraussetzung
Ausgabe
Bei Erfolg gibt die API eine Antwort (application/JSON) zurück:
{
'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*/
},
{...},
…
]
}
Fehlerfälle
Beispielanfrage : Body (application/JSON)
{
"email" : "e2reseller+1@idrivee2.com",
"storage_dn" : "abcd.test.idrivee2.com"
}
Curl Beispielanfrage:
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
Klicken zum KopierenLink kopiert
Diese API entfernt den Zugriffsschlüssel für den Speicher.
Eingabe
{
string email;
string storage_dn;
string access_key;
}
Längenparameter
- Email [255]
- storage_dn[128]
- access_key[128]
Voraussetzung
- Benutzer registriert/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- Zugriffsschlüssel existiert für den Speicher.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :
{removed : true}
Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Speicher existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - Zugriffsschlüssel existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'access_key_non_existant',
message: 'Access key does not exist, please provide a valid access key'
}
}
- Das Konto existiert nicht.
Beispielanfrage :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"access_key":"<ACCESS-KEY-ID>"
}
Curl Beispielanfrage:
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>'
Whitelabeling-Operationen
- CNAMEs hinzufügen
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/add
Klicken zum KopierenLink kopiert
Diese API fügt einen CNAME für den angegebenen Speicher-DNS hinzu.
Eingabe
{
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' ist die dem Benutzer zugewiesene Speicher-Domain.
'CNAME' ist der neue CNAME, der zugewiesen werden muss.
'file_index' ist ein optionaler Parameter.
Längenparameter
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Voraussetzung
- Benutzer registriert/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- Der storage_dn muss der Tenant-Endpunkt sein, der aus der API List User Enabled Regions abgerufen wurde.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :
{ 'cname_added' : true }Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - CNAME kann nicht verwendet werden
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Speicher-Domain existiert nicht, wenn storage_dn falsch ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Wenn CNAME bereits konfiguriert ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configure'
}
} - Ungültiger CNAME-CNAME oder ungültige Zertifikate. Wenn die öffentlichen und privaten Schlüssel falsch sind.
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
}
- Das Konto existiert nicht.
- Serverfehler (HTTP 500)
- Diese Anfrage konnte nicht bearbeitet werden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Für den angegebenen DNS-Server wurden keine Daten gefunden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Diese Anfrage konnte nicht bearbeitet werden.
Beispielanfrage : Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Curl Beispielanfrage:
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>' - CNAMEs auflisten
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname
Klicken zum KopierenLink kopiert
Diese API listet alle CNAMEs für den Speicher auf.
Eingabe
{
string email;
string storage_dn;
}'storage_dn' ist die dem Benutzer zugewiesene Speicher-Domain, für die Sie alle CNAMEs auflisten möchten.
Längenparameter
- email[255]
- storage_dn[128]
Voraussetzung
- Benutzer angemeldet/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- Die storage_dn muss der Tenant-Endpunkt sein, der aus der List User Enabled Regions API erhalten wurde.
Ausgabe
Bei Erfolg gibt die API die Antwort (application/JSON) zurück :
{
'cname_list' : [
{
file_index: /*file_index*/,
cname: /*cname*/,
certificate_info: /*isValidSsl.certInfo*/
creation_date: /*creation_date*/
}
{...},
]
}
Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Benutzer deaktiviert.
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Das Konto existiert nicht.
- Serverfehler (HTTP 500)
- Diese Anfrage konnte nicht bearbeitet werden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Für den angegebenen DNS-Server wurden keine Daten gefunden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Diese Anfrage konnte nicht bearbeitet werden.
Beispielanfrage : Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
}Curl Beispielanfrage:
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>' - CNAMEs aktualisieren
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/update
Klicken zum KopierenLink kopiert
Diese API aktualisiert den CNAME für die angegebene Speicher-DNS.
Eingabe
{
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' ist die dem Benutzer zugewiesene Speicherdomäne.
'CNAME' ist der neue CNAME, der den bereits vorhandenen CNAME ersetzen muss.
'file_index' ist ein optionaler Parameter.
Längenparameter
- email[255]
- storage_dn[128]
- CNAME[128]
- public_key[10000]
- private_key[6000]
- file_index[64]
- passphrase[255]
Voraussetzung
- Benutzer angemeldet/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- Die storage_dn muss der Tenant-Endpunkt sein, der aus der List User Enabled Regions API erhalten wurde.
Ausgabe
Bei Erfolg gibt die API die Antwort (application/JSON) zurück :
{ 'cname_updated' : true }Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Das Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - CNAME kann nicht verwendet werden, wenn CNAME eine iDrive-Domäne ist.
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Speicher-Domäne existiert nicht, wenn storage_dn falsch ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Wenn storage_dn falsch ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Speicher-Server kann nicht erreicht werden, Domäne existiert nicht, wenn storage_dn nicht verfügbar ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - Wenn CNAME bereits konfiguriert ist
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configured'
}
} - Ungültiger CNAME oder Zertifikate, wenn öffentliche/private Schlüssel falsch sind
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
} - Benutzer deaktiviert
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- Das Konto existiert nicht.
- Serverfehler (HTTP 500)
- Diese Anfrage konnte nicht bearbeitet werden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Für den angegebenen DNS-Server wurden keine Daten gefunden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Diese Anfrage konnte nicht bearbeitet werden.
Beispielanfrage : Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io",
"public_key" : "...",
"private_key" : "...",
"file_index" : "1"
}Curl Beispielanfrage:
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>' - CNAMEs entfernen
POST
https://api.idrivee2.com/api/reseller/v1/storage/cname/remove
Klicken zum KopierenLink kopiert
Diese API entfernt CNAME für die Speicher-DNS.
Eingabe
{
string email;
string storage_dn;
string cname;
}'storage_dn' ist die dem Benutzer zugewiesene Speicher-Domäne.
CNAME: Geben Sie den CNAME an, der entfernt werden soll.
Längenparameter
- email[255]
- storage_dn[128]
- CNAME[128]
Voraussetzung
- Benutzer registriert/erstellt und aktiviert.
- Speicher dem Benutzer zugewiesen.
- CNAME sollte der Speicher-Domäne zugeordnet sein.
- Die storage_dn muss der Tenant-Endpunkt sein, der aus der List User Enabled Regions API erhalten wurde.
Ausgabe
Bei Erfolg gibt die API eine Antwort im JSON-Format zurück (application/JSON) :
{ 'cname_removed' : true }Fehlerfälle
- Ungültige Anfrage (HTTP 403)
- Konto existiert nicht.
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Benutzer deaktiviert
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - CNAME kann nicht verwendet werden
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - Speicherdomain existiert nicht
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - Speicherserver ist derzeit nicht erreichbar
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - CNAME existiert nicht für die Speicherdomain
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'cannot get cname details'
}
} - CNAME konnte nicht entfernt werden
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
}
- Konto existiert nicht.
- Serverfehler (HTTP 500)
- Diese Anfrage konnte nicht bearbeitet werden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - Für den angegebenen DNS-Server wurden keine Daten gefunden.
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Diese Anfrage konnte nicht bearbeitet werden.
Beispielanfrage : Body (application/JSON)
{
"email": "e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test.idrivee2.com",
"cname" : "example.mycloud.io"
}Curl Beispielanfrage:
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>'
Subuser-Operationen
Die IDrive® e2 Subuser API wird für Reseller-Konten unterstützt. Ein Reseller-Administrator kann diese APIs im Namen eines beliebigen Benutzers unter seinem Konto aufrufen. Mit anderen Worten, der Reseller-Administrator kann seinen API-Schlüssel verwenden, um Subuser-Verwaltungsoperationen für jeden seiner zugehörigen Benutzer durchzuführen.
Um diese Funktionalität zu aktivieren, müssen alle API-Anfragen einen zusätzlichen erforderlichen Parameter enthalten: admin_email. Ohne die Aufnahme des Parameters admin_email im Anforderungstext werden die APIs keine Anfragen von Reseller-Konten verarbeiten.
Enums:
Subuser Permissions:
{
0: Read access,
1: Write access,
2: Read/Write access
}
- Subuser einladen
PUT
https://api.idrivee2.com/api/subusers/v1/invite
Klicken zum KopierenLink kopiert
Diese API sendet eine Einladung zur Erstellung eines Subuser-Kontos an die im Request angegebene Subuser-E-Mail.
Eingabe
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;
Hinweis:
- "subuser_email" - die E-Mail-Adresse des Subusers, an den die Einladung gesendet werden soll
- "disable_delete_object" - ein Boolean, der dem Subuser das Löschen von Objekten erlaubt, wenn er auf false gesetzt ist, Standard ist true
- "pemissions" - ein Enum-Parameter, bei dem 0 = Nur-Lese-Berechtigung, 1 = Nur-Upload-Berechtigung und 2 = Lese- und Schreibberechtigungen
- "is_admin" - ein Boolean, der verwendet wird, um den Subuser als Admin-Subuser festzulegen, wenn er auf true gesetzt ist. Das Setzen dieses Flags auf true gibt allen Subusern Zugriff auf alle Speicherberechtigungen (Lesen & Schreiben).
- "sso_login" - ein Boolean, der festlegt, ob der SSO-Login für den Subuser aktiviert ist oder nicht
- "allow_session_timeout_settings" - ein Boolean, der dem Subuser erlaubt, die Sitzungstimeout-Einstellungen zu konfigurieren, wenn er auf true gesetzt ist
- "idle_timeout" - wenn der Admin-Benutzer das Sitzungstimeout (in Sekunden) für die Subuser konfigurieren möchte. Der maximal zulässige Wert beträgt 3600 Sekunden (1 Stunde)
- "concurrent_sessions" - ein Boolean, der dem Subuser erlaubt, mehrere gleichzeitige Sitzungen zu haben, wenn er auf true gesetzt ist
- "allow_concurrent_session_settings" - ein Boolean, der dem Subuser erlaubt, mehrere gleichzeitige Sitzungseinstellungen zu konfigurieren, wenn er auf true gesetzt ist
- "storage_access" - ein Array von Berechtigungsobjekten, wenn der Admin möchte, dass der Subuser nur Zugriff auf bestimmte Buckets hat. Zum Beispiel, wenn der Admin möchte, dass der Subuser Zugriff auf "bucket1" und "bucket2" in der Chicago-Region und "bucket3" und "bucket4" in der Irland-Region hat, sollte der Admin das storage_access-Array wie folgt festlegen:
[
{
"storage_dn": "h4l1.ch.idrivee2-29.com", // S3 endpoint of your Chicago Region
"buckets": [
"bucket1", "bucket2"
]
},
{
"storage_dn": "r8l2.ie.idrivee2-44.com", // S3 endpoint of your Ireland Region
"buckets": [
"bucket3", "bucket4"
]
}
]Bitte beachten Sie, dass "storage_access" ein optionaler Parameter ist und nur gesendet werden sollte, wenn der Admin-Benutzer den Zugriff auf Bucket-Ebene für den Subuser steuern möchte.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) würde Folgendes zurückgegeben werden:
{
result: "invite successful",
invite_url: "invitation url string"
}Längenparameter
- email[255]
- Wenn Sie das Limit der für Ihr Konto zulässigen Anzahl von Sub-Usern überschreiten
Response (application/JSON) :{
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: <information about your limit>
}
} -
Wenn sso_login auf „true“ gesetzt wird und SSO nicht konfiguriert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}Beispielanfrage :Body (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 Beispielanfrage:
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>' -
Alle Unterbenutzer auflisten
POST
https://api.idrivee2.com/api/subusers/v1/list
Klicken zum KopierenLink kopiert
Dies zeigt alle Unterbenutzer an, die unter Ihrem Profil hinzugefügt wurden.
Eingabe
string admin_email;
Ausgabe
Die API gibt ein Array der unter Ihrem Profil hinzugefügten Benutzer zurück.
Die Struktur der Antwort ist wie folgt: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;
}Hinweis
Die Parameter des Benutzerobjekts entsprechen den im Anfragekörper der Invite-API erläuterten Parametern. Bitte beziehen Sie sich auf die Invite-API für weitere Informationen.Curl Beispielanfrage
curl --request POST 'https://api.idrivee2.com/api/subusers/v1/list'
--data '{
"admin_email": "abc@example.com"
}'
--header 'token: <your api key>' -
Unterbenutzer erstellen
PUT
https://api.idrivee2.com/api/subusers/v1/create_account
Klicken zum KopierenLink kopiert
Dies erstellt ein Unterbenutzerkonto, das mit Ihrem Konto verknüpft wird.
Eingabe
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
Hinweis
Sie können sich auf die Invite-Subuser-API beziehen, um Details zu den Parametern des Anfragekörpers zu erhalten.Längenparameter
- Email [255]
- Password [100]
- First Name [64]
- Last Name [64]
Ausgabe
Bei Erfolg würde die API-Antwort (application/JSON) wie folgt aussehen:{ success: true }Spezifischer Fehlerfall
- Wenn Sie das Limit der für Ihr Konto zulässigen Unterbenutzer überschreiten
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'information about your limit'
}
} - Speicher existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Benutzer existiert bereits
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
} -
Wenn sso_login als true gesendet wird und SSO nicht konfiguriert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Beispielanfrage :Body (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 Beispielanfrage:
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>' - Unterbenutzer deaktivieren
POST
https://api.idrivee2.com/api/subusers/v1/disable
Klicken zum KopierenLink kopiert
Diese API deaktiviert das Unterbenutzerkonto. Unterbenutzer können sich nicht anmelden, auf Daten zugreifen und keine Operationen ausführen.
Eingabe
string subuser_email;
string admin_email;
bool email_notification; // E-Mail-Benachrichtigung an den Unterbenutzer wird nur gesendet, wenn dieser Parameter auf true gesetzt ist
Längenparameter
- Email [255]
Voraussetzung
- Benutzer angemeldet.
- Konto aktiviert.
Ausgabe
Bei Erfolg würde die API-Antwort (application/JSON) wie folgt aussehen:{ success: true }Spezifischer Fehlerfall
- Wenn der Unterbenutzer nicht angemeldet ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Wenn das Unterbenutzerkonto bereits deaktiviert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - Das Konto existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Beispielanfrage :Body (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Curl Beispielanfrage:
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>' - Unterbenutzer aktivieren
POST
https://api.idrivee2.com/api/subusers/v1/enable
Klicken zum KopierenLink kopiert
Diese API aktiviert deaktivierte Unterbenutzerkonten wieder. Unterbenutzer können sich anmelden, auf Daten zugreifen und normale Operationen ausführen, nachdem sie aktiviert wurden.
Eingabe
string subuser_email;
string admin_email;
bool email_notification; // E-Mail-Benachrichtigung an den Unterbenutzer wird nur gesendet, wenn dieser Parameter auf true gesetzt ist
Ausgabe
Bei Erfolg würde die API-Antwort (application/JSON) wie folgt aussehen:{ success: true }Längenparameter
- Email [255]
Voraussetzung
- Benutzer angemeldet/erstellt.
- Benutzerkonto wurde zuvor deaktiviert.
Spezifischer Fehlerfall
- Wenn der Unterbenutzer nicht angemeldet ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Wenn das Unterbenutzerkonto bereits aktiviert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
} - Das Konto existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Beispielanfrage :Body (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Curl Beispielanfrage:
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>' - Unterbenutzer entfernen
POST
https://api.idrivee2.com/api/subusers/v1/remove
Klicken zum KopierenLink kopiert
Diese API wird Benutzer dauerhaft aus IDrive® e2 löschen.
Hinweis: Die Benutzerdaten gehen dauerhaft verloren, wenn diese Operation ausgeführt wird.Eingabe
string subuser_email;
string admin_email;
bool email_notification; // E-Mail-Benachrichtigung an den Unterbenutzer wird nur gesendet, wenn dieser Parameter auf true gesetzt ist
Längenparameter
- Email [255]
Voraussetzung
- Der Benutzer muss deaktiviert sein.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :{ success: true }Längenparameter
- Email [255]
Spezifischer Fehlerfall
- Wenn der Unterbenutzer nicht registriert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
} } - Wenn das Unterbenutzerkonto nicht deaktiviert ist
Response (application/JSON) : { error: {
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
} } - Das Konto existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
} }
Beispielanfrage :Body (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com",
"email_notification": true
}Curl Beispielanfrage:
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>' - Einladung stornieren
POST
https://api.idrivee2.com/api/subusers/v1/invite/cancel
Klicken zum KopierenLink kopiert
Diese API storniert die an den Unterbenutzer gesendete Einladung.
Eingabe
string subuser_email;
string admin_email;
Längenparameter
- Email [255]
Voraussetzung
- Der Nutzer darf noch nicht registriert sein.
Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre :{ success: true }Spezifischer Fehlerfall
- Wenn der Unterbenutzer bereits registriert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
}
Beispielanfrage :Body (application/JSON)
{
"subuser_email": "abc1@example.com",
"admin_email": "admin1@example.com"
}Curl Beispielanfrage:
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>' - Subuser aktualisieren
POST
https://api.idrivee2.com/api/subusers/v1/update
Klicken zum KopierenLink kopiert
Diese API aktualisiert den Zugriff, die Berechtigungen, SSO und die Sitzungssteuerung von Subusern. Die API kann verwendet werden, um sowohl eingeladene als auch angemeldete Subuser zu aktualisieren.
Eingabe
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
Notiz
Sie können sich auf die API "Subuser einladen" für die Details der Anforderungsparameter beziehen. Nur die Parameter, die aktualisiert werden müssen, sollten im Anforderungstext enthalten sein.
Ausgabe
Bei Erfolg würde die API-Antwort (application/JSON) wie folgt aussehen:{ success: true }Längenparameter
- Email [255]
Spezifischer Fehlerfall
- Speicher existiert nicht
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - Das Konto existiert nicht.
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - Wenn sso_login als true gesendet wird und SSO nicht konfiguriert ist
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'sso_not_configured',
message: 'SSO is not configured'
}
}
Beispielanfrage :Body (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"
}Curl Beispielanfrage:
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>' - Aktivitätsprotokolle abrufen
POST
https://api.idrivee2.com/api/subusers/v1/user_activity_history
Klicken zum KopierenLink kopiert
Diese API ruft die Aktivitätsprotokolle eines Unterbenutzers für einen bestimmten Zeitraum ab.
Eingabe
string subuser_email;
string admin_email;
string start_date;
string end_date;
int page_no;Längenparameter
- Email [255]
Hinweis
start_date (ISO8601) - Startdatum
end_date (ISO8601) - Enddatum
page_no - Die API ist paginiert, wobei jede Seite aus 200 Datensätzen besteht
und page_no beginnt ab 1Ausgabe
Bei erfolgreicher API-Antwort (application/JSON) wäre: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;
}Spezifischer Fehlerfall
- Wenn der Unterbenutzer nicht registriert ist
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - Das Konto existiert nicht.
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
Beispielanfrage : Body (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
}Curl Beispielanfrage:
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>'
Spezifischer Fehlerfall