> ## Documentation Index > Fetch the complete documentation index at: https://documents.trocco.io/llms.txt > Use this file to discover all available pages before exploring further. # 転送元カスタムコネクタ更新 > 転送元カスタムコネクタ定義を更新します。
endpoints を省略した場合は既存のエンドポイントを維持します(差分更新)。
endpoints を指定した場合は指定内容で洗い替えされます。既存エンドポイントを温存する場合は 各エンドポイントに id を指定してください(id を含まないエンドポイントは新規作成、 リクエストに含まれない既存エンドポイントは削除されます)。
このカスタムコネクタに属さない endpoint id(他コネクタ・他アカウント・存在しない id)を 指定した場合は 400 になります。 ## OpenAPI ````json PATCH /api/custom_connector_inputs/{custom_connector_id} { "openapi": "3.0.3", "info": { "title": "trocco APIリファレンス", "description": "trocco APIリファレンス", "version": "0.0.1" }, "servers": [ { "url": "https://trocco.io" } ], "security": [ { "ApiKeyAuth": [] } ], "tags": [ { "name": "users", "description": "ユーザー", "externalDocs": { "url": "https://documents.trocco.io/docs/about-account-user" } }, { "name": "teams", "description": "チーム", "externalDocs": { "url": "https://documents.trocco.io/docs/team" } }, { "name": "connections", "description": "接続情報", "externalDocs": { "url": "https://documents.trocco.io/docs/connection-configurations" } }, { "name": "custom_connectors", "description": "カスタムコネクタ定義" }, { "name": "datamart_definitions", "description": "データマート定義", "externalDocs": { "url": "https://documents.trocco.io/docs/data-mart" } }, { "name": "environment_groups", "description": "環境グループ" }, { "name": "environments", "description": "環境" }, { "name": "jobs", "description": "転送ジョブ", "externalDocs": { "url": "https://documents.trocco.io/docs/etl-configuration" } }, { "name": "pipeline_jobs", "description": "ワークフロージョブ", "externalDocs": { "url": "https://documents.trocco.io/docs/about-workflow" } }, { "name": "resource_groups", "description": "リソースグループ", "externalDocs": { "url": "https://documents.trocco.io/docs/resource-group" } }, { "name": "dbt_git_repositories", "description": "dbt Gitリポジトリ" }, { "name": "dbt_job_definitions", "description": "dbtジョブ設定", "externalDocs": { "url": "https://documents.trocco.io/docs/dbt-job-configuration" } }, { "name": "dbt_jobs", "description": "dbtジョブ", "externalDocs": { "url": "https://documents.trocco.io/docs/dbt-job-configuration" } }, { "name": "notification_destinations", "description": "通知先", "externalDocs": { "url": "https://documents.trocco.io/docs/trocco-tutorial-additional-settings" } } ], "externalDocs": { "description": "trocco APIについて", "url": "https://documents.trocco.io/docs/trocco-api" }, "paths": { "/api/custom_connector_inputs/{custom_connector_id}": { "patch": { "summary": "転送元カスタムコネクタ更新\n", "description": "転送元カスタムコネクタ定義を更新します。
\nendpoints を省略した場合は既存のエンドポイントを維持します(差分更新)。
\nendpoints を指定した場合は指定内容で洗い替えされます。既存エンドポイントを温存する場合は\n各エンドポイントに id を指定してください(id を含まないエンドポイントは新規作成、\nリクエストに含まれない既存エンドポイントは削除されます)。
\nこのカスタムコネクタに属さない endpoint id(他コネクタ・他アカウント・存在しない id)を\n指定した場合は 400 になります。\n", "operationId": "updateCustomConnectorInput", "tags": [ "custom_connectors" ], "parameters": [ { "name": "custom_connector_id", "in": "path", "description": "カスタムコネクタIDを指定します。", "required": true, "schema": { "type": "integer", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "title": "CustomConnectorInputRequest", "description": "転送元カスタムコネクタ定義の作成/更新リクエストです。", "type": "object", "properties": { "name": { "description": "カスタムコネクタ名です。", "type": "string", "example": "My API Connector" }, "description": { "description": "メモです。", "type": "string", "example": "desc", "nullable": true }, "url": { "description": "ベースURLです。http/https のみ、プライベートIPは指定できません。", "type": "string", "example": "https://api.example.com" }, "auth_type": { "description": "認証方式です。", "type": "string", "enum": [ "api_key", "oauth2" ], "example": "api_key" }, "auth_header_name": { "description": "認証ヘッダー名です。auth_type が api_key の場合は必須です。", "type": "string", "example": "Authorization" }, "auth_header_scheme": { "description": "認証ヘッダーのスキームです。", "type": "string", "example": "Bearer", "nullable": true }, "grant_type": { "description": "OAuth2 のグラントタイプです。auth_type が oauth2 の場合に指定します。", "type": "string", "enum": [ "authorization_code", "client_credentials" ], "nullable": true }, "auth_uri": { "description": "OAuth2 の認可エンドポイントURIです。grant_type が authorization_code の場合に指定します。", "type": "string", "nullable": true }, "access_token_uri": { "description": "OAuth2 のトークンエンドポイントURIです。auth_type が oauth2 の場合に指定します。", "type": "string", "nullable": true }, "endpoints": { "description": "エンドポイント定義の一覧です。\n更新時は省略すると既存のエンドポイントを維持し(差分更新)、指定した場合は\n指定内容で洗い替えします(空配列を指定すると全削除)。\n", "type": "array", "items": { "title": "CustomConnectorEndpointRequest", "description": "エンドポイント定義(作成/更新リクエスト用)です。\n更新時に既存エンドポイントを温存する場合は id を指定します。id を省略すると新規作成されます。\n", "type": "object", "properties": { "id": { "description": "既存エンドポイントのIDです。更新時に温存対象を指定する場合のみ設定します。", "type": "integer", "format": "int64", "example": 1 }, "name": { "type": "string", "example": "list_users" }, "path": { "type": "string", "example": "/users" }, "method": { "type": "string", "enum": [ "GET", "POST" ], "example": "GET" }, "request_body": { "type": "string", "nullable": true }, "jsonpath_root": { "type": "string", "example": "$.data" }, "success_codes": { "type": "string", "example": "200" }, "not_retryable_codes": { "type": "string", "example": "400,401,403,404" }, "request_timeout_sec": { "description": "レスポンス待機のタイムアウト秒(1〜1800)です。省略時は30です。", "type": "integer", "example": 30 }, "query_parameters": { "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "headers": { "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "path_parameters": { "type": "array", "items": { "title": "CustomConnectorEndpointPathParameter", "description": "エンドポイントのパスパラメータです。", "type": "object", "properties": { "name": { "description": "パスパラメータ名です。", "type": "string", "example": "user_id" }, "value": { "description": "値です。エンドポイントの path 内に含まれている必要があります。", "type": "string", "example": "user_id" } }, "required": [ "name", "value" ] } }, "request_body_parameters": { "description": "リクエストボディパラメータ一覧です。", "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "paginator": { "nullable": true, "allOf": [ { "title": "CustomConnectorEndpointPaginator", "description": "エンドポイントのページネーション設定です。", "type": "object", "properties": { "inject_into": { "description": "ページングパラメータの注入先です。", "type": "string", "enum": [ "query", "request_body" ], "default": "query", "example": "query" }, "pagination_strategy": { "description": "ページネーション戦略です。type により保持する属性が異なります。\n", "oneOf": [ { "type": "object", "title": "PageIncrementStrategy", "properties": { "type": { "type": "string", "enum": [ "page_increment" ] }, "page_size": { "type": "integer", "nullable": true }, "last_page_size": { "description": "最後のページのサイズです。数値のほか JSONPath 式(例 `$.meta.last_page_size`)を指定できます。", "type": "string", "nullable": true }, "start_from_page": { "type": "integer", "nullable": true }, "stop_on_page": { "type": "integer", "nullable": true }, "total_pages": { "description": "総ページ数です。数値のほか JSONPath 式(例 `$.meta.total_pages`)を指定できます。", "type": "string", "nullable": true }, "max_request_count": { "type": "integer", "nullable": true } }, "required": [ "type" ] }, { "type": "object", "title": "OffsetIncrementStrategy", "properties": { "type": { "type": "string", "enum": [ "offset_increment" ] }, "page_size": { "type": "integer", "nullable": true }, "last_page_size": { "description": "最後のページのサイズです。数値のほか JSONPath 式(例 `$.meta.last_page_size`)を指定できます。", "type": "string", "nullable": true }, "start_from_offset": { "type": "integer", "nullable": true }, "stop_on_offset": { "type": "integer", "nullable": true }, "total_records": { "description": "総レコード数です。数値のほか JSONPath 式(例 `$.meta.total_records`)を指定できます。", "type": "string", "nullable": true }, "max_request_count": { "type": "integer", "nullable": true } }, "required": [ "type" ] }, { "type": "object", "title": "CursorBasedStrategy", "properties": { "type": { "type": "string", "enum": [ "cursor_based" ] }, "page_size": { "type": "integer", "nullable": true }, "cursor_value": { "type": "string", "nullable": true } }, "required": [ "type" ] } ] }, "page_size_option": { "description": "ページサイズを渡すフィールドの設定です。", "type": "object", "nullable": true, "properties": { "field_name": { "type": "string", "example": "per_page" } } }, "page_token_option": { "description": "ページトークン(ページ番号/オフセット/カーソル)を渡すフィールドの設定です。", "type": "object", "nullable": true, "properties": { "field_name": { "type": "string", "example": "page" } } } }, "required": [ "pagination_strategy" ] } ] } }, "required": [ "name", "path", "method", "jsonpath_root", "success_codes", "not_retryable_codes" ] } } }, "required": [ "name", "url", "auth_type" ] } } } }, "responses": { "200": { "description": "更新したカスタムコネクタ定義を返します。", "content": { "application/json": { "schema": { "title": "CustomConnector", "description": "カスタムコネクタ定義(詳細)です。", "type": "object", "properties": { "id": { "description": "カスタムコネクタIDです。", "type": "integer", "format": "int64", "example": 1 }, "name": { "type": "string", "example": "My API Connector" }, "description": { "type": "string", "example": "desc", "nullable": true }, "url": { "description": "ベースURLです。", "type": "string", "example": "https://api.example.com" }, "auth_type": { "description": "認証方式です。", "type": "string", "enum": [ "api_key", "oauth2" ], "example": "api_key" }, "auth_header_name": { "description": "認証ヘッダー名です。", "type": "string", "example": "Authorization" }, "auth_header_scheme": { "description": "認証ヘッダーのスキームです。", "type": "string", "example": "Bearer", "nullable": true }, "transfer_type": { "description": "転送方向です。転送元は input です。", "type": "string", "enum": [ "input", "output" ], "example": "input" }, "grant_type": { "description": "OAuth2 のグラントタイプです。auth_type が oauth2 の場合のみ返されます。", "type": "string", "nullable": true }, "auth_uri": { "description": "OAuth2 の認可エンドポイントURIです。", "type": "string", "nullable": true }, "access_token_uri": { "description": "OAuth2 のトークンエンドポイントURIです。", "type": "string", "nullable": true }, "endpoints": { "description": "エンドポイント一覧です(id 昇順)。", "type": "array", "items": { "title": "CustomConnectorEndpoint", "description": "転送元カスタムコネクタのエンドポイント定義です。", "type": "object", "properties": { "id": { "description": "エンドポイントIDです。更新時にこのIDを指定すると既存エンドポイントが温存されます。", "type": "integer", "format": "int64", "example": 1 }, "name": { "description": "エンドポイント名です。", "type": "string", "example": "list_users" }, "path": { "description": "パスです。", "type": "string", "example": "/users" }, "method": { "description": "HTTPメソッドです。", "type": "string", "enum": [ "GET", "POST" ], "example": "GET" }, "request_body": { "description": "リクエストボディです。", "type": "string", "nullable": true }, "jsonpath_root": { "description": "レスポンスからレコード配列を取り出すJSONPathです。", "type": "string", "example": "$.data" }, "success_codes": { "description": "成功とみなすHTTPステータスコード(カンマ区切り)です。", "type": "string", "example": "200" }, "not_retryable_codes": { "description": "リトライしないHTTPステータスコード(カンマ区切り)です。", "type": "string", "example": "400,401,403,404" }, "request_timeout_sec": { "description": "レスポンス待機のタイムアウト秒(1〜1800)です。", "type": "integer", "example": 30 }, "query_parameters": { "description": "クエリパラメータ一覧です(作成順)。", "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "headers": { "description": "ヘッダー一覧です(作成順)。", "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "path_parameters": { "description": "パスパラメータ一覧です(作成順)。", "type": "array", "items": { "title": "CustomConnectorEndpointPathParameter", "description": "エンドポイントのパスパラメータです。", "type": "object", "properties": { "name": { "description": "パスパラメータ名です。", "type": "string", "example": "user_id" }, "value": { "description": "値です。エンドポイントの path 内に含まれている必要があります。", "type": "string", "example": "user_id" } }, "required": [ "name", "value" ] } }, "request_body_parameters": { "description": "リクエストボディパラメータ一覧です(作成順)。", "type": "array", "items": { "title": "CustomConnectorEndpointFieldOption", "description": "エンドポイントのパラメータ・ヘッダーで共通のフィールド設定です。", "type": "object", "properties": { "name": { "description": "フィールド名です。", "type": "string", "example": "limit" }, "display_name": { "description": "画面表示名です。", "type": "string", "example": "Limit" }, "default_value": { "description": "デフォルト値です。is_editable が false の場合は必須です。", "type": "string", "example": "100", "nullable": true }, "is_editable": { "description": "転送設定側で編集可能かどうかです。", "type": "boolean", "example": true }, "is_required": { "description": "必須かどうかです。", "type": "boolean", "example": true } }, "required": [ "name", "display_name", "is_editable", "is_required" ] } }, "paginator": { "description": "ページネーション設定です。無い場合は null です。", "nullable": true, "allOf": [ { "title": "CustomConnectorEndpointPaginator", "description": "エンドポイントのページネーション設定です。", "type": "object", "properties": { "inject_into": { "description": "ページングパラメータの注入先です。", "type": "string", "enum": [ "query", "request_body" ], "default": "query", "example": "query" }, "pagination_strategy": { "description": "ページネーション戦略です。type により保持する属性が異なります。\n", "oneOf": [ { "type": "object", "title": "PageIncrementStrategy", "properties": { "type": { "type": "string", "enum": [ "page_increment" ] }, "page_size": { "type": "integer", "nullable": true }, "last_page_size": { "description": "最後のページのサイズです。数値のほか JSONPath 式(例 `$.meta.last_page_size`)を指定できます。", "type": "string", "nullable": true }, "start_from_page": { "type": "integer", "nullable": true }, "stop_on_page": { "type": "integer", "nullable": true }, "total_pages": { "description": "総ページ数です。数値のほか JSONPath 式(例 `$.meta.total_pages`)を指定できます。", "type": "string", "nullable": true }, "max_request_count": { "type": "integer", "nullable": true } }, "required": [ "type" ] }, { "type": "object", "title": "OffsetIncrementStrategy", "properties": { "type": { "type": "string", "enum": [ "offset_increment" ] }, "page_size": { "type": "integer", "nullable": true }, "last_page_size": { "description": "最後のページのサイズです。数値のほか JSONPath 式(例 `$.meta.last_page_size`)を指定できます。", "type": "string", "nullable": true }, "start_from_offset": { "type": "integer", "nullable": true }, "stop_on_offset": { "type": "integer", "nullable": true }, "total_records": { "description": "総レコード数です。数値のほか JSONPath 式(例 `$.meta.total_records`)を指定できます。", "type": "string", "nullable": true }, "max_request_count": { "type": "integer", "nullable": true } }, "required": [ "type" ] }, { "type": "object", "title": "CursorBasedStrategy", "properties": { "type": { "type": "string", "enum": [ "cursor_based" ] }, "page_size": { "type": "integer", "nullable": true }, "cursor_value": { "type": "string", "nullable": true } }, "required": [ "type" ] } ] }, "page_size_option": { "description": "ページサイズを渡すフィールドの設定です。", "type": "object", "nullable": true, "properties": { "field_name": { "type": "string", "example": "per_page" } } }, "page_token_option": { "description": "ページトークン(ページ番号/オフセット/カーソル)を渡すフィールドの設定です。", "type": "object", "nullable": true, "properties": { "field_name": { "type": "string", "example": "page" } } } }, "required": [ "pagination_strategy" ] } ] } }, "required": [ "id", "name", "path", "method", "jsonpath_root", "success_codes", "not_retryable_codes", "request_timeout_sec" ] } }, "created_at": { "description": "作成日時です。タイムゾーンはJST 日本時間(GMT+9)です。", "type": "string", "example": "2023-08-22T18:00:00+00:00" }, "updated_at": { "description": "更新日時です。タイムゾーンはJST 日本時間(GMT+9)です。", "type": "string", "example": "2023-08-22T18:00:00+00:00" } }, "required": [ "id", "name", "url", "auth_type", "transfer_type", "endpoints", "created_at", "updated_at" ] } } } }, "400": { "description": "Bad request.
\n不正なリクエストです。\n" }, "401": { "description": "Not authenticated.
\n認証エラーです。API KEYをご確認ください。\n" }, "404": { "description": "Not found.
\n指定したカスタムコネクタが存在しないか、転送元ではありません。\n" }, "409": { "description": "Conflict.
\n利用中のエンドポイントの削除や、一括リビジョン更新ジョブの二重実行など、リソースの状態と競合するリクエストです。\n" } } } } }, "components": { "securitySchemes": { "ApiKeyAuth": { "type": "apiKey", "in": "header", "name": "Authorization", "description": "認証キーとなるAPI KEYをAuthorization: Token {{API KEY}}の形式でヘッダーにセットします。
\nAPI KEYがabc123の場合は、Authorization: Token abc123とします。
\nAPI KEYの作成方法は、TROCCO API KEYの作成を参照ください。\n" } } } } ````