TROCCO APIリファレンス

Next

概要

TROCCOは、TROCCO APIを提供しています。
TROCCO APIを利用することで、各種ジョブの実行、各種設定の作成・編集・削除、設定情報の確認を行うことができます。

Terraform Provider for TROCCO

TROCCO APIは、Terraform Provider for TROCCO経由でも利用可能です。
Terraform Provider for TROCCOを利用することで、TROCCOの各種リソースをコードで管理できます。
接続情報・転送設定・データマート定義・ワークフロー定義といったジョブに関する設定や、チームやリソースグループといった権限に関する設定をコードで管理することで、バージョン管理なども容易となります。

詳しくは、Terraform Registry Document - trocco Providerを参照ください。

制約

APIコール制限

TROCCO APIは以下のコール数制限を設けています。

  • Freeプラン:最大100コール/10分
  • Advancedプラン以上:最大3,500コール/10分

コール数制限を超えたリクエストがあった際には 429( too many requests) がステータスコードとして返却されます。
コール数制限を考慮しながらAPIクライアントを実装する際にはAPIコール数制限に関するレスポンスヘッダーも参照ください。

プラン上の制約

TROCCO APIは、FreeプランまたはAdvancedプラン以上の契約アカウントでのみ、ご利用いただけます。

TROCCO API エンドポイント一覧

機能 処理内容 メソッド エンドポイント
転送ジョブ 転送ジョブ実行 POST /api/jobs
転送ジョブ 転送ジョブ実行結果取得 GET /api/jobs/{job_id}
転送ジョブ 転送ジョブ一覧取得 GET /api/job_definitions/{job_definition_id}/jobs
転送設定 転送設定一覧取得 GET /api/job_definitions
転送設定 転送設定作成 POST /api/job_definitions
転送設定 転送設定詳細取得 GET /api/job_definitions/{job_definition_id}
転送設定 転送設定更新 PATCH /api/job_definitions/{job_definition_id}
転送設定 転送設定削除 DELETE /api/job_definitions/{job_definition_id}
データマートジョブ データマートジョブ実行 POST /api/datamart_jobs
データマート定義 データマート定義一覧取得 GET /api/datamart_definitions
データマート定義 データマート定義作成 POST /api/datamart_definitions
データマート定義 データマート定義詳細取得 GET /api/datamart_definitions/{datamart_definition_id}
データマート定義 データマート定義更新 PATCH /api/datamart_definitions/{datamart_definition_id}
データマート定義 データマート定義削除 DELETE /api/datamart_definitions/{datamart_definition_id}
ワークフロージョブ ワークフロージョブ実行 POST /api/pipeline_jobs
ワークフロージョブ ワークフロージョブ実行結果取得 GET /api/pipeline_jobs/{pipeline_job_id}
ワークフロー定義 ワークフロー一覧取得 GET /api/pipeline_definitions
ワークフロー定義 ワークフロー作成 POST /api/pipeline_definitions
ワークフロー定義 ワークフロー詳細取得 GET /api/pipeline_definitions/{pipeline_definition_id}
ワークフロー定義 ワークフロー更新 PATCH /api/pipeline_definitions/{pipeline_definition_id}
ワークフロー定義 ワークフロー削除 DELETE /api/pipeline_definitions/{pipeline_definition_id}
接続情報 接続情報一覧取得 GET /api/connections/{connection_type}
接続情報 接続情報作成 POST /api/connections/{connection_type}
接続情報 接続情報詳細取得 GET /api/connections/{connection_type}/{connection_id}
接続情報 接続情報更新 PATCH /api/connections/{connection_type}/{connection_id}
接続情報 接続情報削除 DELETE /api/connections/{connection_type}/{connection_id}
ラベル ラベル一覧取得 GET /api/labels
ラベル ラベル作成 POST /api/labels
ラベル ラベル詳細取得 GET /api/labels/{label_id}
ラベル ラベル更新 PATCH /api/labels/{label_id}
ラベル ラベル削除 DELETE /api/labels/{label_id}
ユーザー ユーザー一覧取得 GET /api/users
ユーザー ユーザー作成 POST /api/users
ユーザー ユーザー詳細取得 GET /api/users/{user_id}
ユーザー ユーザー更新 PATCH /api/users/{user_id}
ユーザー ユーザー削除 DELETE /api/users/{user_id}
チーム チーム一覧取得 GET /api/teams
チーム チーム作成 POST /api/teams
チーム チーム詳細取得 GET /api/teams/{team_id}
チーム チーム更新 PATCH /api/teams/{team_id}
チーム チーム削除 DELETE /api/teams/{team_id}
リソースグループ リソースグループ一覧取得 GET /api/resource_groups
リソースグループ リソースグループ作成 POST /api/resource_groups
リソースグループ リソースグループ詳細取得 GET /api/resource_groups/{resource_group_id}
リソースグループ リソースグループ更新 PATCH /api/resource_groups/{resource_group_id}
リソースグループ リソースグループ削除 DELETE /api/resource_groups/{resource_group_id}

