APIエンドポイント一覧
SURP MDM APIで利用可能なすべてのエンドポイントのリファレンスです。
📋 概要
ベースURL: https://mdm.surp.tech/api/v1
🔑 認証
すべてのエンドポイントで認証が必要です:
Authorization: Bearer YOUR_API_KEY
📚 マスター定義
マスター定義一覧の取得
GET /definitions
クエリパラメータ:
skip(整数): スキップする件数(デフォルト: 0)limit(整数): 取得する件数(デフォルト: 100)
必要なスコープ: read
レスポンス: 200 OK
特定のマスター定義の取得
GET /definitions/{master_type}
必要なスコープ: read
レスポンス: 200 OK
マスター定義の作成
POST /definitions
必要なスコープ: write
リクエストボディ:
{
"master_type": "department",
"master_type_label": "部署マスター",
"description": "組織の部署情報",
"schema": {
"fields": [...]
}
}
レスポンス: 201 Created
マスター定義の更新
PUT /definitions/{master_type}
必要なスコープ: write
レスポンス: 200 OK
マスター定義の削除
DELETE /definitions/{master_type}
必要なスコープ: delete
レスポンス: 200 OK
📊 マスターデータ
データ一覧の取得
GET /masters/{master_type}
クエリパラメータ:
skip(整数): スキップする件数limit(整数): 取得する件数search(文字列): 検索キーワード
必要なスコープ: read
レスポンス: 200 OK
特定データの取得
GET /masters/{master_type}/{id}
必要なスコープ: read
レスポンス: 200 OK
データの作成
POST /masters/{master_type}
必要なスコープ: write
リクエストボディ:
{
"data": {
"departmentCode": "D001",
"departmentName": "営業部"
}
}
レスポンス:
201 Created: データ作成成功202 Accepted: 承認リクエスト作成(承認が必要な場合)
データの更新
PUT /masters/{master_type}/{id}
必要なスコープ: write
レスポンス: 200 OK または 202 Accepted
データの削除
DELETE /masters/{master_type}/{id}
必要なスコープ: delete
レスポンス: 200 OK または 202 Accepted
データの一括削除
DELETE /masters/{master_type}/bulk
必要なスコープ: delete
リクエストボディ:
{
"ids": ["id1", "id2", "id3"]
}
レスポンス: 200 OK
📥📤 インポート・エクスポート
CSVエクスポート
GET /masters/{master_type}/export
必要なスコープ: read
レスポンス: 200 OK (CSV形式)
CSVインポート
POST /masters/{master_type}/import
必要なスコープ: write
リクエスト: multipart/form-data
file: CSVファイル
レスポンス: 200 OK
📜 変更履歴
変更履歴の取得
GET /masters/{master_type}/{id}/history
必要なスコープ: read
レスポンス: 200 OK
ロールバック
POST /masters/{master_type}/{id}/history/{history_id}/rollback
必要なスコープ: write
レスポンス: 200 OK
✅ 承認ワークフロー
承認リクエスト一覧の取得
GET /approvals
クエリパラメータ:
status:pending,approved,rejectedrequested_by:me(自分の申請のみ)
必要なスコープ: read
レスポンス: 200 OK
承認
POST /approvals/{id}/approve
必要なスコープ: write
リクエストボディ:
{
"comment": "承認します"
}
レスポンス: 200 OK
却下
POST /approvals/{id}/reject
必要なスコープ: write
リクエストボディ:
{
"comment": "却下理由"
}
レスポンス: 200 OK
📁 ファイル管理
ファイル一覧の取得
GET /files
必要なスコープ: read
レスポンス: 200 OK
ファイルのアップロード
POST /files/upload
必要なスコープ: write
リクエスト: multipart/form-data
file: ファイル
レスポンス: 200 OK
ファイルの削除
DELETE /files/{id}
必要なスコープ: delete
レスポンス: 200 OK
🔍 データカタログ
全マスターのカタログ取得
GET /catalog
必要なスコープ: read
レスポンス: 200 OK
特定マスターのカタログ取得
GET /catalog/{master_type}
必要なスコープ: read
レスポンス: 200 OK
📊 Excel統合API
Excel用データ取得(リレーション展開)
GET /excel/{master_type}
クエリパラメータ:
limit: 取得件数offset: オフセットflatten: リレーション展開(デフォルト: true)
必要なスコープ: read
レスポンス: 200 OK
Excel用データ取得(完全フラット化)
GET /excel/{master_type}/flat
必要なスコープ: read
レスポンス: 200 OK
🔗 OData API
ODataサービスドキュメント
GET /odata
必要なスコープ: read
レスポンス: 200 OK
ODataメタデータ
GET /odata/$metadata
必要なスコープ: read
レスポンス: 200 OK (XML形式)
ODataエンティティ取得
GET /odata/{master_type}
クエリパラメータ (OData標準):
$filter: フィルター$select: 列選択$orderby: ソート$top: 件数制限$skip: スキップ
必要なスコープ: read
レスポンス: 200 OK
🤖 AI機能
バリデーションルール生成
POST /ai/validation-rules/generate
必要なスコープ: read
リクエストボディ:
{
"description": "社員番号はE0000の形式",
"field_name": "employeeId",
"field_type": "string"
}
レスポンス: 200 OK
👥 ユーザー管理
ユーザー一覧の取得
GET /users
必要なスコープ: read
注意: Admin ロールのみアクセス可能
レスポンス: 200 OK
📈 監査ログ
監査ログの取得
GET /audit/logs
クエリパラメータ:
start_date: 開始日時end_date: 終了日時user_id: ユーザーIDaction: アクション
必要なスコープ: read
注意: Admin ロールのみアクセス可能
レスポンス: 200 OK
⚠️ エラーレスポンス
すべてのエラーは以下の形式で返されます:
{
"detail": "エラーメッセージ"
}
HTTPステータスコード
| ステータス | 説明 |
|---|---|
400 | リクエストが不正 |
401 | 認証エラー |
403 | 権限エラー |
404 | リソースが見つからない |
429 | レート制限超過 |
500 | サーバーエラー |
🔗 関連ガイド
- API入門ガイド - APIの基本
- APIサンプルコード - 実装例
- エラーメッセージ一覧 - エラーコードの説明
📞 サポート
APIエンドポイントに関する質問は、よくある質問をご覧いただくか、システム管理者にお問い合わせください。