リセラー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' は以下の通りです:
詳細については、'error.code' および 'error.message' が何が問題であったかを説明します。
一般的なエラーケース
以下は、すべてのAPIで返される可能性のある一般的なエラーケースです。その他のエラーケースは、特定のAPIとともに文書化されます。
- サーバーエラー(HTTP 500)
Response (application/JSON) : {
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - 権限がありません(HTTP 401)
Response (application/JSON) : {
error:{
type: 'invalid_request_error',
code: 'unauthorized',
message: 'Authentication header missing/invalid'
}
} - 無効なパラメータ(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: 読み取り/書き込みアクセス
}
ユーザー操作
- すべてのユーザーを一覧表示
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;
} - ユーザーを作成
- Quota (GB's) (0 : 無制限、それ以外は >0)
- Password は base64 エンコードされた文字列です。
- email_notification が提供され、false に設定されている場合、指定されたメールアドレスに通知メールは送信されません。
- Email [255]
- Password [100]
- First Name [64]
- Last Name [64]
- 無効なリクエスト (HTTP-403)
- ユーザーは既に存在し、あなたのアカウントにリンクされています。
{
error:{
type: 'invalid_request_error',
code: 'user_signed_up',
message : 'User already signed up'
}
} -
メールアドレスは既に使用されています (アカウントにリンクされていない独立したアカウントが存在します)
{
error:{
type: 'invalid_request_error',
code: 'email_already_in_use',
message: 'Email already in use'
}
}
- ユーザーは既に存在し、あなたのアカウントにリンクされています。
- ユーザーを無効化
- Email [255]
- ユーザーがサインアップ済みであること。
- アカウントが有効であること。
- 無効なリクエスト (HTTP 403)
- アカウントはすでに無効になっています
error:{
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - アカウントが存在しません。
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- アカウントはすでに無効になっています
- ユーザーを有効化
- Email [255]
- ユーザーがサインアップ/作成されていること。
- ユーザーアカウントが以前に無効化されていること。
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - アカウントはすでに有効です。
error:{
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
}
- アカウントが存在しません。
- ユーザーを削除
- Email [255]
- ユーザーは無効化されている必要があります。
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message:'Account with this email does not exist'
}
} - アカウントが無効化されていません。
{
error:{
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
}
}
- アカウントが存在しません。
- ストレージ使用量の取得
- Email [255]
- ユーザーは登録する必要があります
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
- アカウントが存在しません。
- アクティビティログの取得
- Email [255]
- アカウントが存在しません。
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
}
注意:
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>'
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
注意:
長さのパラメータ
出力
成功時のAPIレスポンス (application/JSON) は以下の通りです :
{ user_created: true }
エラーケース
例リクエスト :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>'
POST
https://api.idrivee2.com/api/reseller/v1/disable_user
クリックしてコピーリンクがコピーされました
このAPIはユーザーアカウントを無効化します。ユーザーはログイン、データへのアクセス、操作を行うことができなくなります。
入力
string email;
長さパラメータ
前提条件
出力
成功した場合の API レスポンス (アプリケーション/JSON) は次のようになります。
{ user_disabled : true }
エラーケース
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl リクエスト例:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/disable_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}'
POST
https://api.idrivee2.com/api/reseller/v1/enable_user
クリックしてコピーリンクがコピーされました
この API は無効化されたユーザーアカウントを再度有効化します。ユーザーはログインし、データにアクセスし、通常の操作を行うことができます。
入力
string email;
長さパラメータ
前提条件
出力
成功した場合の API レスポンス (アプリケーション/JSON) は次のようになります。
{ user_enabled : true }
エラーケース
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl リクエスト例:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/remove_user
クリックしてコピーリンクがコピーされました
この API は IDrive® e2 からユーザーを永久に削除します。
注意: この操作を実行すると、ユーザーデータは永久に失われます。
入力
string email;
長さパラメータ
前提条件
出力
成功した場合の API レスポンス (JSON) は次のようになります。:
{ user_removed : true }
エラーケース
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}
Curl リクエスト例:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/remove_user'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/usage_stats
クリックしてコピーリンクがコピーされました
この API は、指定されたユーザーの IDrive® e2 利用状況の配列を返します。
入力
{
string email;
string date_from;
string date_to;
}
date_from(ISO8601)(start date)
date_to(ISO8601) (end date)
長さパラメータ
前提条件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
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"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>'
POST
https://api.idrivee2.com/api/reseller/v1/user_activity_history
クリックしてコピーリンクがコピーされました
このAPIは、指定された期間のユーザーのアクティビティログを取得します。
入力
string email;
string start_date;
string end_date;
int page_no;
長さパラメータ
注意
start_date (ISO8601) - 開始日
end_date (ISO8601) - 終了日
page_no - APIはページネーションされており、各ページは200件のレコードで構成されています
そして page_no は 1 から始まります
出力
成功時の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;
}
特定のエラーケース
リクエスト例 :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>'
ストレージ操作
- リージョンの一覧
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>' - ユーザーのリージョンを有効化
- Email [255]
- Region[5]
- 既存のユーザーアカウント。
- ユーザーに対してリージョンが有効化されていないこと。
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ユーザーに対してリージョンが既に有効化されています。
{
error:{
type: 'invalid_request_error',
code: 'region_already_enabled',
message: 'Storage region already enabled for user'
}
} - ユーザーが無効化されています。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - アカウントの支払いに失敗しました。
{
error:{
type: 'invalid_request_error',
code: 'payment_failed',
message: 'Account expired please update payment info'
}
}
- アカウントが存在しません。
- ユーザーの有効化されたリージョンの一覧
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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ユーザーが無効化されています。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- アカウントが存在しません。
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com"
}Curl リクエスト例:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/list_user_regions'
--data '{
"email":"e2reseller+1@idrivee2.com"
}' --header 'token: <your api key>' - ユーザーに割り当てられたリージョンを削除
- Email [255]
- Storage_dn[128]
- ユーザーがサインアップ済みであること。
- ストレージがユーザーに割り当てられていること。
- ユーザーによって作成されたバケットが存在しないこと
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ストレージが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - ストレージが空でない場合。
{
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'
}
}
- アカウントが存在しません。
- ユーザーリージョンの CORS 設定を更新
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ストレージが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - 無効な CORS パラメータ。
{
error:{
type: 'invalid_request_error',
code: 'invalid_cors_policy',
message: 'The cors policy is invalid' / 'Maximum 10 cors are allowed'
}
}
- アカウントが存在しません。
- アクセスキーの追加
- ユーザーがサインアップ/作成され、有効化されていること。
- ストレージ DN が該当ユーザーに割り当てられていること。
- バケットが提供されている場合、空であってはならないこと。
- Email [255]
- storage_dn[128]
- Name[64]
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ストレージが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - ユーザーが無効化されています。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- アカウントが存在しません。
- アクセスキーの一覧
- email [255]
- storage_dn[128]
- ユーザーがサインアップ/作成され、有効化されていること。
- ユーザーにストレージが割り当てられていること。
- 無効なリクエスト (HTTP 403)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ストレージが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - ユーザーが無効化されています。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled '
}
}
- アカウントが存在しません。
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 を使用して、アクセスキーとシークレットキーを使ってユーザーストレージにアクセスできます。
長さパラメータ
前提条件
出力
成功時の API レスポンス (application/JSON) は以下の通りです:
{ storage_added: true, storage_dn: /*user_storage_dns*/ }
エラーケース
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}
Curl リクエスト例:
curl --request POST 'https://api.idrivee2.com/api/reseller/v1/enable_user_region'
--data '{
"email":"e2reseller+1@idrivee2.com",
"region": "NY"
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/remove_user_region
クリックしてコピーリンクがコピーされました
この API は、ユーザーに割り当てられたリージョンを削除します。
入力
{
string email;
string storage_dn;
}
'storage_dn' は、削除したいユーザーに割り当てられたストレージドメインです。
長さパラメータ
前提条件
この操作により、ユーザーデータが削除されることに注意してください。
API は、以下の場合にユーザーのリージョンを削除できます。
ユーザーが無効化されている状態であること
出力
成功時の API レスポンス (JSON) は以下の通りです:
{removed : true}
エラーケース
リクエスト例 :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/remove_user_region'
--data '{
"email":"e2reseller+1@idrivee2.com",
"storage_dn": "abcd.test@idrivee2.com"
}' --header 'token: <your api key>'
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
}
エラーケース
Curl リクエスト例:
curl --location --request POST
https://api.idrivee2.com/api/reseller/v1/storage/set_cors\
--header 'token: <your token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"email":"test@test.com",
"storage_dn":"cxan.tx21.edgedrive.com",
"cors":"test1.com,test2.com,test3.com",
}'
POST
https://api.idrivee2.com/api/reseller/v1/create_access_key
クリックしてコピーリンクがコピーされました
この API は、ストレージアクセス用のアクセスキーを作成し、アクセスキー ID とシークレットキーを返します。
入力
{
string email;
string storage_dn;
string name;
int permissions;
array buckets; //buckets is an optional parameter
}
Buckets: 指定されたバケットにアクセスするためのアクセスキーを作成するために、バケット名のリストを提供します。アクセスキーがすべてのバケットに対して有効な場合、'buckets' の入力は不要です。
前提条件
長さパラメータ
アクセスキー権限列挙:
{
0: 読み取りアクセス
1: 書き込みアクセス
2: 読み取り/書き込みアクセス
}
出力
成功時、API は以下のレスポンスを返します (application/JSON):
{
created: true,
data: {
access_key: /access key/
secret_key: /* secret key*/
}
}
エラーケース
リクエスト例 :Body (application/JSON)
{
"email":"e2reseller+1@idrivee2.com",
"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@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"name":"myaccesskeyname",
"permissions":0
}' --header 'token: <your api key>'
POST
https://api.idrivee2.com/api/reseller/v1/list_access_keys
クリックしてコピーリンクがコピーされました
この API は、ストレージのすべてのアクセスキーを一覧表示します。
入力
{
string email;
string storage_dn;
}
'storage_dn' は、すべてのアクセスキーを一覧表示したいユーザーに割り当てられたストレージドメインです。
長さパラメータ
前提条件
出力
成功時、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*/
},
{...},
…
]
}
エラーケース
リクエスト例 : 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@idrivee2.com",
"storage_dn":"abcd.test.idrivee2.com",
}' --header 'token:<your api key>'
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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ストレージが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exists'
}
} - ユーザーが無効化されています。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - アクセスキーが存在しません。
{
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@idrivee2.com",
"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@idrivee2.com",
"storage_dn":"abcd.test@idrivee2.com",
"access_key":"<your access key>"
}' --header 'token: <your api key>'
ホワイトラベリング操作
- 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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - CNAME を使用できません
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - ストレージドメインが存在しません。storage_dn が間違っている場合
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - CNAME が既に設定されている場合
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configure'
}
} - 無効な CNAME または証明書(公開鍵と秘密鍵が間違っている場合)
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
}
- アカウントが存在しません。
- サーバーエラー(HTTP 500)
- Unable to process this request
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - 指定された DNS に対するデータが見つかりません
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'data not found for given dns'
}
}
- Unable to process this request
例: リクエストボディ (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>' - 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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ユーザーが無効です。
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- アカウントが存在しません。
- サーバーエラー(HTTP 500)
- このリクエストを処理できません
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - 指定された 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>' - 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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - CNAME は使用できません (CNAME が iDrive ドメインの場合)
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - ストレージドメインが存在しない場合 (storage_dn が間違っている場合)
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - storage_dn が間違っている場合
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - ストレージサーバーに接続できない場合 (ドメインが存在しない場合、または storage_dn が利用できない場合)
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - CNAME が既に設定されている場合
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'CNAME already configured'
}
} - 無効な CNAME または証明書(公開鍵や秘密鍵が間違っている場合)
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Could not verify CNAME or certificates. Please try again'
}
} - ユーザーが無効
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
}
- アカウントが存在しません。
- サーバーエラー(HTTP 500)
- このリクエストを処理できません
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - 指定された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>' - 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)
- アカウントが存在しません。
{
error:{
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - ユーザーが無効化されています
{
error:{
type: 'invalid_request_error',
code: 'user_disabled',
message: 'User Disabled'
}
} - CNAMEを使用できません
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'this CNAME cannot be used, please try changing your CNAME'
}
} - ストレージドメインが存在しません
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Unable to retrieve storage info for given storage_dn'
}
} - ストレージサーバーに接続できません
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'Storage server cannot be reached right now, please try again later'
}
} - ストレージドメインにCNAMEが存在しません
{
error:{
type: 'invalid_request_error',
code: 'request_processing_failed',
message: 'cannot get cname details'
}
} - CNAMEの削除に失敗しました
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
}
- アカウントが存在しません。
- サーバーエラー(HTTP 500)
- リクエストの処理に失敗しました
{
error:{
type: 'api_error',
code: 'request_processing_failed',
message: 'Unable to process this request, please try again later'
}
} - 指定された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
}
- サブユーザーを招待
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]
- アカウントで許可されているサブユーザーの数の上限を超えた場合
Response (application/JSON) :{
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: <information about your limit>
}
} -
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>' -
すべてのサブユーザーを表示
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>' -
サブユーザーを作成
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 }特定のエラーケース
- アカウントで許可されているサブユーザーの数の上限を超えた場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'maximum_limit_reached',
message: 'information about your limit'
}
} - ストレージが存在しない場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - ユーザーが既に存在する場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_already_signedup',
message: 'User signed up'
}
} -
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>' - サブユーザーを無効化
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 }特定のエラーケース
- サブユーザーがサインアップしていない場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - サブユーザーアカウントが既に無効化されている場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_disabled',
message: 'Account already disabled for the user'
}
} - アカウントが存在しない場合
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>' - サブユーザーを有効化
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]
前提条件
- ユーザーがサインアップ/作成されていること。
- ユーザーアカウントが以前に無効化されていたこと。
特定のエラーケース
- サブユーザーがサインアップしていない場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - サブユーザーアカウントがすでに有効化されている場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_account_already_enabled',
message: 'Account already enabled for the user'
}
} - アカウントが存在しません。
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>' - サブユーザーを削除
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]
特定のエラーケース
- サブユーザーがサインアップしていない場合
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
} } - サブユーザーアカウントが無効化されていない場合
応答 (application/JSON) : { error: {
type: 'invalid_request_error',
code: 'user_account_not_disabled',
message: 'User account not disabled'
} } - アカウントが存在しない場合
応答 (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>' - 招待のキャンセル
POST
https://api.idrivee2.com/api/subusers/v1/invite/cancel
クリックしてコピーリンクがコピーされました
このAPIは、サブユーザーに送信された招待をキャンセルします。
入力
string subuser_email;
string admin_email;
長さパラメータ
- Email [255]
前提条件
- サブユーザーが既にサインアップしていないこと。
出力
成功時のAPIレスポンス (application/JSON) は以下の通りです :{ success: true }特定のエラーケース
- サブユーザーが既にサインアップしている場合
応答 (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>' - サブユーザーの更新
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]
特定のエラーケース
- ストレージが存在しません
Response (application/JSON) : {
error: {
type: 'invalid_request_error',
code: 'storage_non_existant',
message: 'Storage does not exist'
}
} - アカウントが存在しません
レスポンス(アプリケーション/JSON): {
error: {
type: 'invalid_request_error',
code: 'account_non_existant',
message: 'Account with this email does not exist'
}
} - 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>' - アクティビティログを取得する
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_noは1から始まります。出力
成功時の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;
}特定のエラーケース
- サブユーザーが登録されていない場合
レスポンス(アプリケーション/JSON): {
error:{
type: 'invalid_request_error',
code: 'user_not_signed_up',
message: 'Subuser is not signed up'
}
} - アカウントが存在しません
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>'
特定のエラーケース