TROCCO API KEYの作成

TROCCO APIを利用するには、事前にTROCCO上でTROCCO API KEYを作成する必要があります。

  1. サイドメニューの外部連携>TROCCO API KEYをクリックします。TROCCO API KEY一覧画面が表示されます。
    image.png

  2. 新規作成>保存をクリックします。TROCCO API KEYが作成されます。
    この際、画面上に表示される値をメモしてください。API実行時に利用します。

TROCCO API KEYの管理主体

TROCCO API KEYはアカウントではなく、ユーザーごとに管理されます。
したがって、自身が作成したTROCCO API KEYは、基本的に(*)他ユーザーには閲覧されることはありません。
なお、ユーザーが削除された場合は、そのユーザーが作成したTROCCO API KEYも削除されます。

* 例外的に、アカウント特権管理者のみ、アカウント内に作成されたすべてのTROCCO API KEYを閲覧・編集・削除できます。

TROCCO API KEYのプレフィックス

2025/6/18以降に発行されたTROCCO API KEYにはセキュリティ強化のためプレフィックス(tra_)が付与されます。
プレフィックスが付与されていないTROCCO API KEYも引き続き問題なくご利用いただけます。

API実行時に指定する各種パラメーターの確認方法

各種設定・ジョブのID

TROCCO APIの実行対象となるTROCCOの各種設定やジョブのID(例:job_definition_idjob_id)は、それぞれの詳細画面のURL末尾より確認できます。
以下は転送設定ID(job_definition_id)および転送ジョブID(job_id)の確認方法の例です。

