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