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環境変数として提供されます。
以下のドキュメントでは、以下の変数が設定されていることを前提としています:
APIリファレンス
認証情報
認証情報の一覧表示
すべての認証情報のリストを取得します。
GET api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users
例:
出力例:
Status: 200 OK
認証情報の作成
新しい認証情報を作成します。
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 |
string | 認証フローまたはパスワードリセット指示を受信するための電子メールアドレス。使用前に電子メールアドレスを確認する必要があります。 |
呼び出し例:
出力例:
Status: 201 Created
認証情報の取得
特定の認証情報を取得します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
呼び出し例:
レスポンス例:
200 Ok
認証情報の更新
データ引数内で更新に必要なキーのみを渡して、既存の認証情報を更新します。
PATCH https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
パラメータ - 認証情報作成パラメータを参照
呼び出し例:
レスポンス例:
Status: 200 OK
認証情報のネットワークインバウンドルールの更新
特定の認証情報のネットワークインバウンドルールを更新します。この呼び出しは、以前に設定されたすべてのインバウンドルールを上書きします。
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 | インバウンドルールの説明 |
呼び出し例:
レスポンス例:
Status: 200 OK
認証情報の削除
特定の認証情報を削除します。Root認証情報は削除できません。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID
呼び出し例:
レスポンス例:
200 Ok
パスワードのローテーション
指定された認証情報のパスワードをローテーションします。開いているセッションはパスワードローテーションの影響を受けません。ローテーション後に新しいパスワードを取得するには、取得リクエストを行ってください。
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
パスワードの設定
指定された認証情報のパスワードを設定します。開いているセッションはパスワードローテーションの影響を受けません。
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
公開SSHキー
特定の認証情報の公開SSHキー一覧
既存の認証情報に関連付けられたすべての公開SSHキーを一覧表示します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys
呼び出し例:
レスポンス例:
200 Ok
SSHキーの追加
既存の認証情報にSSHキーを追加します。
POST https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys
パラメータ:
名前 | 型 | 説明 |
---|---|---|
SshPublicKeyBody | string | ssh-rsa のように暗号化タイプに関する情報を含むSSH公開キー |
呼び出し例:
レスポンス例:
Status: 201 Created
SSHキーの削除
認証情報から既存のSSHキーを削除します。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/users/$CREDENTIAL_ID/ssh-public-keys/$KEY_ID
呼び出し例:
レスポンス例:
Status 200, Ok
ウェブフック
ウェブフック一覧
すべてのウェブフックのリストを取得します。
例:
出力例:
Status: 200 OK
ウェブフックの作成
新しいウェブフックを作成します。
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 |
呼び出し例:
出力例:
Status: 201 Created
ウェブフックの更新
既存のウェブフックを更新します。引数JSONで更新に必要なキーのみを渡してください。
パラメータ - ウェブフック作成パラメータを参照
出力例:
Status: 200 OK
ウェブフックの削除
既存のウェブフックを削除します。
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
呼び出し例:
レスポンス例:
Status: 200 OK
共有リンクの作成
ファイルまたはフォルダの新しい共有リンクを作成します。
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 に設定する必要があります |
呼び出し例:
レスポンス例:
Status: 201 Created
共有リンクの取得
特定の共有リンクの詳細を取得します。
GET https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
呼び出し例:
レスポンス例:
Status: 200 OK
共有リンクの更新
既存の共有リンクを更新します。更新するフィールドのみを渡してください。
PATCH https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
パラメータ - 共有リンク作成パラメータを参照
呼び出し例:
レスポンス例:
Status: 200 OK
共有リンクの削除
特定の共有リンクを削除します。
DELETE https://api.sftptogo.com/organizations/$SFTPTOGO_ORGANIZATION_ID/portal-links/$SHARE_LINK_ID
呼び出し例:
レスポンス例:
Status: 200 OK