転送設定ID(job_definition_id

image.png

転送ジョブID(job_id

image.png

タイムゾーン(time_zone

time_zoneで指定可能な値は、下記「指定できるタイムゾーン一覧」を参照ください。
たとえば、太平洋標準時で2023年8月1日12時をcontext_timeとして展開したい場合は、time_zoneAmerica/Los_Angelescontext_time2023-08-01 12:00:00を指定ください。
なお、サマータイムを採用しているタイムゾーンでは夏季に標準時間とずれが発生します。ご注意ください。

指定できるタイムゾーン一覧
  • Etc/GMT+12
  • Pacific/Pago_Pago
  • Pacific/Midway
  • Pacific/Honolulu
  • America/Juneau
  • America/Los_Angeles
  • America/Tijuana
  • America/Phoenix
  • America/Mazatlan
  • America/Denver
  • America/Guatemala
  • America/Chicago
  • America/Chihuahua
  • America/Mexico_City
  • America/Monterrey
  • America/Regina
  • America/Bogota
  • America/New_York
  • America/Indiana/Indianapolis
  • America/Lima
  • America/Halifax
  • America/Caracas
  • America/Guyana
  • America/La_Paz
  • America/Puerto_Rico
  • America/Santiago
  • America/St_Johns
  • America/Sao_Paulo
  • America/Argentina/Buenos_Aires
  • America/Godthab
  • America/Montevideo
  • Atlantic/South_Georgia
  • Atlantic/Azores
  • Atlantic/Cape_Verde
  • Europe/London
  • Europe/Lisbon
  • Africa/Monrovia
  • Etc/UTC
  • Europe/Amsterdam
  • Europe/Belgrade
  • Europe/Berlin
  • Europe/Zurich
  • Europe/Bratislava
  • Europe/Brussels
  • Europe/Budapest
  • Africa/Casablanca
  • Europe/Copenhagen
  • Europe/Dublin
  • Europe/Ljubljana
  • Europe/Madrid
  • Europe/Paris
  • Europe/Prague
  • Europe/Rome
  • Europe/Sarajevo
  • Europe/Skopje
  • Europe/Stockholm
  • Europe/Vienna
  • Europe/Warsaw
  • Africa/Algiers
  • Europe/Zagreb
  • Europe/Athens
  • Europe/Bucharest
  • Africa/Cairo
  • Africa/Harare
  • Europe/Helsinki
  • Asia/Jerusalem
  • Europe/Kaliningrad
  • Europe/Kiev
  • Africa/Johannesburg
  • Europe/Riga
  • Europe/Sofia
  • Europe/Tallinn
  • Europe/Vilnius
  • Asia/Baghdad
  • Europe/Istanbul
  • Asia/Kuwait
  • Europe/Minsk
  • Europe/Moscow
  • Africa/Nairobi
  • Asia/Riyadh
  • Europe/Volgograd
  • Asia/Tehran
  • Asia/Muscat
  • Asia/Baku
  • Europe/Samara
  • Asia/Tbilisi
  • Asia/Yerevan
  • Asia/Kabul
  • Asia/Yekaterinburg
  • Asia/Karachi
  • Asia/Tashkent
  • Asia/Kolkata
  • Asia/Colombo
  • Asia/Kathmandu
  • Asia/Almaty
  • Asia/Dhaka
  • Asia/Urumqi
  • Asia/Rangoon
  • Asia/Bangkok
  • Asia/Jakarta
  • Asia/Krasnoyarsk
  • Asia/Novosibirsk
  • Asia/Shanghai
  • Asia/Chongqing
  • Asia/Hong_Kong
  • Asia/Irkutsk
  • Asia/Kuala_Lumpur
  • Australia/Perth
  • Asia/Singapore
  • Asia/Taipei
  • Asia/Ulaanbaatar
  • Asia/Tokyo※デフォルト値
  • Asia/Seoul
  • Asia/Yakutsk
  • Australia/Adelaide
  • Australia/Darwin
  • Australia/Brisbane
  • Australia/Melbourne
  • Pacific/Guam
  • Australia/Hobart
  • Pacific/Port_Moresby
  • Australia/Sydney
  • Asia/Vladivostok
  • Asia/Magadan
  • Pacific/Noumea
  • Pacific/Guadalcanal
  • Asia/Srednekolymsk
  • Pacific/Auckland
  • Pacific/Fiji
  • Asia/Kamchatka
  • Pacific/Majuro
  • Pacific/Chatham
  • Pacific/Tongatapu
  • Pacific/Apia
  • Pacific/Fakaofo

カスタム変数を複数指定する方法

カスタム変数は、array型のパラメーター(custom_variables)に、変数名(name)と値(value)を指定します。
特定の変数名に対する値は、変数名の直後に指定する必要があります。
したがって、カスタム変数を複数指定する場合は、対となる変数名と値を続けて指定し、それを繰り返します。

下記のサンプルは、カスタム変数名name1の値にvalue1を、カスタム変数名name2の値にvalue2を指定しています。

curl 'https://trocco.io/api/jobs?job_definition_id={JOB_DEFINITION_ID}' \
-X POST \
-H 'Authorization:Token {API KEY}' \
-d 'custom_variables[][name]=$name1$' \ 
-d 'custom_variables[][value]=value1' \
-d 'custom_variables[][name]=$name2$' \
-d 'custom_variables[][value]=value2'

APIコール制限について

APIコール数制限に関するレスポンスヘッダー

TROCCOのAPIからリクエストを送った際、以下のレスポンスヘッダーが返却されます。
こちらの内容を参考にAPIコール制限を避けてAPIコールを実行ください。

ヘッダー 説明 サンプル値
X-Rate-Limit-Limit 毎時間枠(10分間)内でAPIコールできる回数の上限
  • Freeプラン:100(固定値)
  • Advancedプラン以上:3,500(固定値)
  • X-Rate-Limit-Remaining 現在の時間枠においてAPIコールできる残り回数 3,450
    X-Rate-Limit-Reset APIコール数制限の時間枠がリセットされる時間(UNIX時間、UTC+9換算) 1739372400