SFTP To GoのAPIを使ってSFTP To Goと統合し、SFTP To Goの設定や認証情報を管理することができます。
プログラムでファイルにアクセスする場合は、SFTP、FTPS、Amazon S3ライブラリを使いましょう。
概要
SFTP To Go REST APIは表現的状態転送 (REST)の設計原則に従っています。APIの使用を開始するには、curlコマンドラインユーティリティの使用をお勧めします。
すべてのAPI呼び出しは以下で始まります:
https://api.sftptogo.com/organizations/${SFTPTOGO_ORGANIZATION_ID}
組織IDはSFTP To Goインスタンスを識別します。SFTP To Goにログインした後、ブラウザのアドレスバーからコピーできます。
すべてのAPIアクセスはHTTPS経由で提供され、すべてのデータはJSON形式で送受信されます。API呼び出しで引数データを渡す際は、Content-type: application/json
ヘッダーを追加する必要があります。
すべてのAPI呼び出しは、Authorization
ヘッダーにAPIキーを以下のように渡して認証されます:
Authorization: Bearer ${SFTPTOGO_API_KEY}
APIキーはHerokuアプリケーションでSFTPTOGO_API_KEY環境変数として提供されます。
以下のドキュメントでは、以下の変数が設定されていることを前提としています:
SFTPTOGO_API_KEY=<SFTPToGo APIキー>
SFTPTOGO_ORGANIZATION_ID=<組織ID>
APIリファレンス
認証情報
認証情報の一覧表示
すべての認証情報のリストを取得します。
GET api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users
例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
出力例:
Status: 200 OK
[
{
"Alias": "Root",
"ChrootDirectory": "/",
"CreatedAt": 1565537159609,
"HomeDirectory": "/sftptg-prod-us-east-1-72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "4ddb2ea265b8eaf7685b4e125a1292",
"UserName": "user-name",
"IsDefault": true,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"PasswordCreatedAt": "2020-10-26T07:19:26.908Z",
"Permission": "full",
"Settings": {
"Network": {
"InboundRules": [
{
"Action": "allow",
"Description": "Allow all inbound traffic from anywhere",
"Id": "c1d91788-e46f-45a0-9c7b-386e90db000a",
"Protocol": "SFTP",
"Source": "0.0.0.0/0",
"State": "enabled"
}
]
}
},
"SshPublicKeysCount": 1,
"State": "active",
"URI": "sftp://user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"UpdatedAt": 1605642318015
}
]
認証情報の作成
新しい認証情報を作成します。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users
パラメータ:
名前 | 型 | 説明 |
---|---|---|
Alias | string | 認証情報の名前(ログインには使用されません) |
UserName | string | サーバーに接続する際に使用するユーザー名。英数字、アンダースコア、ハイフン、またはピリオド文字で10文字以上100文字以下である必要があります。 |
Password | string | サーバーに接続する際に使用するパスワード。組織レベルのパスワードポリシーに準拠する必要があります。 |
HomeDirectory | string | ユーザーのホームディレクトリ - クライアントが明示的に定義しない場合、これがユーザーのデフォルトディレクトリとなります。 |
ChrootDirectory | string | 設定された場合、HomeDirectoryがこの値にマッピングされます(例:HomeDirectoryを/sales に設定し、ChrootDirectoryを/ventas に設定すると、ユーザーが接続した際にアクセスできる単一のディレクトリ/ventas を見つけ、これは実際の/sales ディレクトリにマッピングされます)。デフォルト値は/ です(ユーザーが割り当てられたHomeDirectory内で開始することを意味します)。 |
Permission | string | none - アクセス権なしread-only - 読み取りのみ可能、書き込み不可read-write - 読み取りと書き込みが可能write-only - 書き込みのみ可能、読み取り不可full - 読み取り、書き込み、ホームディレクトリへのアクセスが可能 |
Expiration | int | この認証情報が自動的に無効になる日付(UNIX時間)。空の場合は期限切れなし |
State | string | active / inactive |
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Alias": "Test Credential",
"UserName": "my-user-name",
"Password": "my-secret-password",
"HomeDirectory": "/",
"ChrootDirectory": "/",
"Permission": "read-write",
"State": "active"
}'
出力例:
Status: 201 Created
{
"Alias": "Test Credential",
"ChrootDirectory": "/",
"CreatedAt": 1616615059930,
"HomeDirectory": "/",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "cfc211269c8c0f925c64b1a223d8eb",
"UserName": "my-user-name",
"IsDefault": false,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"Permission": "read-write",
"SshPublicKeysCount": 0,
"Settings": {
"Network": {
"InboundRules": [
{
"Action": "allow",
"Description": "Allow all inbound traffic from anywhere",
"Id": "c1d91788-e46f-45a0-9c7b-386e90db000a",
"Protocol": "SFTP",
"Source": "0.0.0.0/0",
"State": "enabled"
}
]
}
},
"State": "active",
"URI": "sftp://my-user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"UpdatedAt": 1616615059930
}
認証情報の取得
特定の認証情報を取得します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
呼び出し例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
200 Ok
{
"Alias": "Test Credential",
"ChrootDirectory": "/",
"CreatedAt": 1616615059930,
"HomeDirectory": "/",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "cfc211269c8c0f925c64b1a223d8eb",
"IsDefault": false,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"Permission": "read-write",
"SshPublicKeysCount": 0,
"State": "active",
"URI": "sftp://my-user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"UpdatedAt": 1616615059930,
"UserName": "user-name"
}
認証情報の更新
データ引数内で更新に必要なキーのみを渡して、既存の認証情報を更新します。
PATCH https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
パラメータ - 認証情報作成パラメータを参照
呼び出し例:
curl --request PATCH \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Alias": "Test Credential (updated)",
"HomeDirectory": "/test",
"Permission": "read-write"
}'
レスポンス例:
Status: 200 OK
{
"Alias": "Test Credential",
"ChrootDirectory": "/",
"CreatedAt": 1616615059930,
"HomeDirectory": "test",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "cfc211269c8c0f925c64b1a223d8eb",
"UserName": "user-name",
"IsDefault": false,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"Permission": "read-write",
"SshPublicKeysCount": 0,
"State": "active",
"URI": "sftp://my-user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"UpdatedAt": 1616615059930
}
認証情報のネットワークインバウンドルールの更新
特定の認証情報のネットワークインバウンドルールを更新します。この呼び出しは、以前に設定されたすべてのインバウンドルールを上書きします。
PATCH https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
パラメータ:
名前 | 型 | 説明 |
---|---|---|
Settings.Network.InboundRules | array | 外部IPがこの認証情報でサーバーに接続できるように制御するネットワークインバウンドルールのコレクション |
Settings.Network.InboundRules[].Id | string | 後で識別するために使用できるインバウンドルールの一意の識別子 |
Settings.Network.InboundRules[].Protocol | string | * / SFTP / FTPS |
Settings.Network.InboundRules[].State | string | enabled / disabled |
Settings.Network.InboundRules[].Action | string | allow に設定する必要があります |
Settings.Network.InboundRules[].Source | string | サーバーに接続できる単一のIPアドレスまたはCIDR表記のIPアドレス範囲 |
Settings.Network.InboundRules[].Description | string | インバウンドルールの説明 |
呼び出し例:
curl --request PATCH \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Settings": {
"Network": {
"InboundRules": [
{
"Action": "allow",
"Description": "Allow all inbound traffic from anywhere",
"Id": "c1d91788-e46f-45a0-9c7b-386e90db000a",
"Protocol": "SFTP",
"Source": "0.0.0.0/0",
"State": "enabled"
}
]
}
}
}'
レスポンス例:
Status: 200 OK
{
"Alias": "Test Credential",
"ChrootDirectory": "/",
"CreatedAt": 1616615059930,
"HomeDirectory": "test",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "cfc211269c8c0f925c64b1a223d8eb",
"UserName": "user-name",
"IsDefault": false,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"Permission": "read-write",
"SshPublicKeysCount": 0,
"State": "active",
"URI": "sftp://my-user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"Settings": {
"Network": {
"InboundRules": [
{
"Action": "allow",
"Description": "Allow all inbound traffic from anywhere",
"Id": "c1d91788-e46f-45a0-9c7b-386e90db000a",
"Protocol": "SFTP",
"Source": "0.0.0.0/0",
"State": "enabled"
}
]
}
},
"UpdatedAt": 1616615059930
}
認証情報の削除
特定の認証情報を削除します。Root認証情報は削除できません。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
呼び出し例:
curl --request DELETE \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
200 Ok
{
"Alias": "Test Credential",
"ChrootDirectory": "/",
"CreatedAt": 1616615059930,
"HomeDirectory": "test",
"Host": "warm-soda-25793.sftptogo.com",
"Id": "cfc211269c8c0f925c64b1a223d8eb",
"UserName": "user-name",
"IsDefault": false,
"OrganizationId": "72e9cf24-be8c-4f15-9aa2-813281fb98fe",
"Password": "my-secret-password",
"Permission": "read-write",
"SshPublicKeysCount": 0,
"State": "active",
"URI": "sftp://my-user-name:my-secret-password@warm-soda-25793.sftptogo.com",
"UpdatedAt": 1616615059930
}
パスワードのローテーション
指定された認証情報のパスワードをローテーションします。開いているセッションはパスワードローテーションの影響を受けません。ローテーション後に新しいパスワードを取得するには、取得リクエストを行ってください。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/credential-rotations
パスワードは組織のパスワードポリシーに準拠する必要があります。
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/credential-rotations \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
200 Ok
{
"message": "Password set."
}
パスワードの設定
指定された認証情報のパスワードを設定します。開いているセッションはパスワードローテーションの影響を受けません。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/credential-rotations
パスワードは組織のパスワードポリシーに準拠する必要があります。
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/credential-rotations \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Password": "VeryC0mplexP@ssw0rdThatMeetsThe8olicy"
}'
レスポンス例:
200 Ok
{
"message": "Password set."
}
公開SSHキー
特定の認証情報の公開SSHキー一覧
既存の認証情報に関連付けられたすべての公開SSHキーを一覧表示します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys
呼び出し例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
200 Ok
[
{
"Comment": "ladybug@Ladybugs-MacBook-Pro.local",
"CreatedAt": 1617354664883,
"Fingerprint": "SHA256:RcoHnamHrApC",
"Id": "97285e07-09fd-42de-a1d0-997a0818310a",
"SshPublicKeyBody": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS2KBmXgE...",
"Type": "rsa",
"UpdatedAt": 1617354664883,
"UserId": "4ddb2ea265b8eaf7685b4e125a1292"
}
]
SSHキーの追加
既存の認証情報にSSHキーを追加します。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys
パラメータ:
名前 | 型 | 説明 |
---|---|---|
SshPublicKeyBody | string | ssh-rsa のように暗号化タイプに関する情報を含むSSH公開キー |
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"SshPublicKeyBody": "key"
}'
レスポンス例:
Status: 201 Created
{
"Comment": "ladybug@Ladybugs-MacBook-Pro.local",
"CreatedAt": 1617354664883,
"Fingerprint": "SHA256:RcoHnamHrApC",
"Id": "97285e07-09fd-42de-a1d0-997a0818310a",
"SshPublicKeyBody": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS2KBmXgE...",
"Type": "rsa",
"UpdatedAt": 1617354664883,
"UserId": "4ddb2ea265b8eaf7685b4e125a1292"
}
SSHキーの削除
認証情報から既存のSSHキーを削除します。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys/$KEY_ID
呼び出し例:
curl --request DELETE \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys/$KEY_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
Status 200, Ok
{
"Comment": "ladybug@Ladybugs-MacBook-Pro.local",
"CreatedAt": 1617354664883,
"Fingerprint": "SHA256:RcoHnamHrApC",
"Id": "97285e07-09fd-42de-a1d0-997a0818310a",
"SshPublicKeyBody": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDS2KBmXgE...",
"Type": "rsa",
"UpdatedAt": 1617354664883,
"UserId": "4ddb2ea265b8eaf7685b4e125a1292"
}
ウェブフック
ウェブフック一覧
すべてのウェブフックのリストを取得します。
例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/webhooks \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
出力例:
Status: 200 OK
[
{
"Id": "6b1c6f0c-52c1-47a6-9344-57a4579ced68",
"Alias": "Test Webhook",
"Url": "https://webhook.site/1b1b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b",
"Type": "webhook",
"AuthorizationHeader": "Bearer 123456789",
"Secret": "",
"Topics": ["file.created", "file.deleted", "file.downloaded"],
"OrganizationId": "120ffd28-f115-7ce2-abc4-1e168c57c88a",
"State": "enabled",
"CreatedAt": 1561888254653,
"UpdatedAt": 1561888254653
}
]
ウェブフックの作成
新しいウェブフックを作成します。
POST https://api.sftptogo.com/organizations/$ORGANIZATION_ID/webhooks
パラメータ:
名前 | 型 | 説明 |
---|---|---|
Alias | string | ウェブフックの名前 |
Url | string | Webhookの場合、ウェブフック通知を受け取る有効なHTTPS URLである必要があります。SlackとTeamsの場合、有効なインバウンドウェブフックURLである必要があります。Emailの場合、有効なメールアドレスである必要があります。 |
Type | string | webhook - httpsウェブフックslack - Slackインバウンドウェブフックms-teams - Microsoft Teamsウェブフックemail - メールウェブフック |
AuthorizationHeader | string | オプションの認証ヘッダー |
Topics | array | サブスクライブするトピックの配列:file.created - ファイル作成file.deleted - ファイル削除file.downloaded - ファイルダウンロード |
State | string | enabled またはpaused |
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/webhooks \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Alias": "Test Webhook",
"Url": "https://webhook.site/1b1b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b",
"Type": "webhook",
"AuthorizationHeader": "Bearer 123456789",
"Topics": ["file.created", "file.deleted", "file.downloaded"],
"State": "enabled"
}'
出力例:
Status: 201 Created
{
"Id": "6b1c6f0c-52c1-47a6-9344-57a4579ced68",
"Alias": "Test Webhook",
"Url": "https://webhook.site/1b1b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b",
"Type": "webhook",
"AuthorizationHeader": "Bearer 123456789",
"Secret": "Some Secret",
"Topics": ["file.created", "file.deleted", "file.downloaded"],
"OrganizationId": "120ffd28-f115-7ce2-abc4-1e168c57c88a",
"State": "enabled",
"CreatedAt": 1561888254653,
"UpdatedAt": 1561888254653
}
ウェブフックの更新
既存のウェブフックを更新します。引数JSONで更新に必要なキーのみを渡してください。
パラメータ - ウェブフック作成パラメータを参照
curl --request PATCH \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/webhooks/$WEBHOOK_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Alias": "Test Updated Webhook"
}'
出力例:
Status: 200 OK
{
"Id": "6b1c6f0c-52c1-47a6-9344-57a4579ced68",
"Alias": "Test Updated Webhook",
"Url": "https://webhook.site/1b1b1b1b-1b1b-1b1b-1b1b-1b1b1b1b1b1b",
"Type": "webhook",
"AuthorizationHeader": "Bearer 123456789",
"Secret": "Some Secret",
"Topics": ["file.created", "file.deleted", "file.downloaded"],
"OrganizationId": "120ffd28-f115-7ce2-abc4-1e168c57c88a",
"State": "enabled",
"CreatedAt": 1561888254653,
"UpdatedAt": 1561888254653
}
ウェブフックの削除
既存のウェブフックを削除します。
DELETE https://api.sftptogo.com/organizations/$ORGANIZATION_ID/webhooks/$WEBHOOK_ID
呼び出し例:
curl --request DELETE \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/webhooks/$WEBHOOK_ID \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
200 OK
{}
共有リンク
共有リンク一覧
組織のすべての共有リンクのリストを取得します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links
呼び出し例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
Status: 200 OK
[
{
"UpdatedAt": 1739120350624,
"ExpiresAt": null,
"Permission": "read-only",
"State": "active",
"Type": "share",
"AccessCount": 4,
"OrganizationId": "97285e07-09fd-42de-a1d0-997a0818310a",
"Url": "https://portal.sftptogo.com/p/shares/BSsdas5CBscVy",
"Notes": null,
"Path": "/path/to/file",
"AccessLimit": 0,
"CreatedBy": {
"Type": "Admin",
"Id": "ddhSx5LspkgKjiy",
"PrincipalName": "John Doe",
"PrincipalId": "a72d0ba096fas23f2",
"PrincipalType": "admin"
},
"Id": "BSsdas5CBscVy",
"CreatedAt": 1739117646540
}
]
共有リンクの作成
ファイルまたはフォルダの新しい共有リンクを作成します。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links
パラメータ:
名前 | 型 | 説明 |
---|---|---|
Path | string | 共有するファイルまたはフォルダのパス。フォルダの場合はスラッシュで終わる必要があります(例:/shared-folder/ ) |
Permission | string | read-only - 読み取りのみ可能、書き込み不可read-write - 読み取りと書き込みが可能write-only - 書き込みのみ可能、読み取り不可read-write-no-delete - 読み取りと書き込みが可能だが削除不可 |
ExpiresAt | int | 共有リンクが期限切れになるUNIXタイムスタンプ。期限切れなしはnullに設定 |
AccessLimit | int | 共有リンクにアクセスできる最大回数。無制限は0に設定。制限に達すると共有リンクが自動的に削除されます |
Password | string | 共有リンクを保護するためのオプションのパスワード。組織のパスワードポリシーに準拠する必要があります。設定された場合、レスポンスで返されます。 |
Notes | string | 共有リンクを簡単に識別するのに役立つオプションのメモ。このメモは共有権限を持つ人のみに表示されます。 |
Type | string | share に設定する必要があります |
呼び出し例:
curl --request POST \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Path": "/shared-folder/",
"Permission": "read-write",
"ExpiresAt": 1739120350624,
"AccessLimit": 100,
"Password": "SecureP@ss123",
"Notes": "Q1 marketing materials",
"Type": "share"
}'
レスポンス例:
Status: 201 Created
{
"UpdatedAt": 1739120350624,
"ExpiresAt": 1739120350624,
"Permission": "read-write",
"State": "active",
"Type": "share",
"AccessCount": 0,
"OrganizationId": "97285e07-09fd-42de-a1d0-997a0818310a",
"Url": "https://portal.sftptogo.com/p/shares/BSsdas5CBscVy",
"Notes": "Q1 marketing materials",
"Path": "/shared-folder/",
"AccessLimit": 100,
"Password": "SecureP@ss123",
"CreatedBy": {
"Type": "Account",
"Id": "fas9e769-5033-413c-ade8-2d0620da824b",
"Email": "admin@example.com",
"Name": "Admin User"
},
"Id": "BSsdas5CBscVy",
"CreatedAt": 1739117646540
}
共有リンクの取得
特定の共有リンクの詳細を取得します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
呼び出し例:
curl --request GET \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/BSsdas5CBscVy \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
Status: 200 OK
{
"UpdatedAt": 1739120350624,
"ExpiresAt": null,
"Permission": "read-only",
"State": "active",
"Type": "share",
"AccessCount": 4,
"OrganizationId": "97285e07-09fd-42de-a1d0-997a0818310a",
"Url": "https://portal.sftptogo.com/p/shares/BSsdas5CBscVy",
"Notes": null,
"Path": "/path/to/file",
"AccessLimit": 0,
"CreatedBy": {
"Type": "Account",
"Id": "fas9e769-5033-413c-ade8-2d0620da824b",
"Email": "admin@example.com",
"Name": "Admin User"
},
"Id": "BSsdas5CBscVy",
"CreatedAt": 1739117646540
}
共有リンクの更新
既存の共有リンクを更新します。更新するフィールドのみを渡してください。
PATCH https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
パラメータ - 共有リンク作成パラメータを参照
呼び出し例:
curl --request PATCH \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/BSsdas5CBscVy \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json" \
--data '{
"Permission": "read-write",
"AccessLimit": 200,
"Notes": "Updated Q1 marketing materials"
}'
レスポンス例:
Status: 200 OK
{
"UpdatedAt": 1739120350624,
"ExpiresAt": null,
"Permission": "read-write",
"State": "active",
"Type": "share",
"AccessCount": 4,
"OrganizationId": "97285e07-09fd-42de-a1d0-997a0818310a",
"Url": "https://portal.sftptogo.com/p/shares/BSsdas5CBscVy",
"Notes": "Updated Q1 marketing materials",
"Path": "/path/to/file",
"AccessLimit": 200,
"CreatedBy": {
"Type": "Account",
"Id": "fas9e769-5033-413c-ade8-2d0620da824b",
"Email": "admin@example.com",
"Name": "Admin User"
},
"Id": "BSsdas5CBscVy",
"CreatedAt": 1739117646540
}
共有リンクの削除
特定の共有リンクを削除します。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
呼び出し例:
curl --request DELETE \
--url https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/BSsdas5CBscVy \
-H "Authorization: Bearer ${SFTPTOGO_API_KEY}" \
-H "Content-type: application/json"
レスポンス例:
Status: 200 OK
{}