リセラーAPIコレクション

IDrive® e2 リセラーAPIはRESTアーキテクチャ上で開発されています。

IDrive® e2 リセラーAPIは、リクエストボディとして 'application/JSON' のコンテンツタイプを受け取り、'application/JSON' のレスポンスを返します。

当APIはAPIキー認証方式を採用しています。APIキーはIDrive® e2アカウントのプロフィールセクションから生成できます。

プロフィールセクションで生成したAPIキーを、すべてのHTTP APIコールのヘッダーの 'token' キーに追加してください。

HTTPレスポンスコード:

  • 200(成功)
  • 500(サーバーエラー)
  • 400(無効なパラメータ)
  • 401(認証失敗)
  • 403(無効なリクエスト)

エラーレスポンスボディは以下の構造になります:

                        Response (application/JSON) : { 
      error : {
         string type;
         string code;
         string message;
       }
}

可能な値 'error.type' は以下の通りです:

  1. api_error
  2. invalid_request_error
  3. server_error

詳細については、'error.code' および 'error.message' が何が問題であったかを説明します。

一般的なエラーケース

以下は、すべてのAPIで返される可能性のある一般的なエラーケースです。その他のエラーケースは、特定のAPIとともに文書化されます。

  1. サーバーエラー(HTTP 500)
     
                               Response (application/JSON) : {
          error:{
                type: 'api_error',
                code: 'request_processing_failed',
                message: 'Unable to process this request, please try again later'
                }
    }
  2. 権限がありません(HTTP 401)
     
                                  Response (application/JSON) : {
          error:{
                type: 'invalid_request_error',
                code: 'unauthorized',
                message: 'Authentication header missing/invalid'
           }
    }
  3. 無効なパラメータ(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)
             }
    }
認証ヘッダー API キー
Key token
Value <YOUR-API-KEY>

API全体で使用される列挙型は以下の通りです:

列挙型:

アクセスキーの権限:

                        {
    0: 読み取りアクセス,
    1: 書き込みアクセス,
    2: 読み取り/書き込みアクセス
}

