PJT AIPJT AI/API REFERENCE
v1https://api.pjt.ai/api/external/v1
はじめにMCP
概要認証エラーコード
Workspaces
  • GET/workspaces
  • GET/workspaces/{workspaceId}
Projects
  • GET/workspaces/{workspaceId}/projects
  • POST/projects
  • GET/projects/{projectId}
  • PUT/projects/{projectId}
  • DELETE/projects/{projectId}
  • GET/projects/{projectId}/timeline
  • GET/projects/{projectId}/activities
  • GET/projects/{projectId}/files
Tasks
  • GET/projects/{projectId}/tasks
  • POST/tasks
  • GET/tasks/{taskId}
  • PUT/tasks/{taskId}
  • DELETE/tasks/{taskId}
  • GET/tasks/assigned
Documents
  • GET/projects/{projectId}/documents
  • GET/documents/{documentId}
  • POST/documents
  • PUT/documents/{documentId}
  • DELETE/documents/{documentId}
OVERVIEW

PJT AI REST API

PJT AIのデータを外部システムと連携するための標準REST APIです。すべてのリクエスト・レスポンスはJSONで、Base URLは https://api.pjt.ai/api/external/v1 です。

基本事項
  • 認証 — X-API-Key ヘッダー(アカウントAPIキー、pjt_ プレフィックス)
  • キースコープ — read(読み取り専用、デフォルト)/ write。POST·PUT·DELETE には write スコープのキーが必要 — ない場合は 403 SCOPE_FORBIDDEN
  • リクエスト制限 — 60 req/分 + 月10,000回 / キー(Enterpriseは応相談)
  • レスポンスコード — 2xx成功、4xxクライアントエラー、5xxサーバーエラー
  • 日付 — すべてのタイムスタンプはISO 8601(UTC)
AUTH

認証

すべてのリクエストには X-API-Key: <API_KEY> ヘッダーが必要です。キーの発行はアカウント設定 > APIキーから(発行時に一度だけ表示)。

⚠
キーの保管
APIキーはサーバー側でのみ使用してください。クライアント(ブラウザ・モバイルアプリ)に露出した場合は、直ちにキーを失効・再発行してください。
Workspaces
GET/workspaces

ワークスペース一覧

APIキーのアカウントがアクセスできるワークスペース一覧を返します。

Response codes
200OK401Unauthorized429Rate Limited
GET/workspaces/{workspaceId}

ワークスペース取得

ワークスペースを1件取得します。

Path parameters
名前型説明
workspaceIdREQUIREDintegerワークスペースID
Response codes
200OK401Unauthorized404Not Found
Projects
GET/workspaces/{workspaceId}/projects

プロジェクト一覧

ワークスペースのアクティブなプロジェクト一覧を返します(キャンセル・アーカイブ除く)。

Path parameters
名前型説明
workspaceIdREQUIREDintegerワークスペースID
Response codes
200OK401Unauthorized403Forbidden
POST/projects

プロジェクト作成(冪等)

プロジェクトを作成します。externalRef を指定すると冪等 — 同じ (workspaceId, externalRef) で再リクエストすると新規作成せず既存プロジェクトを200で返します(新規作成時は201)。

Body parameters
名前型説明
workspaceIdREQUIREDintegerワークスペースID
nameREQUIREDstringプロジェクト名
externalRefstring冪等キー — 同じ値で再リクエストすると新規作成せず既存プロジェクトを200で返します
codestringプロジェクトコード(タスクキーのprefix)。省略時は名前から自動生成
descriptionstring説明
clientIdsarrayクライアントIDの配列
managerIdinteger担当マネージャーのアカウントID
startDatedate開始日 — ISO 8601 (YYYY-MM-DD)
endDatedate終了日 — ISO 8601 (YYYY-MM-DD)
budgetinteger予算
Response codes
201Created200OK400Bad Request401Unauthorized
GET/projects/{projectId}

プロジェクト詳細 / 進捗

ステータス・進捗率(%)・予定/実績日程・最終更新時刻を含むプロジェクト詳細を返します。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Response codes
200OK404Not Found
PUT/projects/{projectId}

プロジェクト更新

送信したフィールドのみ更新します(部分更新)。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Body parameters
名前型説明
namestringプロジェクト名
statusenumステータス — PLANNING·ESTIMATING·WAITING·IN_PROGRESS·ON_HOLD·COMPLETED·CANCELLED
progressRateinteger進捗率(%) 0〜100
startDatedate開始日 — ISO 8601 (YYYY-MM-DD)
endDatedate終了日 — ISO 8601 (YYYY-MM-DD)
Response codes
200OK400Bad Request404Not Found
DELETE/projects/{projectId}

プロジェクト削除

プロジェクトを削除します。成功時は 204 No Content(本文なし)。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Response codes
204No Content403Forbidden404Not Found
GET/projects/{projectId}/timeline

タイムライン(マイルストーン)

プロジェクトのマイルストーン一覧 — 名前・ステータス(PLANNED/IN_PROGRESS/COMPLETED)・期限・完了日・進捗率。sortOrder 順に返します。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Response codes
200OK403Forbidden404Not Found
GET/projects/{projectId}/activities

アクティビティ

