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 :

  1. api_error
  2. invalid_request_error
  3. server_error

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.

  1. Serverfehler (HTTP 500)
     
                               Response (application/JSON) : {
          error:{
                type: 'api_error',
                code: 'request_processing_failed',
                message: 'Unable to process this request, please try again later'
                }
    }
  2. Unauthorized (HTTP 401)
     
                                  Response (application/JSON) : {
          error:{
                type: 'invalid_request_error',
                code: 'unauthorized',
                message: 'Authentication header missing/invalid'
           }
    }
  3. 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

  1. Alle Benutzer auflisten

    GET
    https://api.idrivee2.com/api/reseller/v1/usersKlicken 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;
    }
  2. 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>'
  3. Benutzer einladen
  4. PUT
    https://api.idrivee2.com/api/reseller/v1/inviteKlicken 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:

    • Quota (GB's) (0 für unbegrenzt, sonst >0)

    Längenparameter

    • Email [255]

    Ausgabe
    Bei erfolgreicher API-Antwort (application/JSON) wäre :

    { email: abc@example.com, invite_url: signup_invite_url_response }

    Fehlerfälle

    • Ungültige Anfrage (HTTP-403)
      1. Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
                                                        { 
            error:{
               type: 'invalid_request_error',
               code: 'user_signed_up',
               message: 'User already signed up'
               }
        }
      2. 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'
               }
        }
      3. Maximale Anzahl an Unterkonten bereits eingeladen/registriert.
                                                        { 
            error:{
               type: 'invalid_request_error',
               code: 'maximum_limit_reached',
               message: 'Maximum limit reached. Please contact support.
               }
        }

    Beispielanforderung :Body (application/JSON)

                                        {
        "email": "e2reseller+1,"
        "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>'
  5. Benutzer erstellen
  6. PUT
    https://api.idrivee2.com/api/reseller/v1/create_userKlicken, 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:

    • 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.

    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 :

    { user_created: true }

    Fehlerfälle

    • Ungültige Anfrage (HTTP-403)
      1. Benutzer existiert bereits und ist mit Ihrem Konto verknüpft.
                                            { 
            error:{
                  type: 'invalid_request_error',
                  code: 'user_signed_up',
                  message : 'User already signed up'
                 }
        }
      2. -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'
                 }
        }

    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>'
  7. Benutzer deaktivieren
  8. POST
    https://api.idrivee2.com/api/reseller/v1/disable_userKlicken, 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

    • Email [255]

    Voraussetzung

    • Benutzer registriert.
    • Konto aktiviert.

    Ausgabe
    Bei erfolgreicher API-Antwort (application/JSON) wäre :

    { user_disabled : true }

    Fehlerfälle

    • Ungültige Anfrage (HTTP 403)
      1. Account bereits deaktiviert.
                                                           error:{ 
               type: 'invalid_request_error',
               code: 'user_account_already_disabled',
               message: 'Account already disabled for the user'
               }
        }
      2. Account existiert nicht.
                                                        error:{ 
               type: 'invalid_request_error',
               code: 'account_non_existant',
               message: 'Account with this email does not exist'
               }
        }

    Beispielanforderung :Body (application/JSON)

                                           {
        "email":"e2reseller+1"
    }

    Curl Beispielanforderung:

                                           curl --request POST 'https://api.idrivee2.com/api/reseller/v1/disable_user' 
    --data '{
        "email":"e2reseller+1@idrivee2.com"
    }'
  9. Benutzer aktivieren
  10. POST
    https://api.idrivee2.com/api/reseller/v1/enable_userKlicken, 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

    • Email [255]

    Voraussetzung

    • Benutzer hat sich registriert/erstellt.
    • Benutzerkonto wurde zuvor deaktiviert.

    Ausgabe
    Bei erfolgreicher API-Antwort (application/JSON) wäre:

    { user_enabled : true }

    Fehlerfälle

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                                           error:{ 
               type: 'invalid_request_error',
               code: 'account_non_existant',
               message: 'Account with this email does not exist'
               }
        }
      2. Account bereits aktiviert.
                                                        error:{ 
               type: 'invalid_request_error',
               code: 'user_account_already_enabled',
               message: 'Account already enabled for the user'
               }
        }

    Beispielanforderung :Body (application/JSON)

                                          {
        "email":"e2reseller+1"
    }

    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>'
  11. Benutzer entfernen
  12. POST
    https://api.idrivee2.com/api/reseller/v1/remove_userKlicken 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

    • Email [255]

    Voraussetzung

    • Benutzer muss deaktiviert sein.

    Ausgabe
    Bei erfolgreicher API-Antwort (JSON) wäre :

    { user_removed : true }
    Fehlerfälle

    • Ungültige Anfrage (HTTP 403)
      1. Konto existiert nicht.
                                                           {
              error:{
                     type: 'invalid_request_error',
                     code: 'account_non_existant',
                     message:'Account with this email does not exist'
                    }
        }
      2. Benutzerkonto nicht deaktiviert.
                                                              {
              error:{
                     type: 'invalid_request_error',
                     code: 'user_account_not_disabled',
                     message: 'User account not disabled'
                    }
        }

    Beispielanforderung :Body (application/JSON)

                                             {
        "email":"e2reseller+1"
    }

    Curl Beispielanforderung:

                                              curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_user' 
    --data '{
        "email":"e2reseller+1"
    }' --header 'token: <your api key>'
  13. Cancel Invite
  14. POST
    https://api.idrivee2.com/api/reseller/v1/invite/cancelKlicken, 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

    • Email [255]

    Ausgabe
    Bei erfolgreicher API-Antwort (application/JSON) wäre :

    { user_removed : true }
    Fehlerfälle

    1. 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
      }
    2. Fehler bei der Anfrageverarbeitung
      Tritt auf, wenn die API-Anfrage ungültig ist oder nicht verarbeitet werden kann.
      Antwort
                                                           {
          "message": "Request processing failed"
      }

    Curl Beispiel Anfrage:

                                              curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/invite/cancel' 
    --data '{
        "email":"e2reseller+1"
    }' --header 'token: <your api key>'
  15. Speichernutzung abrufen
  16. POST
    https://api.idrivee2.com/api/reseller/v1/usage_statsKlicken 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

    • Email [255]

    Voraussetzungen

    • Benutzer muss registriert sein.

    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

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                                              {
             error:{
                   type: 'invalid_request_error',
                   code: 'account_non_existant',
                   message: 'Account with this email does not exist'
                  }
        }

    Beispielanfrage :Body (application/JSON)

                                                {
        "email":"e2reseller+1",
        "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>'
  17. Aktivitätsprotokolle abrufen
  18. POST
    https://api.idrivee2.com/api/reseller/v1/user_activity_historyKlicken 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

    • 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 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

    1. 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)

                                                    { 
        "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

  1. Regionen auflisten

    GET
    https://api.idrivee2.com/api/reseller/v1/regionsKlicken 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>'
                                     
                                  
  2. Region für Benutzer aktivieren
  3. POST
    https://api.idrivee2.com/api/reseller/v1/enable_user_regionKlicken 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

    • Email [255]
    • Region[5]

    Voraussetzungen

    • Existierendes Benutzerkonto.
    • Die Region darf für den Benutzer noch nicht aktiviert sein.

    Ausgabe

    Bei erfolgreicher API-Antwort (application/JSON) würde Folgendes zurückgegeben werden:

    { storage_added: true, storage_dn: /*user_storage_dns*/ }

    Fehlerfälle

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicherregion bereits für den Benutzer aktiviert.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'region_already_enabled',
                  message: 'Storage region already enabled for user'
            }
        }
      3. Benutzer deaktiviert.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      4. Zahlung für Ihr Konto fehlgeschlagen.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'payment_failed',
                  message: 'Account expired please update payment info'
            }
        }

    Beispielanfrage :Body (application/JSON)

                               {
        "email":"e2reseller+1",
        "region": "NY"
    }

    Curl Beispielanfrage:

                                curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user_region'
    --data '{
      "email":"e2reseller+1",
      "region": "NY"
    }' --header 'token: <your api key>'
  4. Liste der aktivierten Regionen des Benutzers

    POST
    https://api.idrivee2.com/api/reseller/v1/list_user_regionsKlicken 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)
      1. Das Konto existiert nicht.
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Benutzer deaktiviert.
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }

    Beispielanfrage :Body (application/JSON)

                                        {
      "email":""
    }

    Curl Beispielanfrage:

    curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_user_regions'
    --data '{
    "email":""
    }' --header 'token: <your api key>'
  5. Region vom Benutzer entfernen
  6. POST
    https://api.idrivee2.com/api/reseller/v1/remove_user_regionKlicken 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

    • Email [255]
    • Storage_dn[128]

    Voraussetzungen

    • Benutzer hat sich registriert.
    • Speicher sollte dem Benutzer zugewiesen sein.

    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

    1. Kein Bucket wurde vom Benutzer erstellt

    Ausgabe

    Bei erfolgreicher API-Antwort (application/JSON) würde die Antwort wie folgt aussehen :

    {removed : true}

    Fehlerfälle

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicher existiert nicht.
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. 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'
            }
        }

    Beispielanfrage :Body (application/JSON)

                                  {
        "email":"e2reseller+1",
        "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",
       "storage_dn": "abcd.test@idrivee2.com"
    }' --header 'token: <your api key>'
  7. CORS-Einstellungen für die Benutzerregion aktualisieren
  8. Methode: POST
    URL:  https://api.idrivee2.com/api/reseller/v1/storage/set_corsKlicken 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

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicher existiert nicht.
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. Invalid cors parameters.
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'invalid_cors_policy',
                  message: 'The cors policy is invalid' / 'Maximum 10 cors are allowed'
            }
        }

    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",
    }'
  9. Zugriffsschlüssel hinzufügen
  10. POST
    https://api.idrivee2.com/api/reseller/v1/create_access_keyKlicken 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

    • Benutzer angemeldet/erstellt und aktiviert.
    • Storage DN dem jeweiligen Benutzer zugewiesen.
    • Buckets dürfen nicht leer sein, wenn sie angegeben werden.

    Längenparameter

    • Email [255]
    • storage_dn[128]
    • Name[64]

    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

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicher existiert nicht.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. Benutzer deaktiviert.
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }

    Beispielanfrage :Body (application/JSON)

                               {
        "email":"e2reseller+1",
        "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",
       "storage_dn":"abcd.test@idrivee2.com",
       "name":"myaccesskeyname",
       "permissions":0
    }' --header 'token: <your api key>'
  11. Zugriffsschlüssel auflisten
  12. POST
    https://api.idrivee2.com/api/reseller/v1/list_access_keysKlicken 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

    • email [255]
    • storage_dn[128]

    Voraussetzung

    • Benutzer angemeldet/erstellt und aktiviert.
    • Speicher dem Benutzer zugewiesen.

    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

    • Ungültige Anfrage (HTTP 403)
      1. Das Konto existiert nicht.
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicher existiert nicht.
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exist'
            }
        }
      3. Benutzer deaktiviert.
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled '
            }
        }

    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",
        "storage_dn":"abcd.test.idrivee2.com",
    }' --header 'token:<your api key>'
  13. Zugriffsschlüssel entfernen
  14. POST
    https://api.idrivee2.com/api/reseller/v1/remove_access_keyKlicken 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)
      1. Das Konto existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Speicher existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. Benutzer deaktiviert.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      4. 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'
            }
        }

    Beispielanfrage :Body (application/JSON)

                         {
        "email":"e2reseller+1",
        "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",
        "storage_dn":"abcd.test@idrivee2.com",
        "access_key":"<your access key>"
    }' --header 'token: <your api key>'

