LegalOn API は RESTful API です。利用開始までの流れは次の3ステップです。
- APIクレデンシャルを発行(管理画面)
- アクセストークンを取得(OAuth 2.0 Client Credentials)
- APIを呼び出す(
{api_base_url}/rest/v1に対してリクエスト)

重要:
- トークン取得のエンドポイントは契約リージョンにより異なります。
- API呼び出しのベースURLは、トークン取得レスポンスに含まれる
api_base_urlを使って組み立てます(OpenAPI の Servers に従い…/rest/v1を付与)。
API クレデンシャルは LegalOn の管理画面から発行できます。
| 項目 | 説明 | 入力例/選択肢 |
|---|---|---|
| 管理用の表示名 | API クレデンシャルを管理するための名称です。用途が分かる名前を付けてください。 | prod-batch-integration / stg-test-client |
| 有効期限 | API クレデンシャルの有効期限です。運用方針に合わせて選択してください。 | 7日 / 30日 / 60日 / 日単位指定 / 無期限 |
運用のヒント
本番用のクレデンシャルは「用途+環境」が分かる表示名にすると、棚卸しや失効時の影響範囲確認が容易になります。
発行完了後、API クレデンシャルが画面に表示されます。
API クレデンシャルは発行時にのみ表示され、再表示できません。
表示された内容は必ず安全な場所に保管してください。
アクセストークンは OAuth 2.0 の Client Credentials Flow を用いて取得します。
curl -H "Authorization: Basic ${APIクレデンシャル}" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" \
-X POST ${api_base_url}/oauth/token${api_base_url}はリージョンで異なります。${APIクレデンシャル}は管理画面で発行した値を使用します。
アクセストークンのリクエストに成功すると、以下のレスポンスが返ります。
- 以降の API 呼び出しでは、
access_tokenをAuthorization: Bearer <access_token>として送信します。 - API のベースURLには、レスポンスに含まれる
api_base_urlを使用します(以降は{api_base_url}/rest/v1を基点にします)。
有効期限について
アクセストークンの有効期限は発行後 1200秒(20分) です。
この値は将来的に変更される可能性があります。実装ではレスポンスボディのexpires_inの値を参照してください。
{
"access_token": "<ACCESS_TOKEN>",
"expires_in": 1200,
"token_type": "Bearer",
"api_base_url": "https://${api_base_url}"
}| フィールド | 型 | 説明 |
|---|---|---|
access_token | string | API 呼び出しに使用するアクセストークン |
expires_in | number | トークンの有効期限(秒) |
token_type | string | トークン種別(通常 Bearer) |
api_base_url | string | API のベースURL(以降の呼び出しで使用) |
- アクセストークンは短命です。
401 Unauthorizedが返った場合は、まずトークンの再取得を行ってください。 - 権限(
permissions)は API クレデンシャルに紐づくユーザーの権限に基づいて決まります(詳細は FAQ を参照)。 - レスポンスに
X-Request-Idが含まれる場合があります。問い合わせ時やログ調査のため、アプリケーションログに残すことを推奨します。
API のベースURLは {api_base_url}/rest/v1 です(api_base_url はトークン取得レスポンスの値を使用)。
curl -X GET \
-H "Authorization: Bearer ${アクセストークン}" \
-H "Content-Type: application/json" \
${api_base_url}/rest/v1/users?page_size=50API 呼び出しの結果に応じて、以下のレスポンスが返ります。
- 対象 API に定義された ステータスコード と レスポンスボディ が返ります。
実装上の注意(Forward compatibility)
レスポンスボディは将来的にフィールドが追加される可能性があります。
**仕様に記載されていない JSON フィールドを受信しても処理を継続できるように実装してください。。
- 原因に応じた ステータスコード と エラー情報 が返されます。
例(代表的なエラー要因)
- 無効なアクセストークン(例:
401 Unauthorized) - パラメータ不備(例:
400 Bad Request) - 権限不足(例:
403 Forbidden) - Rate Limit 超過(例:
429 Too Many Requests)
以下のヘッダーは API レスポンスに含まれる場合があります。
| ヘッダー | 説明 |
|---|---|
X-RateLimit-Limit | 設定されているリクエスト上限数 |
X-RateLimit-Remaining | 残りのリクエスト可能数 |
X-RateLimit-Reset | リクエスト制限がリセットされるまでの秒数 |
X-Request-Id | 各リクエストを一意に識別する ID(問い合わせ時に使用) |
運用のヒント
429 Too Many Requestsが返った場合は、X-RateLimit-Resetを目安に待機して再試行してください。
問い合わせの際はX-Request-Idを添えてください。
API の呼び出し回数には制限があります。上限を超えると、HTTP ステータスコード 429 Too Many Requests が返されます。
原則として、すべてのリクエストが Rate Limit のカウント対象です。
以下のケースではカウント対象外となります。
- 公開 API 全体のサービスが停止している場合
- API 用アクセストークンが無効な場合
- API 用アクセストークンの有効期限が切れている場合
- すでに Rate Limit 超過エラー(
429)を返している場合
注意(重要)
リクエストが失敗した場合でも、権限不足・パラメータ不備・リソース状態など、
リクエスト条件を満たしていないことが原因で返るエラーは 有効な呼び出しとしてカウントされます。
アクセストークンの有効期限が切れた場合はどうすればよいですか?
アクセストークンが失効した場合は、APIクレデンシャルを用いて再度トークン取得リクエストを送信し、新しいアクセストークンを取得してください。
- リフレッシュトークンは提供していません。
401 Unauthorizedが返った場合は、まずトークンの再取得をお試しください。
アクセストークンに含まれる permissions はどのように決まりますか?permissions は、APIクレデンシャルに紐づくユーザーの権限に基づいて決まります。
- 将来的には、APIクレデンシャル発行時に選択した権限のみをトークンに反映できるようにする予定です。
短時間で多数のリクエストを送信するとどうなりますか?
短時間に大量のリクエストを送ると、**Rate Limit(利用回数制限)によりリクエストが拒否(例:429 Too Many Requests)**される場合があります。
- レスポンスヘッダー(
X-RateLimit-*)を参照し、待機・再試行してください。