ユーザー操作

  1. すべてのユーザーを一覧表示

    GET
    https://api.idrivee2.com/api/reseller/v1/usersクリックしてコピーリンクがコピーされました これは、あなたのプロファイルに追加されたすべてのユーザーを表示します。

    出力

    APIは、あなたのプロファイルに追加されたユーザーの配列を返します。
    レスポンスの構造は以下の通りです:

                               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. 注意:
    storage_used (バイト)
    storage_quota (GB) (0 : 無制限、それ以外は > 0)
    invite_url が null でない場合、招待されたユーザーがサインアップに使用できます

    Curl Example Request:

    curl --request GET 'https://api.idrivee2.com/api/reseller/v1/users' --header 'token: <your api key>'
  3. ユーザーを作成
  4. PUT
    https://api.idrivee2.com/api/reseller/v1/create_userクリックしてコピーリンクがコピーされました このAPIは、あなたのアカウントにリンクされたIDrive® e2のユーザーアカウントを作成します。

    入力

                                  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

    注意:

    • Quota (GB's) (0 : 無制限、それ以外は >0)
    • Password は base64 エンコードされた文字列です。
    • email_notification が提供され、false に設定されている場合、指定されたメールアドレスに通知メールは送信されません。

    長さのパラメータ

    • Email [255]
    • Password [100]
    • First Name [64]
    • Last Name [64]

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { user_created: true }

    エラーケース

    • 無効なリクエスト (HTTP-403)
      1. ユーザーは既に存在し、あなたのアカウントにリンクされています。
                                            { 
            error:{
                  type: 'invalid_request_error',
                  code: 'user_signed_up',
                  message : 'User already signed up'
                 }
        }
      2. メールアドレスは既に使用されています (アカウントにリンクされていない独立したアカウントが存在します)
                                               { 
            error:{
                  type: 'invalid_request_error',
                  code: 'email_already_in_use',
                  message: 'Email already in use'
                 }
        }

    例リクエスト :Body (application/JSON)

                                           {
        "email": "e2reseller+1@idrivee2.com",
        "password":"dGVzdDEyMw==",
        "first_name":"dev",
        "quota": 1024,
        "email_notification": false
    }

    Curl 例リクエスト:

                                           curl  --request PUT 'https://api.idrivee2.com/api/reseller/v1/create_user' 
    --data '{
        "email": "e2reseller+1@idrivee2.com",
        "password":"dGVzdDEyMw==",
        "first_name":"dev",
        "quota": 1024
    }' --header 'token: <your api key>'
  5. ユーザーを無効化
  6. POST
    https://api.idrivee2.com/api/reseller/v1/disable_userクリックしてコピーリンクがコピーされました このAPIはユーザーアカウントを無効化します。ユーザーはログイン、データへのアクセス、操作を行うことができなくなります。

    入力

    string email;

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーがサインアップ済みであること。
    • アカウントが有効であること。

    出力
    成功した場合の API レスポンス (アプリケーション/JSON) は次のようになります。

    { user_disabled : true }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントはすでに無効になっています
                                                           error:{ 
               type: 'invalid_request_error',
               code: 'user_account_already_disabled',
               message: 'Account already disabled for the user'
               }
        }
      2. アカウントが存在しません。
                                                        error:{ 
               type: 'invalid_request_error',
               code: 'account_non_existant',
               message: 'Account with this email does not exist'
               }
        }

    リクエスト例 :Body (application/JSON)

                                           {
        "email":"e2reseller+1"
    }

    Curl リクエスト例:

                                           curl --request POST 'https://api.idrivee2.com/api/reseller/v1/disable_user' 
    --data '{
        "email":"e2reseller+1@idrivee2.com"
    }'
  7. ユーザーを有効化
  8. POST
    https://api.idrivee2.com/api/reseller/v1/enable_userクリックしてコピーリンクがコピーされました この API は無効化されたユーザーアカウントを再度有効化します。ユーザーはログインし、データにアクセスし、通常の操作を行うことができます。

    入力

    string email;

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーがサインアップ/作成されていること。
    • ユーザーアカウントが以前に無効化されていること。

    出力
    成功した場合の API レスポンス (アプリケーション/JSON) は次のようになります。

    { user_enabled : true }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                           error:{ 
               type: 'invalid_request_error',
               code: 'account_non_existant',
               message: 'Account with this email does not exist'
               }
        }
      2. アカウントはすでに有効です。
                                                        error:{ 
               type: 'invalid_request_error',
               code: 'user_account_already_enabled',
               message: 'Account already enabled for the user'
               }
        }

    リクエスト例 :Body (application/JSON)

                                          {
        "email":"e2reseller+1"
    }

    Curl リクエスト例:

                                           curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user' 
    --data '{
        "email":"e2reseller+1@idrivee2.com"
    }' --header 'token: <your api key>'
  9. ユーザーを削除
  10. POST
    https://api.idrivee2.com/api/reseller/v1/remove_userクリックしてコピーリンクがコピーされました この API は IDrive® e2 からユーザーを永久に削除します。

    注意: この操作を実行すると、ユーザーデータは永久に失われます。

    入力

    string email;

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーは無効化されている必要があります。

    出力
    成功した場合の API レスポンス (JSON) は次のようになります。:

    { user_removed : true }
    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                           {
              error:{
                     type: 'invalid_request_error',
                     code: 'account_non_existant',
                     message:'Account with this email does not exist'
                    }
        }
      2. アカウントが無効化されていません。
                                                              {
              error:{
                     type: 'invalid_request_error',
                     code: 'user_account_not_disabled',
                     message: 'User account not disabled'
                    }
        }

    リクエスト例 :Body (application/JSON)

                                             {
        "email":"e2reseller+1"
    }

    Curl リクエスト例:

                                              curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_user' 
    --data '{
        "email":"e2reseller+1"
    }' --header 'token: <your api key>'
  11. ストレージ使用量の取得
  12. POST
    https://api.idrivee2.com/api/reseller/v1/usage_statsクリックしてコピーリンクがコピーされました この API は、指定されたユーザーの IDrive® e2 利用状況の配列を返します。

    入力

                                              {
        string email;
        string date_from;
        string date_to;
    }

    date_from(ISO8601)(start date)
    date_to(ISO8601) (end date)
    長さパラメータ

    • Email [255]

    前提条件s

    • ユーザーは登録する必要があります

    出力
    Array of usage_stats structure

                                                 struct usage_stats{ 
           double downloads;
           double uploads;
           double disk_used;
           string date;
    }

    downloads, uploads, disk_used are in bytes
    Error Cases

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                              {
             error:{
                   type: 'invalid_request_error',
                   code: 'account_non_existant',
                   message: 'Account with this email does not exist'
                  }
        }

    リクエスト例 :Body (application/JSON)

                                                {
        "email":"e2reseller+1",
        "date_to":"2022-08-31",
        "date_from":"2022-08-01"
    }

    Curl リクエスト例:

                                                 curl  --request POST 'https://api.idrivee2.com/api/reseller/v1/usage_stats' 
    --data '{
        "email": "DEV-TEST+1@idrivee2.com",
        "date_to":"2022-08-31",
        "date_from":"2022-08-01"
    }' --header 'token: <your api key>'
  13. アクティビティログの取得
  14. POST
    https://api.idrivee2.com/api/reseller/v1/user_activity_historyクリックしてコピーリンクがコピーされました このAPIは、指定された期間のユーザーのアクティビティログを取得します。

    入力

                                              string email;
    string start_date;
    string end_date;
    int page_no;

    長さパラメータ

    • Email [255]

    注意

    start_date (ISO8601) - 開始日
    end_date (ISO8601) - 終了日
    page_no - APIはページネーションされており、各ページは200件のレコードで構成されています
    そして page_no1 から始まります

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

                                               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;
        }

    特定のエラーケース

    1. アカウントが存在しません。
                                                   Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }

    リクエスト例 :Body (application/JSON)

                                                    { 
        "email": "abc1@example.com",
        "start_date": "2025-04-05",
        "end_date": "2025-05-28",
        "page_no": 1
    }

    Curl リクエスト例:

                                              curl --request POST 'https://api.idrivee2.com/api/reseller/v1/user_activity_history'
    --data '{
        "email": "abc1@example.com",
        "start_date": "2025-04-05",
        "end_date": "2025-05-28",
        "page_no": 1
    }' --header 'token: <your api key>'