Whitelabeling-Operationen

  1. CNAMEs hinzufügen

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/addKlicken 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)
      1. Das Konto existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. 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'
            }
        }
      3. 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'
            }
        }
      4. Wenn CNAME bereits konfiguriert ist
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'CNAME already configure'
            }
        }
      5. 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'
            }
        }
    • Serverfehler (HTTP 500)
      1. Diese Anfrage konnte nicht bearbeitet werden.
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 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'
            }
        }

    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>'
  2. CNAMEs auflisten

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cnameKlicken 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)
      1. Das Konto existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Benutzer deaktiviert.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
    • Serverfehler (HTTP 500)
      1. Diese Anfrage konnte nicht bearbeitet werden.
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 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'
            }
        }

    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>'
  3. CNAMEs aktualisieren

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/updateKlicken 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)
      1. Das Konto existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. 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'
            }
        }
      3. 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'
            }
        }
      4. Wenn storage_dn falsch ist
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      5. 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'
            }
        }
      6. Wenn CNAME bereits konfiguriert ist
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'CNAME already configured'
            }
        }
      7. 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'
            }
        }
      8. Benutzer deaktiviert
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
    • Serverfehler (HTTP 500)
      1. Diese Anfrage konnte nicht bearbeitet werden.
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 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'
            }
        }

    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>'
  4. CNAMEs entfernen

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/removeKlicken 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)
      1. Konto existiert nicht.
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. Benutzer deaktiviert
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      3. 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'
            }
        }
      4. Speicherdomain existiert nicht
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      5. 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'
            }
        }
      6. CNAME existiert nicht für die Speicherdomain
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'cannot get cname details'
            }
        }
      7. CNAME konnte nicht entfernt werden
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
    • Serverfehler (HTTP 500)
      1. Diese Anfrage konnte nicht bearbeitet werden.
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 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'
            }
        }

    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
}
  1. Subuser einladen

    PUT
    https://api.idrivee2.com/api/subusers/v1/inviteKlicken 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]
  2. Spezifischer Fehlerfall

    1. 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>
          }
      }
    2. 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>'
  3. Alle Unterbenutzer auflisten

    POST
    https://api.idrivee2.com/api/subusers/v1/listKlicken 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>'
  4. Unterbenutzer erstellen

    PUT
    https://api.idrivee2.com/api/subusers/v1/create_accountKlicken 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

    1. 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'
          }
      }
    2. Speicher existiert nicht.
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'storage_non_existant',
              message: 'Storage does not exist'
          }
      }
    3. Benutzer existiert bereits
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_already_signedup',
              message: 'User signed up'
          }
      }
    4. 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>'
  5. Unterbenutzer deaktivieren

    POST
    https://api.idrivee2.com/api/subusers/v1/disableKlicken 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

    1. 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'
          }
      }
    2. 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'
          }
      }
    3. 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>'
  6. Unterbenutzer aktivieren

    POST
    https://api.idrivee2.com/api/subusers/v1/enableKlicken 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

    1. 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'
          }
      }
    2. 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'
          }
      }
    3. 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>'
  7. Unterbenutzer entfernen

    POST
    https://api.idrivee2.com/api/subusers/v1/removeKlicken 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

    1. 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'
          } }
    2. Wenn das Unterbenutzerkonto nicht deaktiviert ist
      Response (application/JSON) : {
                                           error: {
              type: 'invalid_request_error',
              code: 'user_account_not_disabled',
              message: 'User account not disabled'
          } }
    3. 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>'
  8. Einladung stornieren

    POST
    https://api.idrivee2.com/api/subusers/v1/invite/cancelKlicken 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

    1. 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>'
  9. Subuser aktualisieren

    POST
    https://api.idrivee2.com/api/subusers/v1/updateKlicken 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

    1. Speicher existiert nicht
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'storage_non_existant',
              message: 'Storage does not exist'
          }
      }
    2. Das Konto existiert nicht.
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }
    3. 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>'
  10. Aktivitätsprotokolle abrufen

    POST
    https://api.idrivee2.com/api/subusers/v1/user_activity_historyKlicken 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 1

    Ausgabe
    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

    1. 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'
          }
      }
    2. 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>'