Web API 仕様書(OpenAPI / Swagger)
プリザンターの版別ソースから、HTTP メソッドと経路を抽出した非公式の仕様書です。下の版選択で、利用している版の経路と実行条件を確認できます。掲載版ごとに固定したソースへのリンクを付けています。
全掲載版の適用範囲を含むOpenAPI 3.0 JSON をダウンロードできます。選択した版だけの JSON は仕様書内のボタンから取得できます。
ライセンスと実行条件
次の操作は、経路が存在する掲載版すべてでコントローラーから呼び出し先の判定まで確認しています。版選択に応じて、その版で確認した条件と根拠を表示します。条件の記載がない操作は、ライセンス不要と判定したものではありません。
| 操作 | 条件が適用される版 | ライセンス・環境の条件 | 認証・権限・設定の条件 |
|---|---|---|---|
/api/Tenants/* | 1.5.7.0 から | 有効な商用ライセンスと MultiTenants オプションが必要 | 認証済みの特権ユーザーが必要 |
/api/Extensions/* | 1.4.13.0~1.4.15.0 | 商用ライセンスの有効性は必須条件ではない。環境値 1・2 では拒否 | 認証済みのテナント管理者または特権ユーザーが必要 |
/api/Extensions/* | 1.4.16.0 から | 商用ライセンスの有効性は必須条件ではない。環境値 1・2 では拒否 | テナントの AllowExtensionsApi が有効で、認証済みの特権ユーザーが必要 |
/api/BackgroundTasks/* | 1.3.32.0 から | この操作固有の商用ライセンス判定はない | 認証と BackgroundTask.Enabled が必要 |
/api/Utility/GetLicenseInfo | 1.4.13.0 から | 情報の取得自体に商用ライセンスは不要 | 認証が必要 |
「~から」の条件は、各操作の導入版から掲載範囲の末尾まで確認したものです。上表はライセンス・環境と入口の実行条件を示しています。入力検証、対象データ、保護テナントなどの操作別の制約は別途適用されます。
テナント管理 API
導入時から、取得・作成・削除・停止・再開の全操作が AllowMultiTenants() と特権を確認します。AllowMultiTenants() の条件は License.Check() && HasMultiTenants() で、商用ライセンスの有効性とオプションの両方が必要です(導入版の TenantUtilities.cs、Parameters.cs)。
MultiTenants はトライアルのオプションに含まれません。有効なトライアルが設定されている間は GetLicenseOptions() がトライアルのフラグを返すため、商用ライセンスを併用していても HasMultiTenants() は通りません(LicenseOptions.cs、GetLicenseOptions())。
拡張機能管理 API
導入版では、コントローラーが認証を確認し、呼び出し先が操作別の権限を確認します。extensions の権限は CanManageTenant() に委ねられ、テナント管理者または特権ユーザーが対象です(ExtensionsController.cs、Permissions.cs)。
1.4.16.0 では、コントローラーに AllowExtensionsApi と HasPrivilege の確認が追加されました。この版から、テナント管理者というだけでは利用できません(変更版の ExtensionsController.cs)。
環境制限は導入時から共通です。各操作は ExtensionValidators.ValidateEnvironment() を通り、Parameters.Environment() が 1 または 2 のときに拒否されます。ライセンスの Check() を要求する条件とは別の判定です(ExtensionValidators.cs、Validators.cs)。
環境値の取り方は 1.4.15.0 で変わりました。ライセンスの Environment が未定義または 0 の場合、以前は 0 を返していましたが、この版からは TrialLicense が設定されていれば 3 を返します。トライアルの有効期限はこの環境値の判定では確認していません。環境値 0・3 は上記の拒否対象に含まれません(変更版の Parameters.cs)。
ライセンスオプション全体の判定はライセンス判定の実装を参照してください。
対象と制約
対象は .NET 系の版選択に並ぶソースです。.NET Framework 系は含めません。各経路と掲載した入力項目の x-pleasanter-ranges に、ソースで確認した版の範囲を from/to(両端を含む)で記録しています。
x-pleasanter-conditions は版ごとの実行条件の配列で、各要素の verifiedVersion に確認版を記録しています。全掲載版の JSON には各版の条件が入り、選択版の JSON にはその版の条件だけが入ります。新しい版の実装が変わっていたら、以前の条件を流用せず生成を停止します。
仕様書は経路、共通リクエスト項目、共通レスポンス項目と、上表の一部の実行条件を記載します。操作ごとの全入力項目、権限、設定による実行条件、応答の詳細型までは網羅していません。通常の JSON API はボディの ApiKey とログイン済みセッションの Cookie が使えます。/api/Binaries/upload は Bearer ヘッダーも受け取ります。API バージョンとレスポンス形式の関係は ApiVersion の決まり方を参照してください。