ストレージ操作

  1. リージョンの一覧

    GET
    https://api.idrivee2.com/api/reseller/v1/regionsクリックしてコピーリンクがコピーされました IDrive® e2 のリージョンの配列を返します。

    出力

    struct regions{ 
            string region_key;
            string region_name;
            string country;
            string region_code;
            bool active;
            bool hdd_storage;
            string cors;
    }

    注意: 有効なリージョンのみがユーザーに対して有効化できます。

    リクエスト例: リージョンの一覧

    curl --request GET 'https://api.idrivee2.com/api/reseller/v1/regions' --header 'token: <your api key>'
                                     
                                  
  2. ユーザーのリージョンを有効化
  3. POST
    https://api.idrivee2.com/api/reseller/v1/enable_user_regionクリックしてコピーリンクがコピーされました このAPIはユーザーのリージョンを有効化します。

    入力

    {
         string email;
         string region;
    }

    region : list regions API から取得した region_key。例: "TX", "LDN" など。

    API は、有効化されたリージョンのストレージ DN (ドメイン名) を返します。この DN を使用して、アクセスキーとシークレットキーを使ってユーザーストレージにアクセスできます。

    長さパラメータ

    • Email [255]
    • Region[5]

    前提条件

    • 既存のユーザーアカウント。
    • ユーザーに対してリージョンが有効化されていないこと。

    出力

    成功時の API レスポンス (application/JSON) は以下の通りです:

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

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ユーザーに対してリージョンが既に有効化されています。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'region_already_enabled',
                  message: 'Storage region already enabled for user'
            }
        }
      3. ユーザーが無効化されています。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      4. アカウントの支払いに失敗しました。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'payment_failed',
                  message: 'Account expired please update payment info'
            }
        }

    リクエスト例 :Body (application/JSON)

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

    Curl リクエスト例:

                                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. ユーザーの有効化されたリージョンの一覧

    POST
    https://api.idrivee2.com/api/reseller/v1/list_user_regionsクリックしてコピーリンクがコピーされました この API は、ユーザーの有効化されたすべてのリージョンを一覧表示します。

    入力

    {
                                       
    string email;
    }

    長さパラメータ

    • Email [255]

    前提条件

    • 既存のユーザーアカウント。

    出力

    成功時の API レスポンス (application/JSON) は以下の通りです:

                                     { 
      user_regions: /*lists user enabled regions*/
    }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ユーザーが無効化されています。
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }

    リクエスト例 :Body (application/JSON)

                                        {
      "email":""
    }

    Curl リクエスト例:

    curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_user_regions'
    --data '{
    "email":""
    }' --header 'token: <your api key>'
  5. ユーザーに割り当てられたリージョンを削除
  6. POST
    https://api.idrivee2.com/api/reseller/v1/remove_user_regionクリックしてコピーリンクがコピーされました この API は、ユーザーに割り当てられたリージョンを削除します。

    入力

    { 
        string email;
        string storage_dn;
    }

    'storage_dn' は、削除したいユーザーに割り当てられたストレージドメインです。

    長さパラメータ

    • Email [255]
    • Storage_dn[128]

    前提条件

    • ユーザーがサインアップ済みであること。
    • ストレージがユーザーに割り当てられていること。

    この操作により、ユーザーデータが削除されることに注意してください。

    API は、以下の場合にユーザーのリージョンを削除できます。

    ユーザーが無効化されている状態であること

    1. ユーザーによって作成されたバケットが存在しないこと

    出力

    成功時の API レスポンス (JSON) は以下の通りです:

    {removed : true}

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ストレージが存在しません。
                                                  {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. ストレージが空でない場合。
                                                  {
            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'
            }
        }

    リクエスト例 :Body (application/JSON)

                                  {
        "email":"e2reseller+1",
        "storage_dn": "abcd.test@idrivee2.com"
    }

    Curl リクエスト例:

    							  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 設定を更新
  8. Method: POST
    URL:  https://api.idrivee2.com/api/reseller/v1/storage/set_corsクリックしてコピーリンクがコピーされました この API は、リージョンの CORS 設定を更新します。

    コンテンツタイプ : application/json

    Header API Key:

    'token': <your token>

    必須パラメータ:

                                        
                                        body : { 
             "email": "test@test.com",
             "storage_dn": "cxan.tx21.edgedrive.com",
             "cors": "test1.com,test2.com,test3.com",
          }

    必須パラメータ: email,storage_dn,cors
    パラメータの長さの制限: email[255],storage_dn[128], cors (最大10個のカンマ区切りのドメインリスト)
    注意: すべての CORS に対して、CORS を "*" に設定することができます。これはすべてのリージョンのデフォルトの CORS でもあります。

    出力

    成功時、API は以下のレスポンス (application/JSON) を返します:

                                        {
    cors_updated: true
    }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ストレージが存在しません。
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. 無効な CORS パラメータ。
                                                     {
            error:{
                  type: 'invalid_request_error',
                  code: 'invalid_cors_policy',
                  message: 'The cors policy is invalid' / 'Maximum 10 cors are allowed'
            }
        }

    Curl リクエスト例:

                                        curl --location --request POST 
    https://api.idrivee2.com/api/reseller/v1/storage/set_cors\
    --header 'token: <your token>' \
    --header 'Content-Type: application/json' \
    --data-raw '{
       "email":"test@test.com",
       "storage_dn":"cxan.tx21.edgedrive.com",
       "cors":"test1.com,test2.com,test3.com",
    }'
  9. アクセスキーの追加
  10. POST
    https://api.idrivee2.com/api/reseller/v1/create_access_keyクリックしてコピーリンクがコピーされました この API は、ストレージアクセス用のアクセスキーを作成し、アクセスキー ID とシークレットキーを返します。

    入力

    { 
        string email;
        string storage_dn;
        string name;
        int permissions;
        array buckets; //buckets is an optional parameter
    }

    Buckets: 指定されたバケットにアクセスするためのアクセスキーを作成するために、バケット名のリストを提供します。アクセスキーがすべてのバケットに対して有効な場合、'buckets' の入力は不要です。

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ストレージ DN が該当ユーザーに割り当てられていること。
    • バケットが提供されている場合、空であってはならないこと。

    長さパラメータ

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

    アクセスキー権限列挙:

    { 
        0: 読み取りアクセス
        1: 書き込みアクセス
        2: 読み取り/書き込みアクセス
    }

    出力

    成功時、API は以下のレスポンスを返します (application/JSON):

                                  {
    created: true,
            data: {
                    access_key: /access key/
                    secret_key: /* secret key*/
            }
    }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ストレージが存在しません。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. ユーザーが無効化されています。
                                               {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }

    リクエスト例 :Body (application/JSON)

                               {
        "email":"e2reseller+1",
        "storage_dn":"abcd.test@idrivee2.com",
        "name":"myaccesskeyname",
        "permissions":0
    }

    Curl リクエスト例:

                                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. アクセスキーの一覧
  12. POST
    https://api.idrivee2.com/api/reseller/v1/list_access_keysクリックしてコピーリンクがコピーされました この API は、ストレージのすべてのアクセスキーを一覧表示します。

    入力

    { 
        string email;
        string storage_dn;
    }

    'storage_dn' は、すべてのアクセスキーを一覧表示したいユーザーに割り当てられたストレージドメインです。

    長さパラメータ

    • email [255]
    • storage_dn[128]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。

    出力

    成功時、API は以下のレスポンスを返します (application/JSON):

                                  {
      'storage_dn' : /*user_storage_dns*/,
      'access_keys' : [
          {
            'key_id' : /*key_id*/,
            'name' : /*key_name*/,
            'creation_date' : /*date_of_key_creation*/,
            'description' : /*description_of_access_key_permissions*/
          },
          {...},
          …
        ]
    }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ストレージが存在しません。
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exist'
            }
        }
      3. ユーザーが無効化されています。
                                            {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled '
            }
        }

    リクエスト例 : Body (application/JSON)

                               {
        "email" : "e2reseller+1@idrivee2.com",
        "storage_dn" : "abcd.test.idrivee2.com"
    }

    Curl リクエスト例:

                             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. アクセスキーの削除
  14. POST
    https://api.idrivee2.com/api/reseller/v1/remove_access_keyクリックしてコピーリンクがコピーされました この API は、ストレージのアクセスキーを削除します。

    入力

    { 
        string email;
        string storage_dn;
        string access_key;
    }

    長さパラメータ

    • Email [255]
    • storage_dn[128]
    • access_key[128]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。
    • ストレージにアクセスキーが存在すること。

    出力

    成功時、API は以下のレスポンスを返します (application/JSON):

    {removed : true}

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ストレージが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'storage_non_existant',
                  message: 'Storage does not exists'
            }
        }
      3. ユーザーが無効化されています。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      4. アクセスキーが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'access_key_non_existant',
                  message: 'Access key does not exist, please provide a valid access key'
            }
        }

    リクエスト例 : Body (application/JSON)

                         {
        "email":"e2reseller+1",
        "storage_dn":"abcd.test@idrivee2.com",
        "access_key":"<ACCESS-KEY-ID>"
    }

    Curl リクエスト例:

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

