最終更新日2024年1月31日
重要事項: Tulipのすべての契約書およびその他の法的文書の公用語を英語とし、翻訳版で使用されている他のいかなる言語版よりも英語版が優先されるものとします。
Tulip 、ユーザーがTulip プラットフォームとプログラムでやり取りできるようにするパブリックAPIの セットを提供しています。Tulip 、APIをNamespaces(名前空間)と呼ばれるグループに整理し、Tulip 製品の機能領域(Apps、オートメーション、ユーザーなど)を大まかに表しています。各APIネームスペースには、バージョン(「v1」、「v2」、「v3」などの形式)と呼ばれるラベルが付与されます。Namespace に含まれるすべての API エンドポイントは、1 つのユニットとして一緒にバージョン管理されます。
Tulip 新機能を開発し、既存機能を改善し、問題を修正するにつれて、当社は、APIの既存バージョンを変更するか、APIの新バージョンを導入するこれらのAPIのアップデートをリリースすることがあります(どのような種類の変更が新バージョンを必要とするかを規定するルールは、「安定性」のセクションに記載されています)。APIのアップデートは、Tulip プラットフォームのリリースごとにリリースされ、Tulipリリースノートに記載されます。あるNamespaceの複数のバージョンがいつでも利用可能な場合があります。ユーザーは、APIの最新バージョンを使用することが推奨されますが、以前のバージョンは一定期間維持されます(バージョンのライフサイクルについては、サポートのセクションを参照してください)。Tulip APIを使用する権利は、TulipAPIライセンス契約に規定されています。
安定性
Tulip API Namespaceのバージョンが安定したとみなされた場合、Tulip APIへの変更をリリースすることができますが、そのような変更は後方互換性がなければなりません。Tulip APIのコンテキストでは、変更は一般的に、そのAPIを使用して既存の統合の機能を破壊しない場合、後方互換性があると見なされます。具体的には、以下のタイプの変更は後方互換性があるとみなされます:
Namespace に新しいエンドポイントを追加します。
オプションのリクエストボディフィールド、クエリパラメータ、HTTP ヘッダを追加することで、オプションのフィールドが省略されたときに他のフィールド、パラメータ、ヘッダの意味が変更されないようにすること。リクエストボディの認識されないフィールドは一般的に無視されるので、以前は意味を持たなかった (エラーを引き起こさない) フィールドが、その後のリリースで意味を持つようになったとしても、それは変更とみなされないことに注意してください。
受け入れられたリクエストボディのコンテントタイプをエンドポイントに追加します。新しいcontent-typeが構造化データ(JSON、YAML、CSVなど)を表す場合、リクエストボディの文書化された構造に従わなければなりません。新しいcontent-typeが構造化されていないデータ(画像、動画、PDF、プレーンテキスト、その他のバイナリデータ)である場合、それはリクエストボディの記述で文書化された制約に従わなければなりません。
リクエストボディフィールド、クエリパラメータ、HTTP ヘッダの型や検証ルールを変更することで、以前は有効であった値をすべて有効と見なします。
新しいレスポンス・ボディ・フィールドまたは HTTP ヘッダーを追加します。
新しいエラー応答 HTTP ステータスコード (4xx, 5xx) を追加しました。
他のフィールドやレスポンスヘッダの意味が変更されないように、レスポンスボディフィールドや HTTP ヘッダの型から可能な値を削除すること。
APIの動作に影響を与えない方法で、型、エラーコード、フィールド、またはエンドポイントのドキュメントを変更すること。
エラー応答に表示されるエラー説明のテキストを変更します。
Tulipリソースの表示名やその他のテキストコンテンツを変更します。
エンドポイントに適用されるレート、サイズ、リソース数の制限を変更します。
エンドポイントの実際の動作と文書化された動作を一致させるためのバグ修正。
セキュリティの脆弱性を修正するためには、必要なあらゆる手段を講じる必要があります。 Tulip 重大なセキュリティ修正をリリースする必要があり、その結果、APIが変更された場合、ダウンタイムをできるだけ防ぐために、お客様と協力して統合機能を更新するように努めます。
公開されていないエンドポイント、パラメータ、型の追加、削除、変更。
時折Tulip 後方互換性のないAPIへの変更をリリースする必要が生じることがあります。これは、ブレークチェンジまたは後方互換性のない変更と呼ばれます。Tulip 、APIネームスペースの新バージョンにおいて、安定したAPIに対するブレークチェンジのみをリリースします(ただし、上述のとおり、重要なセキュリティ修正を除きます)。以下のタイプの変更は、後方互換性がないとみなされます:
Namespace からエンドポイントを削除します。
リクエストボディフィールド、クエリパラメータ、HTTPヘッダの削除。
受け入れられたリクエストボディのコンテントタイプをエンドポイントから削除します。
エンドポイントのレスポンス・ボディのコンテントタイプを変更します。
リクエストボディフィールド、クエリパラメータ、HTTP ヘッダの型や検証ルールを変更することで、一部の入力が有効であるとみなされなくなります。
オプションのリクエストボディフィールド、クエリパラメータ、HTTPヘッダのデフォルト値を変更します。
必須のリクエストボディフィールド、クエリパラメータ、またはHTTPヘッダを追加します。
オプションのリクエストボディフィールド、クエリパラメータ、HTTPヘッダを追加すると、他のフィールド、パラメータ、ヘッダの意味も変更されます。
レスポンス・ボディ・フィールドや HTTP ヘッダーの型に取り得る値を追加します。
新しい成功応答 HTTP ステータスコード (1xx、2xx、3xx) を追加します。
レスポンスのボディフィールドや HTTP ヘッダーの削除。
インターフェイスが変更されていなくても、文書化されたエンドポイントのセマンティクスや機能を大幅に変更すること。
制限
Tulip APIは、共有リソース(APIサーバー、データベースなど)を、他のユーザーや他のお客様のサービス品質に影響を与える可能性のある過度の負荷から保護するために、様々な種類の制限を実施します。このような制限には次のようなものがあります(これらは例示に過ぎません):
レート制限:デフォルトでは、指定されたクライアントは指定されたエンドポイントに対して1秒間に何回以上のリクエストを行うことはできません。
サイズ制限:リソース名は特定の文字数を超えてはなりません。また、アップロードされたファイルのサイズは特定のファイルサイズを超えてはなりません。
リソース数の制限:一定数以上のワークスペースを作成できません。
Tulip 、これらの制限の一部に関する文書を提供することがありますが、これらは安定したAPIの一部とはみなされず、現在の負荷状況、進化する製品要件、ユーザーの好み、およびその他の要因に基づいて随時変更される可能性があります。クライアントは、Tulip APIレスポンスによって提供される情報(ステータスコード、エラーコード、エラーフィールド)を使用して、制限エラーを処理する必要があります。Tulip 、これらの制限を繰り返し無視するクライアントを無効にする権利を留保します。
サポート
Tulip 、他のTulip 製品に提供するサポートと同様のサポートをAPIに提供します。完全なサポートには、ドキュメントの維持、質問への回答、問題のトラブルシューティング、バグ修正のリリース、これらのAPIのセキュリティ修正のリリースが含まれます。Tulip 、文書化されていないAPIのサポートを提供しません。公開APIネームスペースのバージョンに対してTulip 提供するサポートのレベルは、APIドキュメントのラベルの付け方によって異なります:
Alpha-Tulip 、このAPIの限定的なサポートを提供し、いつでもこのAPIへの破壊的な変更をリリースする可能性があります。
ベータ版-Tulip このAPIを完全にサポートしていますが、いつでもこのAPIの変更をリリースする可能性があります。ベータ版のお客様には、いかなる変更についてもご連絡いたします。
安定-Tulip このAPIを完全にサポートしており、安定セクションで定義されているように安定していると考えています。
非推奨-Tulip 近い将来、このAPIを削除する予定です。Tulip このAPIをフルサポートしますが、ユーザーはこのAPIを使用した統合を新しいバージョンのAPIに更新する必要があります。非推奨APIは通常、重要なセキュリティまたはバグ修正以外の更新を受けません。
サポート終了-Tulip 、重要なセキュリティ修正を含め、このAPIに対するいかなるサポートも提供しません。サポート対象外のAPIは、予告なく機能を停止する場合があります。
安定した API 名前空間は、非推奨とマークされる前に、少なくとも 1 つの LTS リリース・サイクルは安定したままです。非推奨 API 名前空間は、非サポートとマークされる前に、少なくとも 2 つの LTS リリース・サイクルにわたってサポートされます。