プロジェクトのタスク変更イベントを新しい順に返します — 種類・メッセージ・実行者・時刻。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Query parameters
名前型説明
pageintegerページ番号(0始まり、デフォルト0)
sizeintegerページサイズ(デフォルト50、最大200)
Response codes
200OK403Forbidden404Not Found
GET/projects/{projectId}/files

ファイル一覧

プロジェクト内のタスク・コメント添付ファイルを統合し新しい順に返します。fileUrl は期限なしの静的URLです。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Query parameters
名前型説明
limitinteger最大件数(デフォルト100、最大500)
Response codes
200OK403Forbidden404Not Found
Tasks
GET/projects/{projectId}/tasks

タスク一覧

プロジェクトのタスク一覧を返します。ページネーションが必要な場合は /tasks/paged を使用してください。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Query parameters
名前型説明
sortBystringソート基準(デフォルト createdAt)
Response codes
200OK403Forbidden404Not Found
POST/tasks

タスク作成

タスクを作成します。

Body parameters
名前型説明
projectIdREQUIREDintegerプロジェクトID(数値)
titleREQUIREDstringタイトル
descriptionstring説明
assigneeIdinteger担当者のアカウントID
statusenumステータス — PENDING·TODO·IN_PROGRESS·IN_REVIEW·BLOCKED·COMPLETED·CANCELLED
priorityenum優先度 — URGENT·HIGH·MEDIUM·LOW
dueDatedate期限 — ISO 8601
milestoneIdinteger紐付けるマイルストーンID
Response codes
201Created400Bad Request401Unauthorized
GET/tasks/{taskId}

タスク取得

タスクを1件取得します。

Path parameters
名前型説明
taskIdREQUIREDintegerタスクID
Response codes
200OK404Not Found
PUT/tasks/{taskId}

タスク更新

送信したフィールドのみ更新します。

Path parameters
名前型説明
taskIdREQUIREDintegerタスクID
Body parameters
名前型説明
titlestringタイトル
statusenumステータス — PENDING·TODO·IN_PROGRESS·IN_REVIEW·BLOCKED·COMPLETED·CANCELLED
priorityenum優先度 — URGENT·HIGH·MEDIUM·LOW
dueDatedate期限 — ISO 8601
Response codes
200OK400Bad Request404Not Found
DELETE/tasks/{taskId}

タスク削除

タスクを削除します。成功時は 204 No Content。

Path parameters
名前型説明
taskIdREQUIREDintegerタスクID
Response codes
204No Content403Forbidden404Not Found
GET/tasks/assigned

自分に割り当てられたタスク

APIキーのアカウントに割り当てられたタスク一覧を返します。

Response codes
200OK401Unauthorized
Documents
GET/projects/{projectId}/documents

ドキュメント一覧

プロジェクトのドキュメント一覧を返します。ページネーションが必要な場合は /documents/paged を使用してください。

Path parameters
名前型説明
projectIdREQUIREDstringプロジェクトID — 数値IDまたは p_ で始まる publicId
Response codes
200OK403Forbidden404Not Found
GET/documents/{documentId}

ドキュメント取得

ドキュメントを1件(本文含む)取得します。

Path parameters
名前型説明
documentIdREQUIREDintegerドキュメントID
Response codes
200OK404Not Found
POST/documents

ドキュメント作成

ドキュメントを作成します。

Body parameters
名前型説明
workspaceIdREQUIREDintegerワークスペースID
titleREQUIREDstringタイトル
documentTypeREQUIREDenumドキュメントタイプ(例: REQUIREMENT, MEETING_NOTE)
projectIdintegerプロジェクトID(数値)
contentstringドキュメント本文
visibilityenum公開範囲 — PUBLIC·TEAM·PRIVATE
Response codes
201Created400Bad Request401Unauthorized
PUT/documents/{documentId}

ドキュメント更新

送信したフィールドのみ更新します。

Path parameters
名前型説明
documentIdREQUIREDintegerドキュメントID
Body parameters
名前型説明
titlestringタイトル
contentstringドキュメント本文
visibilityenum公開範囲 — PUBLIC·TEAM·PRIVATE
Response codes
200OK400Bad Request404Not Found
DELETE/documents/{documentId}

ドキュメント削除

ドキュメントを削除します。成功時は 204 No Content。

Path parameters
名前型説明
documentIdREQUIREDintegerドキュメントID
Response codes
204No Content403Forbidden404Not Found
ERRORS

エラーコード

すべてのエラーレスポンスには error.code と error.message が含まれます。

コード名前説明対応
400Bad Requestリクエストボディが無効です。リクエストbodyを検証
401UnauthorizedAPIキーが誤っているか欠落しています。APIキーを再確認
403Forbiddenこのリソースへのアクセス権限がありません。 read 専用キーで書き込みリクエストを行うと SCOPE_FORBIDDEN が返ります。ロール/スコープを確認
404Not Found要求されたリソースが見つかりません。IDを再確認
429Rate Limitedレート制限を超過しました。Retry-Afterヘッダーを参照し、バックオフを適用
500Server Errorサーバー処理中にエラーが発生しました。5分後に再試行、status.pjt.aiを確認
BASE URL
https://api.pjt.ai/api/external/v1
VERSION
v1 · released 2026-07