ホワイトラベリング操作

  1. CNAMEの追加

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/addクリックしてコピーリンクがコピーされました この API は、指定されたストレージ DNS に CNAME を追加します。

    入力

    { 
        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' は、ユーザーに割り当てられたストレージドメインです。

    'CNAME' は、新しく割り当てる必要がある CNAME です。

    'file_index' はオプションのパラメータです。

    長さパラメータ

    • email[255]
    • storage_dn[128]
    • CNAME[128]
    • public_key[10000]
    • private_key[6000]
    • file_index[64]
    • passphrase[255]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。
    • storage_dn は、List User Enabled Regions API から取得した テナントエンドポイント である必要があります。

    出力

    成功した場合、API はレスポンス (application/JSON) を返します。

    { 'cname_added' : true }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. CNAME を使用できません
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'this CNAME cannot be used, please try changing your CNAME'
            }
        }
      3. ストレージドメインが存在しません。storage_dn が間違っている場合
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      4. CNAME が既に設定されている場合
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'CNAME already configure'
            }
        }
      5. 無効な CNAME または証明書(公開鍵と秘密鍵が間違っている場合)
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Could not verify CNAME or certificates. Please try again'
            }
        }
    • サーバーエラー(HTTP 500)
      1. Unable to process this request
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 指定された DNS に対するデータが見つかりません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'data not found for given dns'
            }
        }

    例: リクエストボディ (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 例リクエスト:

    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. CNAME の一覧取得

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cnameクリックしてコピーリンクがコピーされました この API は、ストレージのすべての CNAME を一覧表示します。

    入力

    { 
        string email;
        string storage_dn;
    }

    'storage_dn' は、CNAME を一覧表示したいユーザーに割り当てられたストレージドメインです。

    長さパラメータ

    • email[255]
    • storage_dn[128]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。
    • 'storage_dn' は、List User Enabled Regions API から取得した テナントエンドポイント である必要があります。

    出力

    成功時、API は以下のレスポンス (application/JSON) を返します :

    {
        'cname_list' : [
             {
                  file_index: /*file_index*/,
                  cname: /*cname*/,
                  certificate_info: /*isValidSsl.certInfo*/
                  creation_date: /*creation_date*/
             }

             {...},
         ]
    }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ユーザーが無効です。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
    • サーバーエラー(HTTP 500)
      1. このリクエストを処理できません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 指定された DNS に対するデータが見つかりません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'data not found for given dns'
            }
        }

    例リクエスト : ボディ (application/JSON)

    { 
        "email": "e2reseller+1@idrivee2.com",
        "storage_dn": "abcd.test.idrivee2.com",
    }

    Curl 例リクエスト:

    curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname'
    --data'{
        email: "e2reseller+1@idrivee2.com",
        storage_dn: abcd.test.idrivee2.com,
    }'--header 'token:<your api key>'
  3. CNAMEを更新する

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/updateクリックしてコピーリンクがコピーされました この API は、指定されたストレージ DNS の CNAME を更新します。

    入力

    { 
        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' は、ユーザーに割り当てられたストレージドメインです。

    'CNAME' は、既存の CNAME を置き換える必要がある新しい CNAME です。

    'file_index' はオプションのパラメータです。

    長さパラメータ

    • email[255]
    • storage_dn[128]
    • CNAME[128]
    • public_key[10000]
    • private_key[6000]
    • file_index[64]
    • passphrase[255]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。
    • storage_dn は、List User Enabled Regions API から取得した テナントエンドポイント である必要があります。

    出力

    成功時、API は以下のレスポンスを返します (application/JSON) :

    { 'cname_updated' : true }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. CNAME は使用できません (CNAME が iDrive ドメインの場合)
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'this CNAME cannot be used, please try changing your CNAME'
            }
        }
      3. ストレージドメインが存在しない場合 (storage_dn が間違っている場合)
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      4. storage_dn が間違っている場合
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      5. ストレージサーバーに接続できない場合 (ドメインが存在しない場合、または storage_dn が利用できない場合)
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Storage server cannot be reached right now, please try again later'
            }
        }
      6. CNAME が既に設定されている場合
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'CNAME already configured'
            }
        }
      7. 無効な CNAME または証明書(公開鍵や秘密鍵が間違っている場合)
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Could not verify CNAME or certificates. Please try again'
            }
        }
      8. ユーザーが無効
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
    • サーバーエラー(HTTP 500)
      1. このリクエストを処理できません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 指定されたDNSのデータが見つかりません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'data not found for given dns'
            }
        }

    リクエスト例: 本文(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 リクエスト例:

    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. CNAMEの削除

    POST
    https://api.idrivee2.com/api/reseller/v1/storage/cname/removeクリックしてコピーリンクがコピーされました このAPIはストレージDNSのCNAMEを削除します。

    入力

    { 
        string email;
        string storage_dn;
        string cname;
    }

    'storage_dn' はユーザーに割り当てられたストレージドメインです。

    CNAME: 削除するCNAMEを指定します。

    長さパラメータ

    • email[255]
    • storage_dn[128]
    • CNAME[128]

    前提条件

    • ユーザーがサインアップ/作成され、有効化されていること。
    • ユーザーにストレージが割り当てられていること。
    • CNAMEがストレージドメインにマッピングされていること。
    • storage_dnは、List User Enabled Regions APIから取得したテナントエンドポイントである必要があります。

    出力

    成功時、APIは以下のレスポンス(application/JSON)を返します :

    { 'cname_removed' : true }

    エラーケース

    • 無効なリクエスト (HTTP 403)
      1. アカウントが存在しません。
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'account_non_existant',
                  message: 'Account with this email does not exist'
            }
        }
      2. ユーザーが無効化されています
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'user_disabled',
                  message: 'User Disabled'
            }
        }
      3. CNAMEを使用できません
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'this CNAME cannot be used, please try changing your CNAME'
            }
        }
      4. ストレージドメインが存在しません
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Unable to retrieve storage info for given storage_dn'
            }
        }
      5. ストレージサーバーに接続できません
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'Storage server cannot be reached right now, please try again later'
            }
        }
      6. ストレージドメインにCNAMEが存在しません
                                         {
            error:{
                  type: 'invalid_request_error',
                  code: 'request_processing_failed',
                  message: 'cannot get cname details'
            }
        }
      7. CNAMEの削除に失敗しました
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
    • サーバーエラー(HTTP 500)
      1. リクエストの処理に失敗しました
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'Unable to process this request, please try again later'
            }
        }
      2. 指定されたDNSに対するデータが見つかりません
                                         {
            error:{
                  type: 'api_error',
                  code: 'request_processing_failed',
                  message: 'data not found for given dns'
            }
        }

    リクエスト例 : Body (application/JSON)

    { 
        "email": "e2reseller+1@idrivee2.com",
        "storage_dn": "abcd.test.idrivee2.com",
        "cname" : "example.mycloud.io"
    }

    Curl リクエスト例:

    curl --request POST 'https://api.idrivee2.com/api/reseller/v1/storage/cname/remove
    --data'{
        "email": "e2reseller+1@idrivee2.com",
        "storage_dn": "abcd.test.idrivee2.com",
        "cname" : "example.mycloud.io"
    }'--header 'token:<your api key>'

サブユーザー操作

IDrive® e2 サブユーザーAPIは、リセラーアカウントでサポートされています。リセラー管理者は、自分のアカウントに属する任意のユーザーに代わってこれらのAPIを呼び出すことができます。言い換えれば、リセラー管理者は自分のAPIキーを使用して、関連するユーザーのサブユーザー管理操作を実行できます。

この機能を有効にするには、すべてのAPIリクエストに追加の必須パラメータ:admin_emailを含める必要があります。リクエストボディにadmin_emailパラメータが含まれていない場合、リセラーアカウントによるリクエストは処理されません。

Enums:

Subuser Permissions:
{
    0: Read access,
    1: Write access,
    2: Read/Write access
}
  1. サブユーザーを招待

    PUT
    https://api.idrivee2.com/api/subusers/v1/inviteクリックしてコピーリンクがコピーされました このAPIは、リクエストで指定されたサブユーザーのメールアドレスにサブユーザーアカウント作成の招待を送信します。

    入力

                            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;

    Note:

    • "subuser_email" - 招待を送信するサブユーザーのメールアドレス
    • "disable_delete_object" - falseの場合、サブユーザーがオブジェクトの削除を実行できるかどうかを示すブール値、デフォルトはtrue
    • "pemissions" - 列挙型パラメータで、0 = 読み取り専用権限、1 = アップロード専用権限、2 = 読み取りおよび書き込み権限
    • "is_admin" - trueの場合、サブユーザーを管理者サブユーザーにするためのブール値。このフラグをtrueに設定すると、サブユーザーにすべてのストレージアクセス(読み取りおよび書き込み)権限が付与されます。
    • "sso_login" - サブユーザーのSSOログインが有効かどうかを設定するブール値
    • "allow_session_timeout_settings" - trueの場合、サブユーザーがセッションタイムアウト設定を構成できるようにするブール値
    • "idle_timeout" - 管理者ユーザーがサブユーザーのセッションタイムアウト(秒単位)を構成したい場合に使用します。最大許容値は3600秒(1時間)です
    • "concurrent_sessions" - trueの場合、サブユーザーが複数の同時セッションを持つことを許可するブール値
    • "allow_concurrent_session_settings" - trueの場合、サブユーザーが複数の同時セッション設定を構成できるようにするブール値
    • "storage_access" - 権限オブジェクトの配列。管理者がサブユーザーに限定されたバケットへのアクセスを許可したい場合に使用します。例えば、管理者がサブユーザーにシカゴリージョンの"bucket1"と"bucket2"、アイルランドリージョンの"bucket3"と"bucket4"へのアクセスを許可したい場合、storage_access配列を以下のように設定します:
      [
                                          
       {
          "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"
          ]
       }
      ]

      "storage_access"はオプションのパラメータであり、管理者ユーザーがサブユーザーのバケットレベルのアクセスを制御したい場合にのみ送信する必要があります。

    出力
    成功時のAPIレスポンス(application/JSON)は以下のようになります:

    { 
        result: "invite successful",
        invite_url: "invitation url string"
    }

    長さパラメータ

    • email[255]
  2. 特定のエラーケース

    1. アカウントで許可されているサブユーザーの数の上限を超えた場合
      Response (application/JSON) :{ 
          error: {
              type: 'invalid_request_error',
              code: 'maximum_limit_reached',
              message: <information about your limit>
          }
      }
    2. sso_loginがtrueとして送信され、SSOが構成されていない場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'sso_not_configured',
              message: 'SSO is not configured'
          }
      }

      リクエスト例 :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 リクエスト例:

                                                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. すべてのサブユーザーを表示

    POST
    https://api.idrivee2.com/api/subusers/v1/listクリックしてコピーリンクがコピーされました これは、あなたのプロファイルに追加されたすべてのサブユーザーを表示します。

    入力

    string admin_email; 

    出力
    APIは、あなたのプロファイルに追加されたユーザーの配列を返します。
    レスポンスの構造は以下の通りです:

                                     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;
    }

    注意
    Userオブジェクトのパラメータは、invite APIで説明されているリクエストボディのパラメータに対応しています。詳細については、invite APIを参照してください。

    Curl リクエスト例

                                        curl --request POST 'https://api.idrivee2.com/api/subusers/v1/list' 
    --data '{
        "admin_email": "abc@example.com"
    }'
    --header 'token: <your api key>'
  4. サブユーザーを作成

    PUT
    https://api.idrivee2.com/api/subusers/v1/create_accountクリックしてコピーリンクがコピーされました これは、あなたのアカウントにリンクされるサブユーザーアカウントを作成します。

    入力

                                        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

    注意
    リクエストボディのパラメータの詳細については、サブユーザー招待APIを参照してください。

    長さパラメータ

    • Email [255]
    • Password [100]
    • First Name [64]
    • Last Name [64]

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです:

    { success: true }

    特定のエラーケース

    1. アカウントで許可されているサブユーザーの数の上限を超えた場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'maximum_limit_reached',
              message: 'information about your limit'
          }
      }
    2. ストレージが存在しない場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'storage_non_existant',
              message: 'Storage does not exist'
          }
      }
    3. ユーザーが既に存在する場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_already_signedup',
              message: 'User signed up'
          }
      }
    4. sso_login が true として送信され、SSO が構成されていない場合
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'sso_not_configured',
              message: 'SSO is not configured'
          }
      }

    リクエスト例 :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 リクエスト例:

    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. サブユーザーを無効化

    POST
    https://api.idrivee2.com/api/subusers/v1/disableクリックしてコピーリンクがコピーされました このAPIはサブユーザーアカウントを無効化します。サブユーザーはログイン、データへのアクセス、および操作を行うことができなくなります。

    入力

                                        string subuser_email;
    string admin_email;
    bool email_notification; // サブユーザーへのメール通知は、このパラメータが true に設定されている場合にのみ送信されます

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーがサインアップしていること。
    • アカウントが有効であること。

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { success: true }

    特定のエラーケース

    1. サブユーザーがサインアップしていない場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_not_signed_up',
              message: 'Subuser is not signed up'
          }
      }
    2. サブユーザーアカウントが既に無効化されている場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_account_already_disabled',
              message: 'Account already disabled for the user'
          }
      }
    3. アカウントが存在しない場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }

    リクエスト例 :Body (application/JSON)

    { 
      "subuser_email": "abc1@example.com",
      "admin_email": "admin1@example.com",
      "email_notification": true
    }

    Curl リクエスト例:

    curl --request POST 'https://api.idrivee2.com/api/subusers/v1/disable' 
    --data '{
      "subuser_email": "abc1@example.com",
      "admin_email": "admin1@example.com",
      "email_notification": true
    }' --header 'token: <your api key>'
  6. サブユーザーを有効化

    POST
    https://api.idrivee2.com/api/subusers/v1/enableクリックしてコピーリンクがコピーされました このAPIは無効化されたサブユーザーアカウントを再度有効化します。サブユーザーは有効化後、ログイン、データアクセス、および通常の操作を行うことができます。

    入力

                                        string subuser_email;
    string admin_email;
    bool email_notification; // サブユーザーへのメール通知は、このパラメータが true に設定されている場合にのみ送信されます

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { success: true }

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーがサインアップ/作成されていること。
    • ユーザーアカウントが以前に無効化されていたこと。

    特定のエラーケース

    1. サブユーザーがサインアップしていない場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_not_signed_up',
              message: 'Subuser is not signed up'
          }
      }
    2. サブユーザーアカウントがすでに有効化されている場合
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'user_account_already_enabled',
              message: 'Account already enabled for the user'
          }
      }
    3. アカウントが存在しません。
      Response (application/JSON) : { 
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }

    リクエスト例 :Body (application/JSON)

    { 
        "subuser_email": "abc1@example.com",
        "admin_email": "admin1@example.com",
        "email_notification": true
    }

    Curl Example Request:

                                        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. サブユーザーを削除

    POST
    https://api.idrivee2.com/api/subusers/v1/removeクリックしてコピーリンクがコピーされました このAPIはIDrive® e2からユーザーを永久に削除します。
    注意: この操作を実行すると、ユーザーデータは永久に失われます。

    入力

                                        string subuser_email;
    string admin_email;
    bool email_notification; // email notification to the subuser will be sent only if this parameter is set to true

    長さパラメータ

    • Email [255]

    前提条件

    • ユーザーは無効化されている必要があります。

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { success: true }

    長さパラメータ

    • Email [255]

    特定のエラーケース

    1. サブユーザーがサインアップしていない場合
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'user_not_signed_up',
              message: 'Subuser is not signed up'
          } }
    2. サブユーザーアカウントが無効化されていない場合
      応答 (application/JSON) : {
                                           error: {
              type: 'invalid_request_error',
              code: 'user_account_not_disabled',
              message: 'User account not disabled'
          } }
    3. アカウントが存在しない場合
      応答 (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          } }

    リクエスト例 :Body (application/JSON)

    {
        "subuser_email": "abc1@example.com",
        "admin_email": "admin1@example.com",
        "email_notification": true
    }

    Curl リクエスト例:

                                     curl --request POST 'https://api.idrivee2.com/api/subusers/v1/remove'
    --data '{
        "subuser_email": "abc1@example.com",
        "admin_email": "admin1@example.com",
        "email_notification": true
    }' --header 'token: <your api key>'
  8. 招待のキャンセル

    POST
    https://api.idrivee2.com/api/subusers/v1/invite/cancelクリックしてコピーリンクがコピーされました このAPIは、サブユーザーに送信された招待をキャンセルします。

    入力

                                  string subuser_email;
    string admin_email;

    長さパラメータ

    • Email [255]

    前提条件

    • サブユーザーが既にサインアップしていないこと。

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { success: true }

    特定のエラーケース

    1. サブユーザーが既にサインアップしている場合
      応答 (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'user_already_signedup',
              message: 'User signed up'
          }
      }

    リクエスト例 :Body (application/JSON)

    {
        "subuser_email": "abc1@example.com",
        "admin_email": "admin1@example.com"
    }

    Curl リクエスト例:

                                  curl --request POST 'https://api.idrivee2.com/api/subusers/v1/invite/cancel'
    --data '{
        "subuser_email": "abc1@example.com",
        "admin_email": "admin1@example.com"
    }' --header 'token: <your api key>'
  9. サブユーザーの更新

    POST
    https://api.idrivee2.com/api/subusers/v1/updateクリックしてコピーリンクがコピーされました このAPIは、サブユーザーのアクセス、権限、SSO、およびセッション管理を更新します。このAPIは、招待されたサブユーザーとサインアップ済みのサブユーザーの両方を更新するために使用できます。

    入力

                                  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

    注意

    リクエストボディのパラメータの詳細については、サブユーザー招待APIを参照してください。更新が必要なパラメータのみをリクエストボディに含める必要があります。

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです :

    { success: true }

    長さパラメータ

    • Email [255]

    特定のエラーケース

    1. ストレージが存在しません
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'storage_non_existant',
              message: 'Storage does not exist'
          }
      }
    2. アカウントが存在しません
      レスポンス(アプリケーション/JSON): {
          error: {
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }
    3. If sso_login is sent as true and SSO is not configured
      Response (application/JSON) : {
          error: {
              type: 'invalid_request_error',
              code: 'sso_not_configured',
              message: 'SSO is not configured'
          }
      }

    リクエスト例: 本文 (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 リクエストの例:

                                  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. アクティビティログを取得する

    POST
    https://api.idrivee2.com/api/subusers/v1/user_activity_historyクリックしてコピーリンクがコピーされました このAPIは、指定された日付範囲のサブユーザーのアクティビティログを取得します。

    入力

                                     string subuser_email;
    string admin_email;
    string start_date;
    string end_date;
    int page_no;

    長さパラメータ

    • Email [255]

    注意

    start_date (ISO8601) - 開始日
    end_date (ISO8601) - 終了日
    page_no - APIはページネーションされており、各ページは200件のレコードで構成されています。
    page_no1から始まります。

    出力
    成功時のAPIレスポンス (application/JSON) は以下の通りです:

                                     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;
    }

    特定のエラーケース

    1. サブユーザーが登録されていない場合
      レスポンス(アプリケーション/JSON): { 
          error:{
              type: 'invalid_request_error',
              code: 'user_not_signed_up',
              message: 'Subuser is not signed up'
          }
      }
    2. アカウントが存在しません
      Response (application/JSON) : { 
          error:{
              type: 'invalid_request_error',
              code: 'account_non_existant',
              message: 'Account with this email does not exist'
          }
      }

    リクエスト例: 本文 (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 リクエスト例:

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